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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cde9333344a34a8a8f94c895ce620361271464e206faab021ea8aed174d9d679
4
- data.tar.gz: 3eefd9453e2e1fdbb186c83192f2c95f1cb11ae2f9d2ad3de3e12ae282b79f1e
3
+ metadata.gz: 23951107f3def4d3dbec8934e2b6b723290d816c610265e8d32a02ca06ad5e17
4
+ data.tar.gz: 7c1e5f43dcf8804ea30969d57b5f97bc9bd1947d761ff767f52b8c9f4ba33318
5
5
  SHA512:
6
- metadata.gz: 002feec8264ea567954e62803b646417d049b7378f247581fc49895c3026d0be750c09ba61b745adaac4fb1e92106be203bec7962d0e96fe35b423b42dafcdb4
7
- data.tar.gz: c4a5f8ee044a16b9f0b2506e868def6c85a8e3a1438671f7c58460f89c3653f7b773320b6552c260ac9d81200b06571601780b185c8be3109c24af3d464243c8
6
+ metadata.gz: 5e28ff6ecf829024c6ba6680e8f3176f6a0aabd2f4f24b9d26bb68859d3fd3696d0b3c54738ee73b03cb2770f732ded5ba797d253ed0ad04fd4249e24eab66ca
7
+ data.tar.gz: 5a22a857ea46adaedf659a7b94329d06625874eda4110b1a17d60c5471e6a4ae6208e6e83d315813ce5272adfbc2512b72e98eb68bff498fa5bb78d279bc3ddc
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-networkservices_v1
2
2
 
3
+ ### v0.36.0 (2024-02-18)
4
+
5
+ * Regenerated from discovery document revision 20240207
6
+
3
7
  ### v0.35.0 (2024-02-04)
4
8
 
5
9
  * Regenerated from discovery document revision 20240125
@@ -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: 30
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.35.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 = "20240125"
25
+ REVISION = "20240207"
26
26
  end
27
27
  end
28
28
  end