google-apis-networkservices_v1 0.35.0 → 0.36.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/google/apis/networkservices_v1/classes.rb +499 -1
- data/lib/google/apis/networkservices_v1/gem_version.rb +2 -2
- data/lib/google/apis/networkservices_v1/representations.rb +186 -0
- data/lib/google/apis/networkservices_v1/service.rb +750 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23951107f3def4d3dbec8934e2b6b723290d816c610265e8d32a02ca06ad5e17
|
4
|
+
data.tar.gz: 7c1e5f43dcf8804ea30969d57b5f97bc9bd1947d761ff767f52b8c9f4ba33318
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e28ff6ecf829024c6ba6680e8f3176f6a0aabd2f4f24b9d26bb68859d3fd3696d0b3c54738ee73b03cb2770f732ded5ba797d253ed0ad04fd4249e24eab66ca
|
7
|
+
data.tar.gz: 5a22a857ea46adaedf659a7b94329d06625874eda4110b1a17d60c5471e6a4ae6208e6e83d315813ce5272adfbc2512b72e98eb68bff498fa5bb78d279bc3ddc
|
data/CHANGELOG.md
CHANGED
@@ -459,10 +459,150 @@ module Google
|
|
459
459
|
end
|
460
460
|
end
|
461
461
|
|
462
|
+
# A single extension chain wrapper that contains the match conditions and
|
463
|
+
# extensions to execute.
|
464
|
+
class ExtensionChain
|
465
|
+
include Google::Apis::Core::Hashable
|
466
|
+
|
467
|
+
# Required. A set of extensions to execute for the matching request. At least
|
468
|
+
# one extension is required. Up to 3 extensions can be defined for each
|
469
|
+
# extension chain for `LbTrafficExtension` resource. `LbRouteExtension` chains
|
470
|
+
# are limited to 1 extension per extension chain.
|
471
|
+
# Corresponds to the JSON property `extensions`
|
472
|
+
# @return [Array<Google::Apis::NetworkservicesV1::ExtensionChainExtension>]
|
473
|
+
attr_accessor :extensions
|
474
|
+
|
475
|
+
# Conditions under which this chain is invoked for a request.
|
476
|
+
# Corresponds to the JSON property `matchCondition`
|
477
|
+
# @return [Google::Apis::NetworkservicesV1::ExtensionChainMatchCondition]
|
478
|
+
attr_accessor :match_condition
|
479
|
+
|
480
|
+
# Required. The name for this extension chain. The name is logged as part of the
|
481
|
+
# HTTP request logs. The name must conform with RFC-1034, is restricted to lower-
|
482
|
+
# cased letters, numbers and hyphens, and can have a maximum length of 63
|
483
|
+
# characters. Additionally, the first character must be a letter and the last a
|
484
|
+
# letter or a number.
|
485
|
+
# Corresponds to the JSON property `name`
|
486
|
+
# @return [String]
|
487
|
+
attr_accessor :name
|
488
|
+
|
489
|
+
def initialize(**args)
|
490
|
+
update!(**args)
|
491
|
+
end
|
492
|
+
|
493
|
+
# Update properties of this object
|
494
|
+
def update!(**args)
|
495
|
+
@extensions = args[:extensions] if args.key?(:extensions)
|
496
|
+
@match_condition = args[:match_condition] if args.key?(:match_condition)
|
497
|
+
@name = args[:name] if args.key?(:name)
|
498
|
+
end
|
499
|
+
end
|
500
|
+
|
501
|
+
# A single extension in the chain to execute for the matching request.
|
502
|
+
class ExtensionChainExtension
|
503
|
+
include Google::Apis::Core::Hashable
|
504
|
+
|
505
|
+
# Optional. The `:authority` header in the gRPC request sent from Envoy to the
|
506
|
+
# extension service.
|
507
|
+
# Corresponds to the JSON property `authority`
|
508
|
+
# @return [String]
|
509
|
+
attr_accessor :authority
|
510
|
+
|
511
|
+
# Optional. Determines how the proxy behaves if the call to the extension fails
|
512
|
+
# or times out. When set to `TRUE`, request or response processing continues
|
513
|
+
# without error. Any subsequent extensions in the extension chain are also
|
514
|
+
# executed. When set to `FALSE`: * If response headers have not been delivered
|
515
|
+
# to the downstream client, a generic 500 error is returned to the client. The
|
516
|
+
# error response can be tailored by configuring a custom error response in the
|
517
|
+
# load balancer. * If response headers have been delivered, then the HTTP stream
|
518
|
+
# to the downstream client is reset. Default is `FALSE`.
|
519
|
+
# Corresponds to the JSON property `failOpen`
|
520
|
+
# @return [Boolean]
|
521
|
+
attr_accessor :fail_open
|
522
|
+
alias_method :fail_open?, :fail_open
|
523
|
+
|
524
|
+
# Optional. List of the HTTP headers to forward to the extension (from the
|
525
|
+
# client or backend). If omitted, all headers are sent. Each element is a string
|
526
|
+
# indicating the header name.
|
527
|
+
# Corresponds to the JSON property `forwardHeaders`
|
528
|
+
# @return [Array<String>]
|
529
|
+
attr_accessor :forward_headers
|
530
|
+
|
531
|
+
# Required. The name for this extension. The name is logged as part of the HTTP
|
532
|
+
# request logs. The name must conform with RFC-1034, is restricted to lower-
|
533
|
+
# cased letters, numbers and hyphens, and can have a maximum length of 63
|
534
|
+
# characters. Additionally, the first character must be a letter and the last a
|
535
|
+
# letter or a number.
|
536
|
+
# Corresponds to the JSON property `name`
|
537
|
+
# @return [String]
|
538
|
+
attr_accessor :name
|
539
|
+
|
540
|
+
# Required. The reference to the service that runs the extension. Currently only
|
541
|
+
# Callout extensions are supported here. To configure a Callout extension, `
|
542
|
+
# service` must be a fully-qualified reference to a [backend service](https://
|
543
|
+
# cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format:
|
544
|
+
# `https://www.googleapis.com/compute/v1/projects/`project`/regions/`region`/
|
545
|
+
# backendServices/`backendService`` or `https://www.googleapis.com/compute/v1/
|
546
|
+
# projects/`project`/global/backendServices/`backendService``.
|
547
|
+
# Corresponds to the JSON property `service`
|
548
|
+
# @return [String]
|
549
|
+
attr_accessor :service
|
550
|
+
|
551
|
+
# Optional. A set of events during request or response processing for which this
|
552
|
+
# extension is called. This field is required for the `LbTrafficExtension`
|
553
|
+
# resource. It's not relevant for the `LbRouteExtension` resource.
|
554
|
+
# Corresponds to the JSON property `supportedEvents`
|
555
|
+
# @return [Array<String>]
|
556
|
+
attr_accessor :supported_events
|
557
|
+
|
558
|
+
# Required. Specifies the timeout for each individual message on the stream. The
|
559
|
+
# timeout must be between 10-1000 milliseconds.
|
560
|
+
# Corresponds to the JSON property `timeout`
|
561
|
+
# @return [String]
|
562
|
+
attr_accessor :timeout
|
563
|
+
|
564
|
+
def initialize(**args)
|
565
|
+
update!(**args)
|
566
|
+
end
|
567
|
+
|
568
|
+
# Update properties of this object
|
569
|
+
def update!(**args)
|
570
|
+
@authority = args[:authority] if args.key?(:authority)
|
571
|
+
@fail_open = args[:fail_open] if args.key?(:fail_open)
|
572
|
+
@forward_headers = args[:forward_headers] if args.key?(:forward_headers)
|
573
|
+
@name = args[:name] if args.key?(:name)
|
574
|
+
@service = args[:service] if args.key?(:service)
|
575
|
+
@supported_events = args[:supported_events] if args.key?(:supported_events)
|
576
|
+
@timeout = args[:timeout] if args.key?(:timeout)
|
577
|
+
end
|
578
|
+
end
|
579
|
+
|
580
|
+
# Conditions under which this chain is invoked for a request.
|
581
|
+
class ExtensionChainMatchCondition
|
582
|
+
include Google::Apis::Core::Hashable
|
583
|
+
|
584
|
+
# Required. A Common Expression Language (CEL) expression that is used to match
|
585
|
+
# requests for which the extension chain is executed. For more information, see [
|
586
|
+
# CEL matcher language reference](https://cloud.google.com/service-extensions/
|
587
|
+
# docs/cel-matcher-language-reference).
|
588
|
+
# Corresponds to the JSON property `celExpression`
|
589
|
+
# @return [String]
|
590
|
+
attr_accessor :cel_expression
|
591
|
+
|
592
|
+
def initialize(**args)
|
593
|
+
update!(**args)
|
594
|
+
end
|
595
|
+
|
596
|
+
# Update properties of this object
|
597
|
+
def update!(**args)
|
598
|
+
@cel_expression = args[:cel_expression] if args.key?(:cel_expression)
|
599
|
+
end
|
600
|
+
end
|
601
|
+
|
462
602
|
# Gateway represents the configuration for a proxy, typically a load balancer.
|
463
603
|
# It captures the ip:port over which the services are exposed by the proxy,
|
464
604
|
# along with any policy configurations. Routes have reference to to Gateways to
|
465
|
-
# dictate how requests should be routed by this Gateway. Next id:
|
605
|
+
# dictate how requests should be routed by this Gateway. Next id: 32
|
466
606
|
class Gateway
|
467
607
|
include Google::Apis::Core::Hashable
|
468
608
|
|
@@ -1983,6 +2123,160 @@ module Google
|
|
1983
2123
|
end
|
1984
2124
|
end
|
1985
2125
|
|
2126
|
+
# `LbRouteExtension` is a resource that lets you control where traffic is routed
|
2127
|
+
# to for a given request.
|
2128
|
+
class LbRouteExtension
|
2129
|
+
include Google::Apis::Core::Hashable
|
2130
|
+
|
2131
|
+
# Output only. The timestamp when the resource was created.
|
2132
|
+
# Corresponds to the JSON property `createTime`
|
2133
|
+
# @return [String]
|
2134
|
+
attr_accessor :create_time
|
2135
|
+
|
2136
|
+
# Optional. A human-readable description of the resource.
|
2137
|
+
# Corresponds to the JSON property `description`
|
2138
|
+
# @return [String]
|
2139
|
+
attr_accessor :description
|
2140
|
+
|
2141
|
+
# Required. A set of ordered extension chains that contain the match conditions
|
2142
|
+
# and extensions to execute. Match conditions for each extension chain are
|
2143
|
+
# evaluated in sequence for a given request. The first extension chain that has
|
2144
|
+
# a condition that matches the request is executed. Any subsequent extension
|
2145
|
+
# chains do not execute. Limited to 5 extension chains per resource.
|
2146
|
+
# Corresponds to the JSON property `extensionChains`
|
2147
|
+
# @return [Array<Google::Apis::NetworkservicesV1::ExtensionChain>]
|
2148
|
+
attr_accessor :extension_chains
|
2149
|
+
|
2150
|
+
# Required. A list of references to the forwarding rules to which this service
|
2151
|
+
# extension is attached to. At least one forwarding rule is required. There can
|
2152
|
+
# be only one `LbRouteExtension` resource per forwarding rule.
|
2153
|
+
# Corresponds to the JSON property `forwardingRules`
|
2154
|
+
# @return [Array<String>]
|
2155
|
+
attr_accessor :forwarding_rules
|
2156
|
+
|
2157
|
+
# Optional. Set of labels associated with the `LbRouteExtension` resource. The
|
2158
|
+
# format must comply with [the following requirements](/compute/docs/labeling-
|
2159
|
+
# resources#requirements).
|
2160
|
+
# Corresponds to the JSON property `labels`
|
2161
|
+
# @return [Hash<String,String>]
|
2162
|
+
attr_accessor :labels
|
2163
|
+
|
2164
|
+
# Required. All backend services and forwarding rules referenced by this
|
2165
|
+
# extension must share the same load balancing scheme. Supported values: `
|
2166
|
+
# INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [
|
2167
|
+
# Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-
|
2168
|
+
# service).
|
2169
|
+
# Corresponds to the JSON property `loadBalancingScheme`
|
2170
|
+
# @return [String]
|
2171
|
+
attr_accessor :load_balancing_scheme
|
2172
|
+
|
2173
|
+
# Required. Identifier. Name of the `LbRouteExtension` resource in the following
|
2174
|
+
# format: `projects/`project`/locations/`location`/lbRouteExtensions/`
|
2175
|
+
# lb_route_extension``.
|
2176
|
+
# Corresponds to the JSON property `name`
|
2177
|
+
# @return [String]
|
2178
|
+
attr_accessor :name
|
2179
|
+
|
2180
|
+
# Output only. The timestamp when the resource was updated.
|
2181
|
+
# Corresponds to the JSON property `updateTime`
|
2182
|
+
# @return [String]
|
2183
|
+
attr_accessor :update_time
|
2184
|
+
|
2185
|
+
def initialize(**args)
|
2186
|
+
update!(**args)
|
2187
|
+
end
|
2188
|
+
|
2189
|
+
# Update properties of this object
|
2190
|
+
def update!(**args)
|
2191
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
2192
|
+
@description = args[:description] if args.key?(:description)
|
2193
|
+
@extension_chains = args[:extension_chains] if args.key?(:extension_chains)
|
2194
|
+
@forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
|
2195
|
+
@labels = args[:labels] if args.key?(:labels)
|
2196
|
+
@load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
|
2197
|
+
@name = args[:name] if args.key?(:name)
|
2198
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
2199
|
+
end
|
2200
|
+
end
|
2201
|
+
|
2202
|
+
# `LbTrafficExtension` is a resource that lets the extension service modify the
|
2203
|
+
# headers and payloads of both requests and responses without impacting the
|
2204
|
+
# choice of backend services or any other security policies associated with the
|
2205
|
+
# backend service.
|
2206
|
+
class LbTrafficExtension
|
2207
|
+
include Google::Apis::Core::Hashable
|
2208
|
+
|
2209
|
+
# Output only. The timestamp when the resource was created.
|
2210
|
+
# Corresponds to the JSON property `createTime`
|
2211
|
+
# @return [String]
|
2212
|
+
attr_accessor :create_time
|
2213
|
+
|
2214
|
+
# Optional. A human-readable description of the resource.
|
2215
|
+
# Corresponds to the JSON property `description`
|
2216
|
+
# @return [String]
|
2217
|
+
attr_accessor :description
|
2218
|
+
|
2219
|
+
# Required. A set of ordered extension chains that contain the match conditions
|
2220
|
+
# and extensions to execute. Match conditions for each extension chain are
|
2221
|
+
# evaluated in sequence for a given request. The first extension chain that has
|
2222
|
+
# a condition that matches the request is executed. Any subsequent extension
|
2223
|
+
# chains do not execute. Limited to 5 extension chains per resource.
|
2224
|
+
# Corresponds to the JSON property `extensionChains`
|
2225
|
+
# @return [Array<Google::Apis::NetworkservicesV1::ExtensionChain>]
|
2226
|
+
attr_accessor :extension_chains
|
2227
|
+
|
2228
|
+
# Required. A list of references to the forwarding rules to which this service
|
2229
|
+
# extension is attached to. At least one forwarding rule is required. There can
|
2230
|
+
# be only one `LBTrafficExtension` resource per forwarding rule.
|
2231
|
+
# Corresponds to the JSON property `forwardingRules`
|
2232
|
+
# @return [Array<String>]
|
2233
|
+
attr_accessor :forwarding_rules
|
2234
|
+
|
2235
|
+
# Optional. Set of labels associated with the `LbTrafficExtension` resource. The
|
2236
|
+
# format must comply with [the following requirements](/compute/docs/labeling-
|
2237
|
+
# resources#requirements).
|
2238
|
+
# Corresponds to the JSON property `labels`
|
2239
|
+
# @return [Hash<String,String>]
|
2240
|
+
attr_accessor :labels
|
2241
|
+
|
2242
|
+
# Required. All backend services and forwarding rules referenced by this
|
2243
|
+
# extension must share the same load balancing scheme. Supported values: `
|
2244
|
+
# INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [
|
2245
|
+
# Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-
|
2246
|
+
# service).
|
2247
|
+
# Corresponds to the JSON property `loadBalancingScheme`
|
2248
|
+
# @return [String]
|
2249
|
+
attr_accessor :load_balancing_scheme
|
2250
|
+
|
2251
|
+
# Required. Identifier. Name of the `LbTrafficExtension` resource in the
|
2252
|
+
# following format: `projects/`project`/locations/`location`/lbTrafficExtensions/
|
2253
|
+
# `lb_traffic_extension``.
|
2254
|
+
# Corresponds to the JSON property `name`
|
2255
|
+
# @return [String]
|
2256
|
+
attr_accessor :name
|
2257
|
+
|
2258
|
+
# Output only. The timestamp when the resource was updated.
|
2259
|
+
# Corresponds to the JSON property `updateTime`
|
2260
|
+
# @return [String]
|
2261
|
+
attr_accessor :update_time
|
2262
|
+
|
2263
|
+
def initialize(**args)
|
2264
|
+
update!(**args)
|
2265
|
+
end
|
2266
|
+
|
2267
|
+
# Update properties of this object
|
2268
|
+
def update!(**args)
|
2269
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
2270
|
+
@description = args[:description] if args.key?(:description)
|
2271
|
+
@extension_chains = args[:extension_chains] if args.key?(:extension_chains)
|
2272
|
+
@forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
|
2273
|
+
@labels = args[:labels] if args.key?(:labels)
|
2274
|
+
@load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
|
2275
|
+
@name = args[:name] if args.key?(:name)
|
2276
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
2277
|
+
end
|
2278
|
+
end
|
2279
|
+
|
1986
2280
|
# Response returned by the ListEndpointPolicies method.
|
1987
2281
|
class ListEndpointPoliciesResponse
|
1988
2282
|
include Google::Apis::Core::Hashable
|
@@ -2097,6 +2391,68 @@ module Google
|
|
2097
2391
|
end
|
2098
2392
|
end
|
2099
2393
|
|
2394
|
+
# Message for response to listing `LbRouteExtension` resources.
|
2395
|
+
class ListLbRouteExtensionsResponse
|
2396
|
+
include Google::Apis::Core::Hashable
|
2397
|
+
|
2398
|
+
# The list of `LbRouteExtension` resources.
|
2399
|
+
# Corresponds to the JSON property `lbRouteExtensions`
|
2400
|
+
# @return [Array<Google::Apis::NetworkservicesV1::LbRouteExtension>]
|
2401
|
+
attr_accessor :lb_route_extensions
|
2402
|
+
|
2403
|
+
# A token identifying a page of results that the server returns.
|
2404
|
+
# Corresponds to the JSON property `nextPageToken`
|
2405
|
+
# @return [String]
|
2406
|
+
attr_accessor :next_page_token
|
2407
|
+
|
2408
|
+
# Locations that could not be reached.
|
2409
|
+
# Corresponds to the JSON property `unreachable`
|
2410
|
+
# @return [Array<String>]
|
2411
|
+
attr_accessor :unreachable
|
2412
|
+
|
2413
|
+
def initialize(**args)
|
2414
|
+
update!(**args)
|
2415
|
+
end
|
2416
|
+
|
2417
|
+
# Update properties of this object
|
2418
|
+
def update!(**args)
|
2419
|
+
@lb_route_extensions = args[:lb_route_extensions] if args.key?(:lb_route_extensions)
|
2420
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2421
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
2422
|
+
end
|
2423
|
+
end
|
2424
|
+
|
2425
|
+
# Message for response to listing `LbTrafficExtension` resources.
|
2426
|
+
class ListLbTrafficExtensionsResponse
|
2427
|
+
include Google::Apis::Core::Hashable
|
2428
|
+
|
2429
|
+
# The list of `LbTrafficExtension` resources.
|
2430
|
+
# Corresponds to the JSON property `lbTrafficExtensions`
|
2431
|
+
# @return [Array<Google::Apis::NetworkservicesV1::LbTrafficExtension>]
|
2432
|
+
attr_accessor :lb_traffic_extensions
|
2433
|
+
|
2434
|
+
# A token identifying a page of results that the server returns.
|
2435
|
+
# Corresponds to the JSON property `nextPageToken`
|
2436
|
+
# @return [String]
|
2437
|
+
attr_accessor :next_page_token
|
2438
|
+
|
2439
|
+
# Locations that could not be reached.
|
2440
|
+
# Corresponds to the JSON property `unreachable`
|
2441
|
+
# @return [Array<String>]
|
2442
|
+
attr_accessor :unreachable
|
2443
|
+
|
2444
|
+
def initialize(**args)
|
2445
|
+
update!(**args)
|
2446
|
+
end
|
2447
|
+
|
2448
|
+
# Update properties of this object
|
2449
|
+
def update!(**args)
|
2450
|
+
@lb_traffic_extensions = args[:lb_traffic_extensions] if args.key?(:lb_traffic_extensions)
|
2451
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2452
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
2453
|
+
end
|
2454
|
+
end
|
2455
|
+
|
2100
2456
|
# The response message for Locations.ListLocations.
|
2101
2457
|
class ListLocationsResponse
|
2102
2458
|
include Google::Apis::Core::Hashable
|
@@ -2201,6 +2557,33 @@ module Google
|
|
2201
2557
|
end
|
2202
2558
|
end
|
2203
2559
|
|
2560
|
+
# Response returned by the ListServiceLbPolicies method.
|
2561
|
+
class ListServiceLbPoliciesResponse
|
2562
|
+
include Google::Apis::Core::Hashable
|
2563
|
+
|
2564
|
+
# If there might be more results than those appearing in this response, then `
|
2565
|
+
# next_page_token` is included. To get the next set of results, call this method
|
2566
|
+
# again using the value of `next_page_token` as `page_token`.
|
2567
|
+
# Corresponds to the JSON property `nextPageToken`
|
2568
|
+
# @return [String]
|
2569
|
+
attr_accessor :next_page_token
|
2570
|
+
|
2571
|
+
# List of ServiceLbPolicy resources.
|
2572
|
+
# Corresponds to the JSON property `serviceLbPolicies`
|
2573
|
+
# @return [Array<Google::Apis::NetworkservicesV1::ServiceLbPolicy>]
|
2574
|
+
attr_accessor :service_lb_policies
|
2575
|
+
|
2576
|
+
def initialize(**args)
|
2577
|
+
update!(**args)
|
2578
|
+
end
|
2579
|
+
|
2580
|
+
# Update properties of this object
|
2581
|
+
def update!(**args)
|
2582
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2583
|
+
@service_lb_policies = args[:service_lb_policies] if args.key?(:service_lb_policies)
|
2584
|
+
end
|
2585
|
+
end
|
2586
|
+
|
2204
2587
|
# Response returned by the ListTcpRoutes method.
|
2205
2588
|
class ListTcpRoutesResponse
|
2206
2589
|
include Google::Apis::Core::Hashable
|
@@ -2649,6 +3032,121 @@ module Google
|
|
2649
3032
|
end
|
2650
3033
|
end
|
2651
3034
|
|
3035
|
+
# ServiceLbPolicy holds global load balancing and traffic distribution
|
3036
|
+
# configuration that can be applied to a BackendService.
|
3037
|
+
class ServiceLbPolicy
|
3038
|
+
include Google::Apis::Core::Hashable
|
3039
|
+
|
3040
|
+
# Option to specify if an unhealthy IG/NEG should be considered for global load
|
3041
|
+
# balancing and traffic routing.
|
3042
|
+
# Corresponds to the JSON property `autoCapacityDrain`
|
3043
|
+
# @return [Google::Apis::NetworkservicesV1::ServiceLbPolicyAutoCapacityDrain]
|
3044
|
+
attr_accessor :auto_capacity_drain
|
3045
|
+
|
3046
|
+
# Output only. The timestamp when this resource was created.
|
3047
|
+
# Corresponds to the JSON property `createTime`
|
3048
|
+
# @return [String]
|
3049
|
+
attr_accessor :create_time
|
3050
|
+
|
3051
|
+
# Optional. A free-text description of the resource. Max length 1024 characters.
|
3052
|
+
# Corresponds to the JSON property `description`
|
3053
|
+
# @return [String]
|
3054
|
+
attr_accessor :description
|
3055
|
+
|
3056
|
+
# Option to specify health based failover behavior. This is not related to
|
3057
|
+
# Network load balancer FailoverPolicy.
|
3058
|
+
# Corresponds to the JSON property `failoverConfig`
|
3059
|
+
# @return [Google::Apis::NetworkservicesV1::ServiceLbPolicyFailoverConfig]
|
3060
|
+
attr_accessor :failover_config
|
3061
|
+
|
3062
|
+
# Optional. Set of label tags associated with the ServiceLbPolicy resource.
|
3063
|
+
# Corresponds to the JSON property `labels`
|
3064
|
+
# @return [Hash<String,String>]
|
3065
|
+
attr_accessor :labels
|
3066
|
+
|
3067
|
+
# Optional. The type of load balancing algorithm to be used. The default
|
3068
|
+
# behavior is WATERFALL_BY_REGION.
|
3069
|
+
# Corresponds to the JSON property `loadBalancingAlgorithm`
|
3070
|
+
# @return [String]
|
3071
|
+
attr_accessor :load_balancing_algorithm
|
3072
|
+
|
3073
|
+
# Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/`
|
3074
|
+
# project`/locations/`location`/serviceLbPolicies/`service_lb_policy_name``.
|
3075
|
+
# Corresponds to the JSON property `name`
|
3076
|
+
# @return [String]
|
3077
|
+
attr_accessor :name
|
3078
|
+
|
3079
|
+
# Output only. The timestamp when this resource was last updated.
|
3080
|
+
# Corresponds to the JSON property `updateTime`
|
3081
|
+
# @return [String]
|
3082
|
+
attr_accessor :update_time
|
3083
|
+
|
3084
|
+
def initialize(**args)
|
3085
|
+
update!(**args)
|
3086
|
+
end
|
3087
|
+
|
3088
|
+
# Update properties of this object
|
3089
|
+
def update!(**args)
|
3090
|
+
@auto_capacity_drain = args[:auto_capacity_drain] if args.key?(:auto_capacity_drain)
|
3091
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
3092
|
+
@description = args[:description] if args.key?(:description)
|
3093
|
+
@failover_config = args[:failover_config] if args.key?(:failover_config)
|
3094
|
+
@labels = args[:labels] if args.key?(:labels)
|
3095
|
+
@load_balancing_algorithm = args[:load_balancing_algorithm] if args.key?(:load_balancing_algorithm)
|
3096
|
+
@name = args[:name] if args.key?(:name)
|
3097
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
3098
|
+
end
|
3099
|
+
end
|
3100
|
+
|
3101
|
+
# Option to specify if an unhealthy IG/NEG should be considered for global load
|
3102
|
+
# balancing and traffic routing.
|
3103
|
+
class ServiceLbPolicyAutoCapacityDrain
|
3104
|
+
include Google::Apis::Core::Hashable
|
3105
|
+
|
3106
|
+
# Optional. If set to 'True', an unhealthy IG/NEG will be set as drained. - An
|
3107
|
+
# IG/NEG is considered unhealthy if less than 25% of the instances/endpoints in
|
3108
|
+
# the IG/NEG are healthy. - This option will never result in draining more than
|
3109
|
+
# 50% of the configured IGs/NEGs for the Backend Service.
|
3110
|
+
# Corresponds to the JSON property `enable`
|
3111
|
+
# @return [Boolean]
|
3112
|
+
attr_accessor :enable
|
3113
|
+
alias_method :enable?, :enable
|
3114
|
+
|
3115
|
+
def initialize(**args)
|
3116
|
+
update!(**args)
|
3117
|
+
end
|
3118
|
+
|
3119
|
+
# Update properties of this object
|
3120
|
+
def update!(**args)
|
3121
|
+
@enable = args[:enable] if args.key?(:enable)
|
3122
|
+
end
|
3123
|
+
end
|
3124
|
+
|
3125
|
+
# Option to specify health based failover behavior. This is not related to
|
3126
|
+
# Network load balancer FailoverPolicy.
|
3127
|
+
class ServiceLbPolicyFailoverConfig
|
3128
|
+
include Google::Apis::Core::Hashable
|
3129
|
+
|
3130
|
+
# Optional. The percentage threshold that a load balancer will begin to send
|
3131
|
+
# traffic to failover backends. If the percentage of endpoints in a MIG/NEG is
|
3132
|
+
# smaller than this value, traffic would be sent to failover backends if
|
3133
|
+
# possible. This field should be set to a value between 1 and 99. The default
|
3134
|
+
# value is 50 for Global external HTTP(S) load balancer (classic) and Proxyless
|
3135
|
+
# service mesh, and 70 for others.
|
3136
|
+
# Corresponds to the JSON property `failoverHealthThreshold`
|
3137
|
+
# @return [Fixnum]
|
3138
|
+
attr_accessor :failover_health_threshold
|
3139
|
+
|
3140
|
+
def initialize(**args)
|
3141
|
+
update!(**args)
|
3142
|
+
end
|
3143
|
+
|
3144
|
+
# Update properties of this object
|
3145
|
+
def update!(**args)
|
3146
|
+
@failover_health_threshold = args[:failover_health_threshold] if args.key?(:failover_health_threshold)
|
3147
|
+
end
|
3148
|
+
end
|
3149
|
+
|
2652
3150
|
# Request message for `SetIamPolicy` method.
|
2653
3151
|
class SetIamPolicyRequest
|
2654
3152
|
include Google::Apis::Core::Hashable
|
@@ -16,13 +16,13 @@ module Google
|
|
16
16
|
module Apis
|
17
17
|
module NetworkservicesV1
|
18
18
|
# Version of the google-apis-networkservices_v1 gem
|
19
|
-
GEM_VERSION = "0.
|
19
|
+
GEM_VERSION = "0.36.0"
|
20
20
|
|
21
21
|
# Version of the code generator used to generate this client
|
22
22
|
GENERATOR_VERSION = "0.13.1"
|
23
23
|
|
24
24
|
# Revision of the discovery document this client was generated from
|
25
|
-
REVISION = "
|
25
|
+
REVISION = "20240207"
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|