google-apis-networkservices_v1 0.35.0 → 0.37.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cde9333344a34a8a8f94c895ce620361271464e206faab021ea8aed174d9d679
4
- data.tar.gz: 3eefd9453e2e1fdbb186c83192f2c95f1cb11ae2f9d2ad3de3e12ae282b79f1e
3
+ metadata.gz: eda252e25482308defd58a40f51609d4a52727dd17d5f831c1d000731254ac48
4
+ data.tar.gz: 07ddee7004921c5839f058a8dca7335969a7fc533d2c10a31a00d0bbfa59f26e
5
5
  SHA512:
6
- metadata.gz: 002feec8264ea567954e62803b646417d049b7378f247581fc49895c3026d0be750c09ba61b745adaac4fb1e92106be203bec7962d0e96fe35b423b42dafcdb4
7
- data.tar.gz: c4a5f8ee044a16b9f0b2506e868def6c85a8e3a1438671f7c58460f89c3653f7b773320b6552c260ac9d81200b06571601780b185c8be3109c24af3d464243c8
6
+ metadata.gz: d974f1ebc63408493e1c673e6fb34dc85f5f7fd8a5e89f9ab43964275b3d9cdcfd1828fe23a5d969db38a47ac0616d22a2a6b388b7f98f6904400920e9563980
7
+ data.tar.gz: a4218a23e2393b83943bdd5fc9c61758b7a16834c264b5396b9ec132fa86adc6639992bf17a45a2fd730fed01254e9e3899f13d02b724579a1154a8b20368fa6
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Release history for google-apis-networkservices_v1
2
2
 
3
+ ### v0.37.0 (2024-02-24)
4
+
5
+ * Regenerated using generator version 0.14.0
6
+
7
+ ### v0.36.0 (2024-02-18)
8
+
9
+ * Regenerated from discovery document revision 20240207
10
+
3
11
  ### v0.35.0 (2024-02-04)
4
12
 
5
13
  * Regenerated from discovery document revision 20240125
data/OVERVIEW.md CHANGED
@@ -83,9 +83,9 @@ The [product documentation](https://cloud.google.com/networking) may provide gui
83
83
 
84
84
  ## Supported Ruby versions
85
85
 
86
- This library is supported on Ruby 2.5+.
86
+ This library is supported on Ruby 2.7+.
87
87
 
88
- Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
88
+ Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
89
89
 
90
90
  ## License
91
91
 
@@ -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.37.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
- GENERATOR_VERSION = "0.13.1"
22
+ GENERATOR_VERSION = "0.14.0"
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