google-apis-compute_beta 0.6.0 → 0.11.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: a9228a18e0b8e2be40af890c31e608093f72b944b1f6244045fdb8139dd36858
4
- data.tar.gz: c066352d18b8cd10e2ad34a6749271f4dadd94838944b89b64f92609afda7758
3
+ metadata.gz: 6a393d1838a4e7d7461ed0e02abe241f122f3fbeec3eae2caff56fdaec5edcb2
4
+ data.tar.gz: 4deedeb52f515cf5b2b91add4600dec9d9797d785b30090ea618d459703dff48
5
5
  SHA512:
6
- metadata.gz: db1b05aff17e0a10d26df8bad383ac71126f255453f6f49cb469ce5cb8f12cbb27dfa0ff628964e8754489f10c1b6215c7677a74611c51ca826a2d381f71f5e0
7
- data.tar.gz: 1107ea3307ce16b6d1700cf4d7fa920ca96b5afc614f51b4aada37169e598d9a8fbfcd8a2260297cf078623148bebb91a44a832ef7a637b98616584ce7e79095
6
+ metadata.gz: 476810b4b54dea3500996bbd9eb6d40ed0cd9bb505f7bd25d7816498e8f0bd0241e34f317d34b2e581ec624234177c00f50a56f8fc867a0b4b8ea21e2ab18820
7
+ data.tar.gz: d05dd3c4198a8f017010a2c099203b3c142ec7dd28ac8fc628f7d081d739afc0373d5dc577b22852118a955444f9a38eb6fe78a01487b430549eed3007405245
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-compute_beta
2
2
 
3
+ ### v0.11.0 (2021-05-28)
4
+
5
+ * Regenerated from discovery document revision 20210518
6
+
7
+ ### v0.10.0 (2021-05-20)
8
+
9
+ * Regenerated from discovery document revision 20210505
10
+ * Unspecified changes
11
+
12
+ ### v0.9.0 (2021-05-05)
13
+
14
+ * Regenerated from discovery document revision 20210415
15
+
16
+ ### v0.8.0 (2021-03-30)
17
+
18
+ * Regenerated from discovery document revision 20210316
19
+
20
+ ### v0.7.0 (2021-03-19)
21
+
22
+ * Regenerated from discovery document revision 20210310
23
+
3
24
  ### v0.6.0 (2021-03-10)
4
25
 
5
26
  * Regenerated from discovery document revision 20210301
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'Beta'
31
31
 
32
- # View and manage your data across Google Cloud Platform services
32
+ # See, edit, configure, and delete your Google Cloud Platform data
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
34
 
35
35
  # View and manage your Google Compute Engine resources
@@ -465,6 +465,19 @@ module Google
465
465
  class AccessConfig
466
466
  include Google::Apis::Core::Hashable
467
467
 
468
+ # [Output Only] The first IPv6 address of the external IPv6 range associated
469
+ # with this instance, prefix length is stored in externalIpv6PrefixLength in
470
+ # ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork
471
+ # associated with the instance will be allocated dynamically.
472
+ # Corresponds to the JSON property `externalIpv6`
473
+ # @return [String]
474
+ attr_accessor :external_ipv6
475
+
476
+ # [Output Only] The prefix length of the external IPv6 range.
477
+ # Corresponds to the JSON property `externalIpv6PrefixLength`
478
+ # @return [Fixnum]
479
+ attr_accessor :external_ipv6_prefix_length
480
+
468
481
  # [Output Only] Type of the resource. Always compute#accessConfig for access
469
482
  # configs.
470
483
  # Corresponds to the JSON property `kind`
@@ -522,6 +535,8 @@ module Google
522
535
 
523
536
  # Update properties of this object
524
537
  def update!(**args)
538
+ @external_ipv6 = args[:external_ipv6] if args.key?(:external_ipv6)
539
+ @external_ipv6_prefix_length = args[:external_ipv6_prefix_length] if args.key?(:external_ipv6_prefix_length)
525
540
  @kind = args[:kind] if args.key?(:kind)
526
541
  @name = args[:name] if args.key?(:name)
527
542
  @nat_ip = args[:nat_ip] if args.key?(:nat_ip)
@@ -650,7 +665,8 @@ module Google
650
665
  # reserved for Cloud NAT.
651
666
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
652
667
  # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
653
- # configuration. These addresses are regional resources.
668
+ # configuration. These addresses are regional resources. Not currently available
669
+ # publicly.
654
670
  # Corresponds to the JSON property `purpose`
655
671
  # @return [String]
656
672
  attr_accessor :purpose
@@ -1063,6 +1079,13 @@ module Google
1063
1079
  attr_accessor :enable_nested_virtualization
1064
1080
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1065
1081
 
1082
+ # The number of threads per physical core. To disable simultaneous
1083
+ # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1084
+ # supported per core by the underlying processor is assumed.
1085
+ # Corresponds to the JSON property `threadsPerCore`
1086
+ # @return [Fixnum]
1087
+ attr_accessor :threads_per_core
1088
+
1066
1089
  def initialize(**args)
1067
1090
  update!(**args)
1068
1091
  end
@@ -1070,6 +1093,7 @@ module Google
1070
1093
  # Update properties of this object
1071
1094
  def update!(**args)
1072
1095
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1096
+ @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1073
1097
  end
1074
1098
  end
1075
1099
 
@@ -1158,6 +1182,18 @@ module Google
1158
1182
  # @return [String]
1159
1183
  attr_accessor :machine_type
1160
1184
 
1185
+ # Specifies the number of hours after reservation creation where instances using
1186
+ # the reservation won't be scheduled for maintenance.
1187
+ # Corresponds to the JSON property `maintenanceFreezeDurationHours`
1188
+ # @return [Fixnum]
1189
+ attr_accessor :maintenance_freeze_duration_hours
1190
+
1191
+ # For more information about maintenance intervals, see Setting maintenance
1192
+ # intervals.
1193
+ # Corresponds to the JSON property `maintenanceInterval`
1194
+ # @return [String]
1195
+ attr_accessor :maintenance_interval
1196
+
1161
1197
  # Minimum cpu platform the reservation.
1162
1198
  # Corresponds to the JSON property `minCpuPlatform`
1163
1199
  # @return [String]
@@ -1173,6 +1209,8 @@ module Google
1173
1209
  @local_ssds = args[:local_ssds] if args.key?(:local_ssds)
1174
1210
  @location_hint = args[:location_hint] if args.key?(:location_hint)
1175
1211
  @machine_type = args[:machine_type] if args.key?(:machine_type)
1212
+ @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
1213
+ @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
1176
1214
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
1177
1215
  end
1178
1216
  end
@@ -2642,6 +2680,12 @@ module Google
2642
2680
  # @return [Google::Apis::ComputeBeta::BackendBucketCdnPolicy]
2643
2681
  attr_accessor :cdn_policy
2644
2682
 
2683
+ # Compress text responses using Brotli or gzip compression, based on the client?
2684
+ # s Accept-Encoding header.
2685
+ # Corresponds to the JSON property `compressionMode`
2686
+ # @return [String]
2687
+ attr_accessor :compression_mode
2688
+
2645
2689
  # [Output Only] Creation timestamp in RFC3339 text format.
2646
2690
  # Corresponds to the JSON property `creationTimestamp`
2647
2691
  # @return [String]
@@ -2658,6 +2702,12 @@ module Google
2658
2702
  # @return [String]
2659
2703
  attr_accessor :description
2660
2704
 
2705
+ # [Output Only] The resource URL for the edge security policy associated with
2706
+ # this backend bucket.
2707
+ # Corresponds to the JSON property `edgeSecurityPolicy`
2708
+ # @return [String]
2709
+ attr_accessor :edge_security_policy
2710
+
2661
2711
  # If true, enable Cloud CDN for this BackendBucket.
2662
2712
  # Corresponds to the JSON property `enableCdn`
2663
2713
  # @return [Boolean]
@@ -2697,9 +2747,11 @@ module Google
2697
2747
  def update!(**args)
2698
2748
  @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
2699
2749
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
2750
+ @compression_mode = args[:compression_mode] if args.key?(:compression_mode)
2700
2751
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2701
2752
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
2702
2753
  @description = args[:description] if args.key?(:description)
2754
+ @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
2703
2755
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
2704
2756
  @id = args[:id] if args.key?(:id)
2705
2757
  @kind = args[:kind] if args.key?(:kind)
@@ -2719,6 +2771,12 @@ module Google
2719
2771
  # @return [Array<Google::Apis::ComputeBeta::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
2720
2772
  attr_accessor :bypass_cache_on_request_headers
2721
2773
 
2774
+ # Message containing what to include in the cache key for a request for Cloud
2775
+ # CDN.
2776
+ # Corresponds to the JSON property `cacheKeyPolicy`
2777
+ # @return [Google::Apis::ComputeBeta::BackendBucketCdnPolicyCacheKeyPolicy]
2778
+ attr_accessor :cache_key_policy
2779
+
2722
2780
  # Specifies the cache setting for all responses from this backend. The possible
2723
2781
  # values are:
2724
2782
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -2843,6 +2901,7 @@ module Google
2843
2901
  # Update properties of this object
2844
2902
  def update!(**args)
2845
2903
  @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
2904
+ @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
2846
2905
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
2847
2906
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
2848
2907
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
@@ -2878,13 +2937,41 @@ module Google
2878
2937
  end
2879
2938
  end
2880
2939
 
2940
+ # Message containing what to include in the cache key for a request for Cloud
2941
+ # CDN.
2942
+ class BackendBucketCdnPolicyCacheKeyPolicy
2943
+ include Google::Apis::Core::Hashable
2944
+
2945
+ # Allows HTTP request headers (by name) to be used in the cache key.
2946
+ # Corresponds to the JSON property `includeHttpHeaders`
2947
+ # @return [Array<String>]
2948
+ attr_accessor :include_http_headers
2949
+
2950
+ # Names of query string parameters to include in cache keys. All other
2951
+ # parameters will be excluded. '&' and '=' will be percent encoded and not
2952
+ # treated as delimiters.
2953
+ # Corresponds to the JSON property `queryStringWhitelist`
2954
+ # @return [Array<String>]
2955
+ attr_accessor :query_string_whitelist
2956
+
2957
+ def initialize(**args)
2958
+ update!(**args)
2959
+ end
2960
+
2961
+ # Update properties of this object
2962
+ def update!(**args)
2963
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
2964
+ @query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
2965
+ end
2966
+ end
2967
+
2881
2968
  # Specify CDN TTLs for response error codes.
2882
2969
  class BackendBucketCdnPolicyNegativeCachingPolicy
2883
2970
  include Google::Apis::Core::Hashable
2884
2971
 
2885
2972
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
2886
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
2887
- # cannot specify a status code more than once.
2973
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
2974
+ # and you cannot specify a status code more than once.
2888
2975
  # Corresponds to the JSON property `code`
2889
2976
  # @return [Fixnum]
2890
2977
  attr_accessor :code
@@ -3067,6 +3154,12 @@ module Google
3067
3154
  # @return [Google::Apis::ComputeBeta::CircuitBreakers]
3068
3155
  attr_accessor :circuit_breakers
3069
3156
 
3157
+ # Compress text responses using Brotli or gzip compression, based on the client?
3158
+ # s Accept-Encoding header.
3159
+ # Corresponds to the JSON property `compressionMode`
3160
+ # @return [String]
3161
+ attr_accessor :compression_mode
3162
+
3070
3163
  # Message containing connection draining configuration.
3071
3164
  # Corresponds to the JSON property `connectionDraining`
3072
3165
  # @return [Google::Apis::ComputeBeta::ConnectionDraining]
@@ -3103,6 +3196,12 @@ module Google
3103
3196
  # @return [String]
3104
3197
  attr_accessor :description
3105
3198
 
3199
+ # [Output Only] The resource URL for the edge security policy associated with
3200
+ # this backend service.
3201
+ # Corresponds to the JSON property `edgeSecurityPolicy`
3202
+ # @return [String]
3203
+ attr_accessor :edge_security_policy
3204
+
3106
3205
  # If true, enables Cloud CDN for the backend service. Only applicable if the
3107
3206
  # loadBalancingScheme is EXTERNAL and the protocol is HTTP or HTTPS.
3108
3207
  # Corresponds to the JSON property `enableCDN`
@@ -3210,6 +3309,14 @@ module Google
3210
3309
  # @return [Google::Apis::ComputeBeta::BackendServiceLogConfig]
3211
3310
  attr_accessor :log_config
3212
3311
 
3312
+ # A Duration represents a fixed-length span of time represented as a count of
3313
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3314
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3315
+ # 000 years.
3316
+ # Corresponds to the JSON property `maxStreamDuration`
3317
+ # @return [Google::Apis::ComputeBeta::Duration]
3318
+ attr_accessor :max_stream_duration
3319
+
3213
3320
  # Name of the resource. Provided by the client when the resource is created. The
3214
3321
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3215
3322
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3289,7 +3396,7 @@ module Google
3289
3396
 
3290
3397
  # Type of session affinity to use. The default is NONE.
3291
3398
  # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3292
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3399
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3293
3400
  # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3294
3401
  # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3295
3402
  # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
@@ -3304,15 +3411,15 @@ module Google
3304
3411
  # @return [String]
3305
3412
  attr_accessor :session_affinity
3306
3413
 
3307
- # Subsetting options to make L4 ILB support any number of backend instances
3414
+ # Subsetting configuration for this BackendService. Currently this is applicable
3415
+ # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
3308
3416
  # Corresponds to the JSON property `subsetting`
3309
3417
  # @return [Google::Apis::ComputeBeta::Subsetting]
3310
3418
  attr_accessor :subsetting
3311
3419
 
3312
- # The backend service timeout has a different meaning depending on the type of
3313
- # load balancer. For more information see, Backend service settings The default
3314
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3315
- # seconds.
3420
+ # Not supported when the backend service is referenced by a URL map that is
3421
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3422
+ # Instead, use maxStreamDuration.
3316
3423
  # Corresponds to the JSON property `timeoutSec`
3317
3424
  # @return [Fixnum]
3318
3425
  attr_accessor :timeout_sec
@@ -3327,6 +3434,7 @@ module Google
3327
3434
  @backends = args[:backends] if args.key?(:backends)
3328
3435
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
3329
3436
  @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
3437
+ @compression_mode = args[:compression_mode] if args.key?(:compression_mode)
3330
3438
  @connection_draining = args[:connection_draining] if args.key?(:connection_draining)
3331
3439
  @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3332
3440
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
@@ -3334,6 +3442,7 @@ module Google
3334
3442
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3335
3443
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
3336
3444
  @description = args[:description] if args.key?(:description)
3445
+ @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
3337
3446
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3338
3447
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
3339
3448
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -3344,6 +3453,7 @@ module Google
3344
3453
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3345
3454
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3346
3455
  @log_config = args[:log_config] if args.key?(:log_config)
3456
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3347
3457
  @name = args[:name] if args.key?(:name)
3348
3458
  @network = args[:network] if args.key?(:network)
3349
3459
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3665,8 +3775,8 @@ module Google
3665
3775
  include Google::Apis::Core::Hashable
3666
3776
 
3667
3777
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3668
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
3669
- # cannot specify a status code more than once.
3778
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3779
+ # and you cannot specify a status code more than once.
3670
3780
  # Corresponds to the JSON property `code`
3671
3781
  # @return [Fixnum]
3672
3782
  attr_accessor :code
@@ -4461,7 +4571,10 @@ module Google
4461
4571
  end
4462
4572
  end
4463
4573
 
4464
- #
4574
+ # A transient resource used in compute.instances.bulkInsert and compute.
4575
+ # regionInstances.bulkInsert and compute.regionInstances.recommendLocations.
4576
+ # This resource is not persisted anywhere, it is used only for processing the
4577
+ # requests.
4465
4578
  class BulkInsertInstanceResource
4466
4579
  include Google::Apis::Core::Hashable
4467
4580
 
@@ -4483,16 +4596,17 @@ module Google
4483
4596
 
4484
4597
  # The minimum number of instances to create. If no min_count is specified then
4485
4598
  # count is used as the default value. If min_count instances cannot be created,
4486
- # then no instances will be created.
4599
+ # then no instances will be created and instances already created will be
4600
+ # deleted.
4487
4601
  # Corresponds to the JSON property `minCount`
4488
4602
  # @return [Fixnum]
4489
4603
  attr_accessor :min_count
4490
4604
 
4491
4605
  # The string pattern used for the names of the VMs. Either name_pattern or
4492
- # predefined_names must be set. The pattern should contain one consecutive
4606
+ # per_instance_properties must be set. The pattern should contain one continuous
4493
4607
  # sequence of placeholder hash characters (#) with each character corresponding
4494
4608
  # to one digit of the generated instance name. Example: name_pattern of inst-####
4495
- # will generate instance names like inst-0001, inst-0002, ... . If there
4609
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
4496
4610
  # already exist instance(s) whose names match the name pattern in the same
4497
4611
  # project and zone, then the generated instance numbers will start after the
4498
4612
  # biggest existing number. For example, if there exists an instance with name
@@ -4597,6 +4711,17 @@ module Google
4597
4711
  attr_accessor :include_host
4598
4712
  alias_method :include_host?, :include_host
4599
4713
 
4714
+ # Allows HTTP request headers (by name) to be used in the cache key.
4715
+ # Corresponds to the JSON property `includeHttpHeaders`
4716
+ # @return [Array<String>]
4717
+ attr_accessor :include_http_headers
4718
+
4719
+ # Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
4720
+ # will be used in the cache key Cloud CDN generates.
4721
+ # Corresponds to the JSON property `includeNamedCookies`
4722
+ # @return [Array<String>]
4723
+ attr_accessor :include_named_cookies
4724
+
4600
4725
  # If true, http and https requests will be cached separately.
4601
4726
  # Corresponds to the JSON property `includeProtocol`
4602
4727
  # @return [Boolean]
@@ -4635,6 +4760,8 @@ module Google
4635
4760
  # Update properties of this object
4636
4761
  def update!(**args)
4637
4762
  @include_host = args[:include_host] if args.key?(:include_host)
4763
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
4764
+ @include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
4638
4765
  @include_protocol = args[:include_protocol] if args.key?(:include_protocol)
4639
4766
  @include_query_string = args[:include_query_string] if args.key?(:include_query_string)
4640
4767
  @query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
@@ -4654,14 +4781,14 @@ module Google
4654
4781
  # @return [Google::Apis::ComputeBeta::Duration]
4655
4782
  attr_accessor :connect_timeout
4656
4783
 
4657
- # The maximum number of connections to the backend service. If not specified,
4658
- # there is no limit.
4784
+ # Not supported when the backend service is referenced by a URL map that is
4785
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4659
4786
  # Corresponds to the JSON property `maxConnections`
4660
4787
  # @return [Fixnum]
4661
4788
  attr_accessor :max_connections
4662
4789
 
4663
- # The maximum number of pending requests allowed to the backend service. If not
4664
- # specified, there is no limit.
4790
+ # Not supported when the backend service is referenced by a URL map that is
4791
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4665
4792
  # Corresponds to the JSON property `maxPendingRequests`
4666
4793
  # @return [Fixnum]
4667
4794
  attr_accessor :max_pending_requests
@@ -4672,16 +4799,14 @@ module Google
4672
4799
  # @return [Fixnum]
4673
4800
  attr_accessor :max_requests
4674
4801
 
4675
- # Maximum requests for a single connection to the backend service. This
4676
- # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
4677
- # specified, there is no limit. Setting this parameter to 1 will effectively
4678
- # disable keep alive.
4802
+ # Not supported when the backend service is referenced by a URL map that is
4803
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4679
4804
  # Corresponds to the JSON property `maxRequestsPerConnection`
4680
4805
  # @return [Fixnum]
4681
4806
  attr_accessor :max_requests_per_connection
4682
4807
 
4683
- # The maximum number of parallel retries allowed to the backend cluster. If not
4684
- # specified, the default is 1.
4808
+ # Not supported when the backend service is referenced by a URL map that is
4809
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4685
4810
  # Corresponds to the JSON property `maxRetries`
4686
4811
  # @return [Fixnum]
4687
4812
  attr_accessor :max_retries
@@ -7159,6 +7284,10 @@ module Google
7159
7284
  attr_accessor :id
7160
7285
 
7161
7286
  # List of interfaces for this external VPN gateway.
7287
+ # If your peer-side gateway is an on-premises gateway and non-AWS cloud
7288
+ # providers? gateway, at most two interfaces can be provided for an external VPN
7289
+ # gateway. If your peer side is an AWS virtual private gateway, four interfaces
7290
+ # should be provided for an external VPN gateway.
7162
7291
  # Corresponds to the JSON property `interfaces`
7163
7292
  # @return [Array<Google::Apis::ComputeBeta::ExternalVpnGatewayInterface>]
7164
7293
  attr_accessor :interfaces
@@ -7234,8 +7363,9 @@ module Google
7234
7363
 
7235
7364
  # The numeric ID of this interface. The allowed input values for this id for
7236
7365
  # different redundancy types of external VPN gateway:
7237
- # SINGLE_IP_INTERNALLY_REDUNDANT - 0 TWO_IPS_REDUNDANCY - 0, 1
7238
- # FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
7366
+ # - SINGLE_IP_INTERNALLY_REDUNDANT - 0
7367
+ # - TWO_IPS_REDUNDANCY - 0, 1
7368
+ # - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
7239
7369
  # Corresponds to the JSON property `id`
7240
7370
  # @return [Fixnum]
7241
7371
  attr_accessor :id
@@ -7868,13 +7998,14 @@ module Google
7868
7998
  # @return [String]
7869
7999
  attr_accessor :description
7870
8000
 
7871
- # User-provided name of the Organization firewall plicy. The name should be
7872
- # unique in the organization in which the firewall policy is created. The name
7873
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7874
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7875
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
7876
- # all following characters must be a dash, lowercase letter, or digit, except
7877
- # the last character, which cannot be a dash.
8001
+ # Depreacted, please use short name instead. User-provided name of the
8002
+ # Organization firewall plicy. The name should be unique in the organization in
8003
+ # which the firewall policy is created. The name must be 1-63 characters long,
8004
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
8005
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
8006
+ # first character must be a lowercase letter, and all following characters must
8007
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
8008
+ # be a dash.
7878
8009
  # Corresponds to the JSON property `displayName`
7879
8010
  # @return [String]
7880
8011
  attr_accessor :display_name
@@ -7938,6 +8069,17 @@ module Google
7938
8069
  # @return [String]
7939
8070
  attr_accessor :self_link_with_id
7940
8071
 
8072
+ # User-provided name of the Organization firewall plicy. The name should be
8073
+ # unique in the organization in which the firewall policy is created. The name
8074
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
8075
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
8076
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
8077
+ # all following characters must be a dash, lowercase letter, or digit, except
8078
+ # the last character, which cannot be a dash.
8079
+ # Corresponds to the JSON property `shortName`
8080
+ # @return [String]
8081
+ attr_accessor :short_name
8082
+
7941
8083
  def initialize(**args)
7942
8084
  update!(**args)
7943
8085
  end
@@ -7957,6 +8099,7 @@ module Google
7957
8099
  @rules = args[:rules] if args.key?(:rules)
7958
8100
  @self_link = args[:self_link] if args.key?(:self_link)
7959
8101
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
8102
+ @short_name = args[:short_name] if args.key?(:short_name)
7960
8103
  end
7961
8104
  end
7962
8105
 
@@ -7969,7 +8112,8 @@ module Google
7969
8112
  # @return [String]
7970
8113
  attr_accessor :attachment_target
7971
8114
 
7972
- # [Output Only] The display name of the firewall policy of the association.
8115
+ # [Output Only] Deprecated, please use short name instead. The display name of
8116
+ # the firewall policy of the association.
7973
8117
  # Corresponds to the JSON property `displayName`
7974
8118
  # @return [String]
7975
8119
  attr_accessor :display_name
@@ -7984,6 +8128,11 @@ module Google
7984
8128
  # @return [String]
7985
8129
  attr_accessor :name
7986
8130
 
8131
+ # [Output Only] The short name of the firewall policy of the association.
8132
+ # Corresponds to the JSON property `shortName`
8133
+ # @return [String]
8134
+ attr_accessor :short_name
8135
+
7987
8136
  def initialize(**args)
7988
8137
  update!(**args)
7989
8138
  end
@@ -7994,6 +8143,7 @@ module Google
7994
8143
  @display_name = args[:display_name] if args.key?(:display_name)
7995
8144
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
7996
8145
  @name = args[:name] if args.key?(:name)
8146
+ @short_name = args[:short_name] if args.key?(:short_name)
7997
8147
  end
7998
8148
  end
7999
8149
 
@@ -8180,17 +8330,6 @@ module Google
8180
8330
  # @return [Array<String>]
8181
8331
  attr_accessor :target_resources
8182
8332
 
8183
- # A list of secure labels that controls which instances the firewall rule
8184
- # applies to. If targetSecureLabel are specified, then the firewall rule applies
8185
- # only to instances in the VPC network that have one of those secure labels.
8186
- # targetSecureLabel may not be set at the same time as targetServiceAccounts. If
8187
- # neither targetServiceAccounts nor targetSecureLabel are specified, the
8188
- # firewall rule applies to all instances on the specified network. Maximum
8189
- # number of target label values allowed is 256.
8190
- # Corresponds to the JSON property `targetSecureLabels`
8191
- # @return [Array<String>]
8192
- attr_accessor :target_secure_labels
8193
-
8194
8333
  # A list of service accounts indicating the sets of instances that are applied
8195
8334
  # with this rule.
8196
8335
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -8213,7 +8352,6 @@ module Google
8213
8352
  @priority = args[:priority] if args.key?(:priority)
8214
8353
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8215
8354
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8216
- @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
8217
8355
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8218
8356
  end
8219
8357
  end
@@ -8239,12 +8377,6 @@ module Google
8239
8377
  # @return [Array<String>]
8240
8378
  attr_accessor :src_ip_ranges
8241
8379
 
8242
- # List of firewall label values, which should be matched at the source of the
8243
- # traffic. Maximum number of source label values allowed is 256.
8244
- # Corresponds to the JSON property `srcSecureLabels`
8245
- # @return [Array<String>]
8246
- attr_accessor :src_secure_labels
8247
-
8248
8380
  def initialize(**args)
8249
8381
  update!(**args)
8250
8382
  end
@@ -8254,7 +8386,6 @@ module Google
8254
8386
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8255
8387
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8256
8388
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8257
- @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
8258
8389
  end
8259
8390
  end
8260
8391
 
@@ -8301,7 +8432,7 @@ module Google
8301
8432
  # - If the value is a percent, then the calculated value is percent/100 *
8302
8433
  # targetSize. For example, the calculated value of a 80% of a managed instance
8303
8434
  # group with 150 instances would be (80/100 * 150) = 120 VM instances. If there
8304
- # is a remainder, the number is rounded up.
8435
+ # is a remainder, the number is rounded.
8305
8436
  # Corresponds to the JSON property `calculated`
8306
8437
  # @return [Fixnum]
8307
8438
  attr_accessor :calculated
@@ -8370,10 +8501,11 @@ module Google
8370
8501
  attr_accessor :ip_address
8371
8502
 
8372
8503
  # The IP protocol to which this rule applies.
8373
- # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
8504
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and
8505
+ # L3_DEFAULT.
8374
8506
  # The valid IP protocols are different for different load balancing products:
8375
8507
  # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
8376
- # one of TCP, UDP or ALL is valid.
8508
+ # one of TCP, UDP or L3_DEFAULT is valid.
8377
8509
  # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
8378
8510
  # only TCP is valid.
8379
8511
  # - Internal HTTP(S) Load Balancing: The load balancing scheme is
@@ -8381,17 +8513,18 @@ module Google
8381
8513
  # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
8382
8514
  # is EXTERNAL and only TCP is valid.
8383
8515
  # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
8384
- # TCP or UDP is valid.
8516
+ # TCP, UDP or L3_DEFAULT is valid.
8385
8517
  # Corresponds to the JSON property `IPProtocol`
8386
8518
  # @return [String]
8387
8519
  attr_accessor :ip_protocol
8388
8520
 
8389
- # This field is used along with the backend_service field for internal load
8390
- # balancing or with the target field for internal TargetInstance. This field
8391
- # cannot be used with port or portRange fields.
8392
- # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify
8393
- # this field to allow packets addressed to any ports will be forwarded to the
8394
- # backends configured with this forwarding rule.
8521
+ # This field is used along with the backend_service field for Internal TCP/UDP
8522
+ # Load Balancing or Network Load Balancing, or with the target field for
8523
+ # internal and external TargetInstance.
8524
+ # You can only use one of ports and port_range, or allPorts. The three are
8525
+ # mutually exclusive.
8526
+ # For TCP, UDP and SCTP traffic, packets addressed to any ports will be
8527
+ # forwarded to the target or backendService.
8395
8528
  # Corresponds to the JSON property `allPorts`
8396
8529
  # @return [Boolean]
8397
8530
  attr_accessor :all_ports
@@ -8553,13 +8686,16 @@ module Google
8553
8686
  # @return [String]
8554
8687
  attr_accessor :network_tier
8555
8688
 
8556
- # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
8557
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
8558
- # or SCTP.
8689
+ # This field can be used only if:
8690
+ # - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or
8691
+ # INTERNAL_MANAGED
8692
+ # - IPProtocol is one of TCP, UDP, or SCTP.
8559
8693
  # Packets addressed to ports in the specified range will be forwarded to target
8560
- # or backend_service. You can only use one of ports, port_range, or allPorts.
8561
- # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
8562
- # IPProtocol] pair must have disjoint port ranges.
8694
+ # or backend_service.
8695
+ # You can only use one of ports, port_range, or allPorts. The three are mutually
8696
+ # exclusive.
8697
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8698
+ # ports.
8563
8699
  # Some types of forwarding target have constraints on the acceptable ports:
8564
8700
  # - TargetHttpProxy: 80, 8080
8565
8701
  # - TargetHttpsProxy: 443
@@ -8580,8 +8716,8 @@ module Google
8580
8716
  # You can only use one of ports and port_range, or allPorts. The three are
8581
8717
  # mutually exclusive.
8582
8718
  # You can specify a list of up to five ports, which can be non-contiguous.
8583
- # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
8584
- # specify ports.
8719
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8720
+ # ports.
8585
8721
  # For more information, see [Port specifications](/load-balancing/docs/
8586
8722
  # forwarding-rule-concepts#port_specifications).
8587
8723
  # Corresponds to the JSON property `ports`
@@ -8593,6 +8729,11 @@ module Google
8593
8729
  # @return [Fixnum]
8594
8730
  attr_accessor :psc_connection_id
8595
8731
 
8732
+ #
8733
+ # Corresponds to the JSON property `pscConnectionStatus`
8734
+ # @return [String]
8735
+ attr_accessor :psc_connection_status
8736
+
8596
8737
  # [Output Only] URL of the region where the regional forwarding rule resides.
8597
8738
  # This field is not applicable to global forwarding rules. You must specify this
8598
8739
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -8676,6 +8817,7 @@ module Google
8676
8817
  @port_range = args[:port_range] if args.key?(:port_range)
8677
8818
  @ports = args[:ports] if args.key?(:ports)
8678
8819
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
8820
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
8679
8821
  @region = args[:region] if args.key?(:region)
8680
8822
  @self_link = args[:self_link] if args.key?(:self_link)
8681
8823
  @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
@@ -10007,11 +10149,12 @@ module Google
10007
10149
 
10008
10150
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
10009
10151
  # and not more than 10. HealthCheck resources must have portSpecification=
10010
- # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
10011
- # regional and in the same region. For global HealthCheckService, HealthCheck
10012
- # must be global. Mix of regional and global HealthChecks is not supported.
10013
- # Multiple regional HealthChecks must belong to the same region. Regional
10014
- # HealthChecks</code? must belong to the same region as zones of NEGs.
10152
+ # USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional
10153
+ # HealthCheckService, the HealthCheck must be regional and in the same region.
10154
+ # For global HealthCheckService, HealthCheck must be global. Mix of regional and
10155
+ # global HealthChecks is not supported. Multiple regional HealthChecks must
10156
+ # belong to the same region. Regional HealthChecks must belong to the same
10157
+ # region as zones of NEGs.
10015
10158
  # Corresponds to the JSON property `healthChecks`
10016
10159
  # @return [Array<String>]
10017
10160
  attr_accessor :health_checks
@@ -10478,6 +10621,16 @@ module Google
10478
10621
  # @return [Hash<String,String>]
10479
10622
  attr_accessor :annotations
10480
10623
 
10624
+ # URL of the forwarding rule associated with the health status of the instance.
10625
+ # Corresponds to the JSON property `forwardingRule`
10626
+ # @return [String]
10627
+ attr_accessor :forwarding_rule
10628
+
10629
+ # A forwarding rule IP address assigned to this instance.
10630
+ # Corresponds to the JSON property `forwardingRuleIp`
10631
+ # @return [String]
10632
+ attr_accessor :forwarding_rule_ip
10633
+
10481
10634
  # Health state of the instance.
10482
10635
  # Corresponds to the JSON property `healthState`
10483
10636
  # @return [String]
@@ -10518,6 +10671,8 @@ module Google
10518
10671
  # Update properties of this object
10519
10672
  def update!(**args)
10520
10673
  @annotations = args[:annotations] if args.key?(:annotations)
10674
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10675
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
10521
10676
  @health_state = args[:health_state] if args.key?(:health_state)
10522
10677
  @instance = args[:instance] if args.key?(:instance)
10523
10678
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -10629,6 +10784,9 @@ module Google
10629
10784
 
10630
10785
  # The HTTP status code used to abort the request.
10631
10786
  # The value must be between 200 and 599 inclusive.
10787
+ # For gRPC protocol, the gRPC status code is mapped to HTTP status code
10788
+ # according to this mapping table. HTTP status 200 is mapped to gRPC status
10789
+ # UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
10632
10790
  # Corresponds to the JSON property `httpStatus`
10633
10791
  # @return [Fixnum]
10634
10792
  attr_accessor :http_status
@@ -11292,8 +11450,8 @@ module Google
11292
11450
  # @return [Google::Apis::ComputeBeta::Duration]
11293
11451
  attr_accessor :per_try_timeout
11294
11452
 
11295
- # Specfies one or more conditions when this retry rule applies. Valid values are:
11296
- #
11453
+ # Specifies one or more conditions when this retry rule applies. Valid values
11454
+ # are:
11297
11455
  # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
11298
11456
  # any 5xx response code, or if the backend service does not respond at all,
11299
11457
  # example: disconnects, reset, read timeout, connection failure, and refused
@@ -11352,6 +11510,14 @@ module Google
11352
11510
  # @return [Google::Apis::ComputeBeta::HttpFaultInjection]
11353
11511
  attr_accessor :fault_injection_policy
11354
11512
 
11513
+ # A Duration represents a fixed-length span of time represented as a count of
11514
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
11515
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
11516
+ # 000 years.
11517
+ # Corresponds to the JSON property `maxStreamDuration`
11518
+ # @return [Google::Apis::ComputeBeta::Duration]
11519
+ attr_accessor :max_stream_duration
11520
+
11355
11521
  # A policy that specifies how requests intended for the route's backends are
11356
11522
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
11357
11523
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -11400,6 +11566,7 @@ module Google
11400
11566
  def update!(**args)
11401
11567
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
11402
11568
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
11569
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
11403
11570
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
11404
11571
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
11405
11572
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -11964,13 +12131,17 @@ module Google
11964
12131
  # @return [Google::Apis::ComputeBeta::InitialStateConfig]
11965
12132
  attr_accessor :shielded_instance_initial_state
11966
12133
 
11967
- # URL of the source disk used to create this image. This can be a full or valid
11968
- # partial URL. You must provide either this property or the rawDisk.source
11969
- # property but not both to create an image. For example, the following are valid
11970
- # values:
12134
+ # URL of the source disk used to create this image. For example, the following
12135
+ # are valid values:
11971
12136
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
11972
12137
  # - projects/project/zones/zone/disks/disk
11973
12138
  # - zones/zone/disks/disk
12139
+ # In order to create an image, you must provide the full or partial URL of one
12140
+ # of the following:
12141
+ # - The rawDisk.source URL
12142
+ # - The sourceDisk URL
12143
+ # - The sourceImage URL
12144
+ # - The sourceSnapshot URL
11974
12145
  # Corresponds to the JSON property `sourceDisk`
11975
12146
  # @return [String]
11976
12147
  attr_accessor :source_disk
@@ -11991,10 +12162,10 @@ module Google
11991
12162
  # URL of the source image used to create this image.
11992
12163
  # In order to create an image, you must provide the full or partial URL of one
11993
12164
  # of the following:
11994
- # - The selfLink URL
11995
- # - This property
11996
12165
  # - The rawDisk.source URL
11997
12166
  # - The sourceDisk URL
12167
+ # - The sourceImage URL
12168
+ # - The sourceSnapshot URL
11998
12169
  # Corresponds to the JSON property `sourceImage`
11999
12170
  # @return [String]
12000
12171
  attr_accessor :source_image
@@ -12015,11 +12186,10 @@ module Google
12015
12186
  # URL of the source snapshot used to create this image.
12016
12187
  # In order to create an image, you must provide the full or partial URL of one
12017
12188
  # of the following:
12018
- # - The selfLink URL
12019
- # - This property
12020
- # - The sourceImage URL
12021
12189
  # - The rawDisk.source URL
12022
12190
  # - The sourceDisk URL
12191
+ # - The sourceImage URL
12192
+ # - The sourceSnapshot URL
12023
12193
  # Corresponds to the JSON property `sourceSnapshot`
12024
12194
  # @return [String]
12025
12195
  attr_accessor :source_snapshot
@@ -12113,8 +12283,13 @@ module Google
12113
12283
  # @return [String]
12114
12284
  attr_accessor :sha1_checksum
12115
12285
 
12116
- # The full Google Cloud Storage URL where the disk image is stored. You must
12117
- # provide either this property or the sourceDisk property but not both.
12286
+ # The full Google Cloud Storage URL where the disk image is stored.
12287
+ # In order to create an image, you must provide the full or partial URL of one
12288
+ # of the following:
12289
+ # - The rawDisk.source URL
12290
+ # - The sourceDisk URL
12291
+ # - The sourceImage URL
12292
+ # - The sourceSnapshot URL
12118
12293
  # Corresponds to the JSON property `source`
12119
12294
  # @return [String]
12120
12295
  attr_accessor :source
@@ -12132,6 +12307,27 @@ module Google
12132
12307
  end
12133
12308
  end
12134
12309
 
12310
+ #
12311
+ class ImageFamilyView
12312
+ include Google::Apis::Core::Hashable
12313
+
12314
+ # Represents an Image resource.
12315
+ # You can use images to create boot disks for your VM instances. For more
12316
+ # information, read Images. (== resource_for `$api_version`.images ==)
12317
+ # Corresponds to the JSON property `image`
12318
+ # @return [Google::Apis::ComputeBeta::Image]
12319
+ attr_accessor :image
12320
+
12321
+ def initialize(**args)
12322
+ update!(**args)
12323
+ end
12324
+
12325
+ # Update properties of this object
12326
+ def update!(**args)
12327
+ @image = args[:image] if args.key?(:image)
12328
+ end
12329
+ end
12330
+
12135
12331
  # Contains a list of images.
12136
12332
  class ImageList
12137
12333
  include Google::Apis::Core::Hashable
@@ -12502,7 +12698,7 @@ module Google
12502
12698
  attr_accessor :satisfies_pzs
12503
12699
  alias_method :satisfies_pzs?, :satisfies_pzs
12504
12700
 
12505
- # Sets the scheduling options for an Instance. NextID: 17
12701
+ # Sets the scheduling options for an Instance. NextID: 21
12506
12702
  # Corresponds to the JSON property `scheduling`
12507
12703
  # @return [Google::Apis::ComputeBeta::Scheduling]
12508
12704
  attr_accessor :scheduling
@@ -13127,6 +13323,13 @@ module Google
13127
13323
  end
13128
13324
  end
13129
13325
 
13326
+ # Whether the instance is a standby. Properties of a standby instance comparing
13327
+ # to the regular instance: ======================================================
13328
+ # =================== | regular | standby =======================================
13329
+ # ================================== managed by IGM? | yes | yes added to the IG?
13330
+ # | yes | yes counts towards IGM's target size? | yes | no taken into account
13331
+ # by Autoscaler? | yes | no receives traffic from LB? | yes | no ================
13332
+ # =========================================================
13130
13333
  # Represents a Managed Instance Group resource.
13131
13334
  # An instance group is a collection of VM instances that you can manage as a
13132
13335
  # single entity. For more information, read Instance groups.
@@ -13861,6 +14064,17 @@ module Google
13861
14064
  # @return [String]
13862
14065
  attr_accessor :minimal_action
13863
14066
 
14067
+ # Most disruptive action that is allowed to be taken on an instance. You can
14068
+ # specify either NONE to forbid any actions, REFRESH to allow actions that do
14069
+ # not need instance restart, RESTART to allow actions that can be applied
14070
+ # without instance replacing or REPLACE to allow all possible actions. If the
14071
+ # Updater determines that the minimal update action needed is more disruptive
14072
+ # than most disruptive allowed action you specify it will not perform the update
14073
+ # at all.
14074
+ # Corresponds to the JSON property `mostDisruptiveAllowedAction`
14075
+ # @return [String]
14076
+ attr_accessor :most_disruptive_allowed_action
14077
+
13864
14078
  # What action should be used to replace instances. See minimal_action.REPLACE
13865
14079
  # Corresponds to the JSON property `replacementMethod`
13866
14080
  # @return [String]
@@ -13886,6 +14100,7 @@ module Google
13886
14100
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
13887
14101
  @min_ready_sec = args[:min_ready_sec] if args.key?(:min_ready_sec)
13888
14102
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
14103
+ @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
13889
14104
  @replacement_method = args[:replacement_method] if args.key?(:replacement_method)
13890
14105
  @type = args[:type] if args.key?(:type)
13891
14106
  end
@@ -15264,7 +15479,7 @@ module Google
15264
15479
  # @return [Array<String>]
15265
15480
  attr_accessor :resource_policies
15266
15481
 
15267
- # Sets the scheduling options for an Instance. NextID: 17
15482
+ # Sets the scheduling options for an Instance. NextID: 21
15268
15483
  # Corresponds to the JSON property `scheduling`
15269
15484
  # @return [Google::Apis::ComputeBeta::Scheduling]
15270
15485
  attr_accessor :scheduling
@@ -15630,7 +15845,8 @@ module Google
15630
15845
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
15631
15846
  include Google::Apis::Core::Hashable
15632
15847
 
15633
- # [Output Only] The display name of the firewall policy.
15848
+ # [Output Only] Deprecated, please use short name instead. The display name of
15849
+ # the firewall policy.
15634
15850
  # Corresponds to the JSON property `displayName`
15635
15851
  # @return [String]
15636
15852
  attr_accessor :display_name
@@ -15645,6 +15861,11 @@ module Google
15645
15861
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
15646
15862
  attr_accessor :rules
15647
15863
 
15864
+ # [Output Only] The short name of the firewall policy.
15865
+ # Corresponds to the JSON property `shortName`
15866
+ # @return [String]
15867
+ attr_accessor :short_name
15868
+
15648
15869
  # [Output Only] The type of the firewall policy.
15649
15870
  # Corresponds to the JSON property `type`
15650
15871
  # @return [String]
@@ -15659,6 +15880,7 @@ module Google
15659
15880
  @display_name = args[:display_name] if args.key?(:display_name)
15660
15881
  @name = args[:name] if args.key?(:name)
15661
15882
  @rules = args[:rules] if args.key?(:rules)
15883
+ @short_name = args[:short_name] if args.key?(:short_name)
15662
15884
  @type = args[:type] if args.key?(:type)
15663
15885
  end
15664
15886
  end
@@ -16324,6 +16546,22 @@ module Google
16324
16546
  # @return [String]
16325
16547
  attr_accessor :edge_availability_domain
16326
16548
 
16549
+ # Indicates the user-supplied encryption option of this VLAN attachment (
16550
+ # interconnectAttachment). Can only be specified at attachment creation for
16551
+ # PARTNER or DEDICATED attachments. Possible values are:
16552
+ # - NONE - This is the default value, which means that the VLAN attachment
16553
+ # carries unencrypted traffic. VMs are able to send traffic to, or receive
16554
+ # traffic from, such a VLAN attachment.
16555
+ # - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted
16556
+ # by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs
16557
+ # cannot directly send traffic to, or receive traffic from, such a VLAN
16558
+ # attachment. To use IPsec-encrypted Cloud Interconnect, the VLAN attachment
16559
+ # must be created with this option.
16560
+ # Not currently available publicly.
16561
+ # Corresponds to the JSON property `encryption`
16562
+ # @return [String]
16563
+ attr_accessor :encryption
16564
+
16327
16565
  # [Output Only] Google reference ID, to be used when raising support tickets
16328
16566
  # with Google or otherwise to debug backend connectivity issues. [Deprecated]
16329
16567
  # This field is not used.
@@ -16343,6 +16581,23 @@ module Google
16343
16581
  # @return [String]
16344
16582
  attr_accessor :interconnect
16345
16583
 
16584
+ # List of URL of addresses that have been reserved for the VLAN attachment. Used
16585
+ # only for the VLAN attachment that has the encryption option as IPSEC. The
16586
+ # addresses must be regional internal IP address ranges. When creating an HA VPN
16587
+ # gateway over the VLAN attachment, if the attachment is configured to use a
16588
+ # regional internal IP address, then the VPN gateway's IP address is allocated
16589
+ # from the IP address range specified here. For example, if the HA VPN gateway's
16590
+ # interface 0 is paired to this VLAN attachment, then a regional internal IP
16591
+ # address for the VPN gateway interface 0 will be allocated from the IP address
16592
+ # specified for this VLAN attachment. If this field is not specified when
16593
+ # creating the VLAN attachment, then later on when creating an HA VPN gateway on
16594
+ # this VLAN attachment, the HA VPN gateway's IP address is allocated from the
16595
+ # regional external IP address pool.
16596
+ # Not currently available publicly.
16597
+ # Corresponds to the JSON property `ipsecInternalAddresses`
16598
+ # @return [Array<String>]
16599
+ attr_accessor :ipsec_internal_addresses
16600
+
16346
16601
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for
16347
16602
  # interconnect attachments.
16348
16603
  # Corresponds to the JSON property `kind`
@@ -16497,9 +16752,11 @@ module Google
16497
16752
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
16498
16753
  @description = args[:description] if args.key?(:description)
16499
16754
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
16755
+ @encryption = args[:encryption] if args.key?(:encryption)
16500
16756
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
16501
16757
  @id = args[:id] if args.key?(:id)
16502
16758
  @interconnect = args[:interconnect] if args.key?(:interconnect)
16759
+ @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
16503
16760
  @kind = args[:kind] if args.key?(:kind)
16504
16761
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
16505
16762
  @labels = args[:labels] if args.key?(:labels)
@@ -18011,7 +18268,7 @@ module Google
18011
18268
  include Google::Apis::Core::Hashable
18012
18269
 
18013
18270
  # Location configurations mapped by location name. Currently only zone names are
18014
- # supported and must be represented as valid internal URLs, like: zones/us-
18271
+ # supported and must be represented as valid internal URLs, such as zones/us-
18015
18272
  # central1-a.
18016
18273
  # Corresponds to the JSON property `locations`
18017
18274
  # @return [Hash<String,Google::Apis::ComputeBeta::LocationPolicyLocation>]
@@ -18031,7 +18288,7 @@ module Google
18031
18288
  class LocationPolicyLocation
18032
18289
  include Google::Apis::Core::Hashable
18033
18290
 
18034
- #
18291
+ # Preference for a given location: ALLOW or DENY.
18035
18292
  # Corresponds to the JSON property `preference`
18036
18293
  # @return [String]
18037
18294
  attr_accessor :preference
@@ -20390,6 +20647,20 @@ module Google
20390
20647
  # @return [String]
20391
20648
  attr_accessor :fingerprint
20392
20649
 
20650
+ # An array of IPv6 access configurations for this interface. Currently, only one
20651
+ # IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
20652
+ # specified, then this instance will have no external IPv6 Internet access.
20653
+ # Corresponds to the JSON property `ipv6AccessConfigs`
20654
+ # @return [Array<Google::Apis::ComputeBeta::AccessConfig>]
20655
+ attr_accessor :ipv6_access_configs
20656
+
20657
+ # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be
20658
+ # accessed from the Internet. This field is always inherited from its subnetwork.
20659
+ # Valid only if stackType is IPV4_IPV6.
20660
+ # Corresponds to the JSON property `ipv6AccessType`
20661
+ # @return [String]
20662
+ attr_accessor :ipv6_access_type
20663
+
20393
20664
  # [Output Only] An IPv6 internal network address for this network interface.
20394
20665
  # Corresponds to the JSON property `ipv6Address`
20395
20666
  # @return [String]
@@ -20433,6 +20704,14 @@ module Google
20433
20704
  # @return [String]
20434
20705
  attr_accessor :nic_type
20435
20706
 
20707
+ # The stack type for this network interface to identify whether the IPv6 feature
20708
+ # is enabled or not. If not specified, IPV4_ONLY will be used.
20709
+ # This field can be both set at instance creation and update network interface
20710
+ # operations.
20711
+ # Corresponds to the JSON property `stackType`
20712
+ # @return [String]
20713
+ attr_accessor :stack_type
20714
+
20436
20715
  # The URL of the Subnetwork resource for this instance. If the network resource
20437
20716
  # is in legacy mode, do not specify this field. If the network is in auto subnet
20438
20717
  # mode, specifying the subnetwork is optional. If the network is in custom
@@ -20455,12 +20734,15 @@ module Google
20455
20734
  @access_configs = args[:access_configs] if args.key?(:access_configs)
20456
20735
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
20457
20736
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20737
+ @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
20738
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
20458
20739
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
20459
20740
  @kind = args[:kind] if args.key?(:kind)
20460
20741
  @name = args[:name] if args.key?(:name)
20461
20742
  @network = args[:network] if args.key?(:network)
20462
20743
  @network_ip = args[:network_ip] if args.key?(:network_ip)
20463
20744
  @nic_type = args[:nic_type] if args.key?(:nic_type)
20745
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
20464
20746
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
20465
20747
  end
20466
20748
  end
@@ -20817,7 +21099,8 @@ module Google
20817
21099
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
20818
21100
  include Google::Apis::Core::Hashable
20819
21101
 
20820
- # [Output Only] The display name of the firewall policy.
21102
+ # [Output Only] Deprecated, please use short name instead. The display name of
21103
+ # the firewall policy.
20821
21104
  # Corresponds to the JSON property `displayName`
20822
21105
  # @return [String]
20823
21106
  attr_accessor :display_name
@@ -20832,6 +21115,11 @@ module Google
20832
21115
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
20833
21116
  attr_accessor :rules
20834
21117
 
21118
+ # [Output Only] The short name of the firewall policy.
21119
+ # Corresponds to the JSON property `shortName`
21120
+ # @return [String]
21121
+ attr_accessor :short_name
21122
+
20835
21123
  # [Output Only] The type of the firewall policy.
20836
21124
  # Corresponds to the JSON property `type`
20837
21125
  # @return [String]
@@ -20846,6 +21134,7 @@ module Google
20846
21134
  @display_name = args[:display_name] if args.key?(:display_name)
20847
21135
  @name = args[:name] if args.key?(:name)
20848
21136
  @rules = args[:rules] if args.key?(:rules)
21137
+ @short_name = args[:short_name] if args.key?(:short_name)
20849
21138
  @type = args[:type] if args.key?(:type)
20850
21139
  end
20851
21140
  end
@@ -27423,7 +27712,10 @@ module Google
27423
27712
  # @return [String]
27424
27713
  attr_accessor :key
27425
27714
 
27426
- # Corresponds to the label values of a reservation resource.
27715
+ # Corresponds to the label values of a reservation resource. This can be either
27716
+ # a name to a reservation in the same project or "projects/different-project/
27717
+ # reservations/some-reservation-name" to target a shared reservation in the same
27718
+ # zone but in a different project.
27427
27719
  # Corresponds to the JSON property `values`
27428
27720
  # @return [Array<String>]
27429
27721
  attr_accessor :values
@@ -29066,6 +29358,14 @@ module Google
29066
29358
  # @return [String]
29067
29359
  attr_accessor :description
29068
29360
 
29361
+ # Indicates if a router is dedicated for use with encrypted VLAN attachments (
29362
+ # interconnectAttachments).
29363
+ # Not currently available publicly.
29364
+ # Corresponds to the JSON property `encryptedInterconnectRouter`
29365
+ # @return [Boolean]
29366
+ attr_accessor :encrypted_interconnect_router
29367
+ alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router
29368
+
29069
29369
  # [Output Only] The unique identifier for the resource. This identifier is
29070
29370
  # defined by the server.
29071
29371
  # Corresponds to the JSON property `id`
@@ -29126,6 +29426,7 @@ module Google
29126
29426
  @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
29127
29427
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
29128
29428
  @description = args[:description] if args.key?(:description)
29429
+ @encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router)
29129
29430
  @id = args[:id] if args.key?(:id)
29130
29431
  @interfaces = args[:interfaces] if args.key?(:interfaces)
29131
29432
  @kind = args[:kind] if args.key?(:kind)
@@ -29320,13 +29621,12 @@ module Google
29320
29621
 
29321
29622
  # The interval in seconds between BGP keepalive messages that are sent to the
29322
29623
  # peer.
29323
- # Not currently available publicly.
29324
29624
  # Hold time is three times the interval at which keepalive messages are sent,
29325
29625
  # and the hold time is the maximum number of seconds allowed to elapse between
29326
29626
  # successive keepalive messages that BGP receives from a peer.
29327
29627
  # BGP will use the smaller of either the local hold time value or the peer's
29328
29628
  # hold time value as the hold time for the BGP connection between the two peers.
29329
- # If set, this value must be between 1 and 120. The default is 20.
29629
+ # If set, this value must be between 20 and 60. The default is 20.
29330
29630
  # Corresponds to the JSON property `keepaliveInterval`
29331
29631
  # @return [Fixnum]
29332
29632
  attr_accessor :keepalive_interval
@@ -29357,12 +29657,11 @@ module Google
29357
29657
  # User-specified list of prefix groups to advertise in custom mode, which can
29358
29658
  # take one of the following options:
29359
29659
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
29360
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
29361
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
29362
- # Note that this field can only be populated if advertise_mode is CUSTOM and
29363
- # overrides the list defined for the router (in the "bgp" message). These groups
29364
- # are advertised in addition to any specified prefixes. Leave this field blank
29365
- # to advertise no custom groups.
29660
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
29661
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
29662
+ # defined for the router (in the "bgp" message). These groups are advertised in
29663
+ # addition to any specified prefixes. Leave this field blank to advertise no
29664
+ # custom groups.
29366
29665
  # Corresponds to the JSON property `advertisedGroups`
29367
29666
  # @return [Array<String>]
29368
29667
  attr_accessor :advertised_groups
@@ -29390,7 +29689,6 @@ module Google
29390
29689
  attr_accessor :bfd
29391
29690
 
29392
29691
  # The status of the BGP peer connection.
29393
- # Not currently available publicly.
29394
29692
  # If set to FALSE, any active session with the peer is terminated and all
29395
29693
  # associated routing information is removed. If set to TRUE, the peer connection
29396
29694
  # can be established with routing information. The default is TRUE.
@@ -29442,6 +29740,14 @@ module Google
29442
29740
  # @return [String]
29443
29741
  attr_accessor :peer_ip_address
29444
29742
 
29743
+ # URI of the VM instance that is used as third-party router appliances such as
29744
+ # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
29745
+ # must be located in zones contained in the same region as this Cloud Router.
29746
+ # The VM instance is the peer side of the BGP session.
29747
+ # Corresponds to the JSON property `routerApplianceInstance`
29748
+ # @return [String]
29749
+ attr_accessor :router_appliance_instance
29750
+
29445
29751
  def initialize(**args)
29446
29752
  update!(**args)
29447
29753
  end
@@ -29460,6 +29766,7 @@ module Google
29460
29766
  @name = args[:name] if args.key?(:name)
29461
29767
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
29462
29768
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
29769
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29463
29770
  end
29464
29771
  end
29465
29772
 
@@ -29567,6 +29874,35 @@ module Google
29567
29874
  # @return [String]
29568
29875
  attr_accessor :name
29569
29876
 
29877
+ # The regional private internal IP address that is used to establish BGP
29878
+ # sessions to a VM instance acting as a third-party Router Appliance, such as a
29879
+ # Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
29880
+ # Corresponds to the JSON property `privateIpAddress`
29881
+ # @return [String]
29882
+ attr_accessor :private_ip_address
29883
+
29884
+ # Name of the interface that will be redundant with the current interface you
29885
+ # are creating. The redundantInterface must belong to the same Cloud Router as
29886
+ # the interface here. To establish the BGP session to a Router Appliance VM, you
29887
+ # must create two BGP peers. The two BGP peers must be attached to two separate
29888
+ # interfaces that are redundant with each other. The redundant_interface must be
29889
+ # 1-63 characters long, and comply with RFC1035. Specifically, the
29890
+ # redundant_interface must be 1-63 characters long and match the regular
29891
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
29892
+ # be a lowercase letter, and all following characters must be a dash, lowercase
29893
+ # letter, or digit, except the last character, which cannot be a dash.
29894
+ # Corresponds to the JSON property `redundantInterface`
29895
+ # @return [String]
29896
+ attr_accessor :redundant_interface
29897
+
29898
+ # The URL of the subnetwork resource that this interface belongs to, which must
29899
+ # be in the same region as the Cloud Router. When you establish a BGP session to
29900
+ # a VM instance using this interface, the VM instance must belong to the same
29901
+ # subnetwork as the subnetwork specified here.
29902
+ # Corresponds to the JSON property `subnetwork`
29903
+ # @return [String]
29904
+ attr_accessor :subnetwork
29905
+
29570
29906
  def initialize(**args)
29571
29907
  update!(**args)
29572
29908
  end
@@ -29578,6 +29914,9 @@ module Google
29578
29914
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
29579
29915
  @management_type = args[:management_type] if args.key?(:management_type)
29580
29916
  @name = args[:name] if args.key?(:name)
29917
+ @private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
29918
+ @redundant_interface = args[:redundant_interface] if args.key?(:redundant_interface)
29919
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
29581
29920
  end
29582
29921
  end
29583
29922
 
@@ -29968,6 +30307,13 @@ module Google
29968
30307
  # @return [String]
29969
30308
  attr_accessor :peer_ip_address
29970
30309
 
30310
+ # [Output only] URI of the VM instance that is used as third-party router
30311
+ # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
30312
+ # The VM instance is the peer side of the BGP session.
30313
+ # Corresponds to the JSON property `routerApplianceInstance`
30314
+ # @return [String]
30315
+ attr_accessor :router_appliance_instance
30316
+
29971
30317
  # BGP state as specified in RFC1771.
29972
30318
  # Corresponds to the JSON property `state`
29973
30319
  # @return [String]
@@ -30002,6 +30348,7 @@ module Google
30002
30348
  @name = args[:name] if args.key?(:name)
30003
30349
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
30004
30350
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
30351
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
30005
30352
  @state = args[:state] if args.key?(:state)
30006
30353
  @status = args[:status] if args.key?(:status)
30007
30354
  @uptime = args[:uptime] if args.key?(:uptime)
@@ -30495,7 +30842,7 @@ module Google
30495
30842
  end
30496
30843
  end
30497
30844
 
30498
- # Sets the scheduling options for an Instance. NextID: 17
30845
+ # Sets the scheduling options for an Instance. NextID: 21
30499
30846
  class Scheduling
30500
30847
  include Google::Apis::Core::Hashable
30501
30848
 
@@ -30510,12 +30857,31 @@ module Google
30510
30857
  attr_accessor :automatic_restart
30511
30858
  alias_method :automatic_restart?, :automatic_restart
30512
30859
 
30860
+ # Specify the time in seconds for host error detection, the value must be within
30861
+ # the range of [90, 330] with the increment of 30, if unset, the default
30862
+ # behavior of host error recovery will be used.
30863
+ # Corresponds to the JSON property `hostErrorTimeoutSeconds`
30864
+ # @return [Fixnum]
30865
+ attr_accessor :host_error_timeout_seconds
30866
+
30513
30867
  # An opaque location hint used to place the instance close to other resources.
30514
30868
  # This field is for use by internal tools that use the public API.
30515
30869
  # Corresponds to the JSON property `locationHint`
30516
30870
  # @return [String]
30517
30871
  attr_accessor :location_hint
30518
30872
 
30873
+ # Specifies the number of hours after VM instance creation where the VM won't be
30874
+ # scheduled for maintenance.
30875
+ # Corresponds to the JSON property `maintenanceFreezeDurationHours`
30876
+ # @return [Fixnum]
30877
+ attr_accessor :maintenance_freeze_duration_hours
30878
+
30879
+ # For more information about maintenance intervals, see Setting maintenance
30880
+ # intervals.
30881
+ # Corresponds to the JSON property `maintenanceInterval`
30882
+ # @return [String]
30883
+ attr_accessor :maintenance_interval
30884
+
30519
30885
  # The minimum number of virtual CPUs this instance will consume when running on
30520
30886
  # a sole-tenant node.
30521
30887
  # Corresponds to the JSON property `minNodeCpus`
@@ -30552,7 +30918,10 @@ module Google
30552
30918
  # Update properties of this object
30553
30919
  def update!(**args)
30554
30920
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
30921
+ @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
30555
30922
  @location_hint = args[:location_hint] if args.key?(:location_hint)
30923
+ @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
30924
+ @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
30556
30925
  @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
30557
30926
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
30558
30927
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
@@ -30669,6 +31038,11 @@ module Google
30669
31038
  # @return [Google::Apis::ComputeBeta::SecurityPolicyAdaptiveProtectionConfig]
30670
31039
  attr_accessor :adaptive_protection_config
30671
31040
 
31041
+ #
31042
+ # Corresponds to the JSON property `advancedOptionsConfig`
31043
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyAdvancedOptionsConfig]
31044
+ attr_accessor :advanced_options_config
31045
+
30672
31046
  # A list of associations that belong to this policy.
30673
31047
  # Corresponds to the JSON property `associations`
30674
31048
  # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyAssociation>]
@@ -30791,6 +31165,7 @@ module Google
30791
31165
  # Update properties of this object
30792
31166
  def update!(**args)
30793
31167
  @adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config)
31168
+ @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
30794
31169
  @associations = args[:associations] if args.key?(:associations)
30795
31170
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
30796
31171
  @description = args[:description] if args.key?(:description)
@@ -30856,6 +31231,31 @@ module Google
30856
31231
  end
30857
31232
  end
30858
31233
 
31234
+ #
31235
+ class SecurityPolicyAdvancedOptionsConfig
31236
+ include Google::Apis::Core::Hashable
31237
+
31238
+ #
31239
+ # Corresponds to the JSON property `jsonParsing`
31240
+ # @return [String]
31241
+ attr_accessor :json_parsing
31242
+
31243
+ #
31244
+ # Corresponds to the JSON property `logLevel`
31245
+ # @return [String]
31246
+ attr_accessor :log_level
31247
+
31248
+ def initialize(**args)
31249
+ update!(**args)
31250
+ end
31251
+
31252
+ # Update properties of this object
31253
+ def update!(**args)
31254
+ @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
31255
+ @log_level = args[:log_level] if args.key?(:log_level)
31256
+ end
31257
+ end
31258
+
30859
31259
  #
30860
31260
  class SecurityPolicyAssociation
30861
31261
  include Google::Apis::Core::Hashable
@@ -31029,7 +31429,7 @@ module Google
31029
31429
  class SecurityPolicyRule
31030
31430
  include Google::Apis::Core::Hashable
31031
31431
 
31032
- # The Action to preform when the client connection triggers the rule. Can
31432
+ # The Action to perform when the client connection triggers the rule. Can
31033
31433
  # currently be either "allow" or "deny()" where valid values for status are 403,
31034
31434
  # 404, and 502.
31035
31435
  # Corresponds to the JSON property `action`
@@ -31400,10 +31800,16 @@ module Google
31400
31800
  # A service attachment represents a service that a producer has exposed. It
31401
31801
  # encapsulates the load balancer which fronts the service runs and a list of NAT
31402
31802
  # IP ranges that the producers uses to represent the consumers connecting to the
31403
- # service. next tag = 16
31803
+ # service. next tag = 19
31404
31804
  class ServiceAttachment
31405
31805
  include Google::Apis::Core::Hashable
31406
31806
 
31807
+ # [Output Only] An array of connections for all the consumers connected to this
31808
+ # service attachment.
31809
+ # Corresponds to the JSON property `connectedEndpoints`
31810
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConnectedEndpoint>]
31811
+ attr_accessor :connected_endpoints
31812
+
31407
31813
  # The connection preference of service attachment. The value can be set to
31408
31814
  # ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always
31409
31815
  # accepts the connection from consumer forwarding rules.
@@ -31411,12 +31817,23 @@ module Google
31411
31817
  # @return [String]
31412
31818
  attr_accessor :connection_preference
31413
31819
 
31820
+ # Projects that are allowed to connect to this service attachment.
31821
+ # Corresponds to the JSON property `consumerAcceptLists`
31822
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConsumerProjectLimit>]
31823
+ attr_accessor :consumer_accept_lists
31824
+
31414
31825
  # [Output Only] An array of forwarding rules for all the consumers connected to
31415
31826
  # this service attachment.
31416
31827
  # Corresponds to the JSON property `consumerForwardingRules`
31417
31828
  # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConsumerForwardingRule>]
31418
31829
  attr_accessor :consumer_forwarding_rules
31419
31830
 
31831
+ # Projects that are not allowed to connect to this service attachment. The
31832
+ # project can be specified using its id or number.
31833
+ # Corresponds to the JSON property `consumerRejectLists`
31834
+ # @return [Array<String>]
31835
+ attr_accessor :consumer_reject_lists
31836
+
31420
31837
  # [Output Only] Creation timestamp in RFC3339 text format.
31421
31838
  # Corresponds to the JSON property `creationTimestamp`
31422
31839
  # @return [String]
@@ -31436,6 +31853,17 @@ module Google
31436
31853
  attr_accessor :enable_proxy_protocol
31437
31854
  alias_method :enable_proxy_protocol?, :enable_proxy_protocol
31438
31855
 
31856
+ # Fingerprint of this resource. A hash of the contents stored in this object.
31857
+ # This field is used in optimistic locking. This field will be ignored when
31858
+ # inserting a ServiceAttachment. An up-to-date fingerprint must be provided in
31859
+ # order to patch/update the ServiceAttachment; otherwise, the request will fail
31860
+ # with error 412 conditionNotMet. To see the latest fingerprint, make a get()
31861
+ # request to retrieve the ServiceAttachment.
31862
+ # Corresponds to the JSON property `fingerprint`
31863
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
31864
+ # @return [String]
31865
+ attr_accessor :fingerprint
31866
+
31439
31867
  # [Output Only] The unique identifier for the resource type. The server
31440
31868
  # generates this identifier.
31441
31869
  # Corresponds to the JSON property `id`
@@ -31470,6 +31898,11 @@ module Google
31470
31898
  # @return [String]
31471
31899
  attr_accessor :producer_forwarding_rule
31472
31900
 
31901
+ # [Output Only] An 128-bit global unique ID of the PSC service attachment.
31902
+ # Corresponds to the JSON property `pscServiceAttachmentId`
31903
+ # @return [Google::Apis::ComputeBeta::Uint128]
31904
+ attr_accessor :psc_service_attachment_id
31905
+
31473
31906
  # [Output Only] URL of the region where the service attachment resides. This
31474
31907
  # field applies only to the region resource. You must specify this field as part
31475
31908
  # of the HTTP request URL. It is not settable as a field in the request body.
@@ -31482,24 +31915,36 @@ module Google
31482
31915
  # @return [String]
31483
31916
  attr_accessor :self_link
31484
31917
 
31918
+ # The URL of a service serving the endpoint identified by this service
31919
+ # attachment.
31920
+ # Corresponds to the JSON property `targetService`
31921
+ # @return [String]
31922
+ attr_accessor :target_service
31923
+
31485
31924
  def initialize(**args)
31486
31925
  update!(**args)
31487
31926
  end
31488
31927
 
31489
31928
  # Update properties of this object
31490
31929
  def update!(**args)
31930
+ @connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints)
31491
31931
  @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
31932
+ @consumer_accept_lists = args[:consumer_accept_lists] if args.key?(:consumer_accept_lists)
31492
31933
  @consumer_forwarding_rules = args[:consumer_forwarding_rules] if args.key?(:consumer_forwarding_rules)
31934
+ @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
31493
31935
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31494
31936
  @description = args[:description] if args.key?(:description)
31495
31937
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
31938
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
31496
31939
  @id = args[:id] if args.key?(:id)
31497
31940
  @kind = args[:kind] if args.key?(:kind)
31498
31941
  @name = args[:name] if args.key?(:name)
31499
31942
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
31500
31943
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
31944
+ @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
31501
31945
  @region = args[:region] if args.key?(:region)
31502
31946
  @self_link = args[:self_link] if args.key?(:self_link)
31947
+ @target_service = args[:target_service] if args.key?(:target_service)
31503
31948
  end
31504
31949
  end
31505
31950
 
@@ -31626,7 +32071,45 @@ module Google
31626
32071
  end
31627
32072
  end
31628
32073
 
32074
+ # [Output Only] A connection connected to this service attachment.
32075
+ class ServiceAttachmentConnectedEndpoint
32076
+ include Google::Apis::Core::Hashable
32077
+
32078
+ # The url of a connected endpoint.
32079
+ # Corresponds to the JSON property `endpoint`
32080
+ # @return [String]
32081
+ attr_accessor :endpoint
32082
+
32083
+ # The url of a consumer forwarding rule. [Deprecated] Do not use.
32084
+ # Corresponds to the JSON property `forwardingRule`
32085
+ # @return [String]
32086
+ attr_accessor :forwarding_rule
32087
+
32088
+ # The PSC connection id of the connected endpoint.
32089
+ # Corresponds to the JSON property `pscConnectionId`
32090
+ # @return [Fixnum]
32091
+ attr_accessor :psc_connection_id
32092
+
32093
+ # The status of a connected endpoint to this service attachment.
32094
+ # Corresponds to the JSON property `status`
32095
+ # @return [String]
32096
+ attr_accessor :status
32097
+
32098
+ def initialize(**args)
32099
+ update!(**args)
32100
+ end
32101
+
32102
+ # Update properties of this object
32103
+ def update!(**args)
32104
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
32105
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
32106
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
32107
+ @status = args[:status] if args.key?(:status)
32108
+ end
32109
+ end
32110
+
31629
32111
  # [Output Only] A consumer forwarding rule connected to this service attachment.
32112
+ # [Deprecated] Do not use.
31630
32113
  class ServiceAttachmentConsumerForwardingRule
31631
32114
  include Google::Apis::Core::Hashable
31632
32115
 
@@ -31635,6 +32118,11 @@ module Google
31635
32118
  # @return [String]
31636
32119
  attr_accessor :forwarding_rule
31637
32120
 
32121
+ # The PSC connection id of the PSC Forwarding Rule.
32122
+ # Corresponds to the JSON property `pscConnectionId`
32123
+ # @return [Fixnum]
32124
+ attr_accessor :psc_connection_id
32125
+
31638
32126
  # The status of the forwarding rule.
31639
32127
  # Corresponds to the JSON property `status`
31640
32128
  # @return [String]
@@ -31647,10 +32135,36 @@ module Google
31647
32135
  # Update properties of this object
31648
32136
  def update!(**args)
31649
32137
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
32138
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
31650
32139
  @status = args[:status] if args.key?(:status)
31651
32140
  end
31652
32141
  end
31653
32142
 
32143
+ #
32144
+ class ServiceAttachmentConsumerProjectLimit
32145
+ include Google::Apis::Core::Hashable
32146
+
32147
+ # The value of the limit to set.
32148
+ # Corresponds to the JSON property `connectionLimit`
32149
+ # @return [Fixnum]
32150
+ attr_accessor :connection_limit
32151
+
32152
+ # The project id or number for the project to set the limit for.
32153
+ # Corresponds to the JSON property `projectIdOrNum`
32154
+ # @return [String]
32155
+ attr_accessor :project_id_or_num
32156
+
32157
+ def initialize(**args)
32158
+ update!(**args)
32159
+ end
32160
+
32161
+ # Update properties of this object
32162
+ def update!(**args)
32163
+ @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
32164
+ @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
32165
+ end
32166
+ end
32167
+
31654
32168
  #
31655
32169
  class ServiceAttachmentList
31656
32170
  include Google::Apis::Core::Hashable
@@ -31774,9 +32288,9 @@ module Google
31774
32288
  include Google::Apis::Core::Hashable
31775
32289
 
31776
32290
  # A list of ServiceAttachments contained in this scope.
31777
- # Corresponds to the JSON property `resources`
32291
+ # Corresponds to the JSON property `serviceAttachments`
31778
32292
  # @return [Array<Google::Apis::ComputeBeta::ServiceAttachment>]
31779
- attr_accessor :resources
32293
+ attr_accessor :service_attachments
31780
32294
 
31781
32295
  # Informational warning which replaces the list of service attachments when the
31782
32296
  # list is empty.
@@ -31790,7 +32304,7 @@ module Google
31790
32304
 
31791
32305
  # Update properties of this object
31792
32306
  def update!(**args)
31793
- @resources = args[:resources] if args.key?(:resources)
32307
+ @service_attachments = args[:service_attachments] if args.key?(:service_attachments)
31794
32308
  @warning = args[:warning] if args.key?(:warning)
31795
32309
  end
31796
32310
 
@@ -32577,7 +33091,7 @@ module Google
32577
33091
  # @return [String]
32578
33092
  attr_accessor :post_key_revocation_action_type
32579
33093
 
32580
- # Sets the scheduling options for an Instance. NextID: 17
33094
+ # Sets the scheduling options for an Instance. NextID: 21
32581
33095
  # Corresponds to the JSON property `scheduling`
32582
33096
  # @return [Google::Apis::ComputeBeta::Scheduling]
32583
33097
  attr_accessor :scheduling
@@ -33575,6 +34089,12 @@ module Google
33575
34089
  attr_accessor :enable_flow_logs
33576
34090
  alias_method :enable_flow_logs?, :enable_flow_logs
33577
34091
 
34092
+ # [Output Only] The range of external IPv6 addresses that are owned by this
34093
+ # subnetwork.
34094
+ # Corresponds to the JSON property `externalIpv6Prefix`
34095
+ # @return [String]
34096
+ attr_accessor :external_ipv6_prefix
34097
+
33578
34098
  # Fingerprint of this resource. A hash of the contents stored in this object.
33579
34099
  # This field is used in optimistic locking. This field will be ignored when
33580
34100
  # inserting a Subnetwork. An up-to-date fingerprint must be provided in order to
@@ -33608,6 +34128,14 @@ module Google
33608
34128
  # @return [String]
33609
34129
  attr_accessor :ip_cidr_range
33610
34130
 
34131
+ # The access type of IPv6 address this subnet holds. It's immutable and can only
34132
+ # be specified during creation or the first time the subnet is updated into
34133
+ # IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot
34134
+ # enable direct path.
34135
+ # Corresponds to the JSON property `ipv6AccessType`
34136
+ # @return [String]
34137
+ attr_accessor :ipv6_access_type
34138
+
33611
34139
  # [Output Only] The range of internal IPv6 addresses that are owned by this
33612
34140
  # subnetwork.
33613
34141
  # Corresponds to the JSON property `ipv6CidrRange`
@@ -33698,14 +34226,19 @@ module Google
33698
34226
  # @return [String]
33699
34227
  attr_accessor :self_link
33700
34228
 
34229
+ # The stack type for this subnet to identify whether the IPv6 feature is enabled
34230
+ # or not. If not specified IPV4_ONLY will be used.
34231
+ # This field can be both set at resource creation time and updated using patch.
34232
+ # Corresponds to the JSON property `stackType`
34233
+ # @return [String]
34234
+ attr_accessor :stack_type
34235
+
33701
34236
  # [Output Only] The state of the subnetwork, which can be one of the following
33702
34237
  # values: READY: Subnetwork is created and ready to use DRAINING: only
33703
34238
  # applicable to subnetworks that have the purpose set to
33704
34239
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
33705
34240
  # balancer are being drained. A subnetwork that is draining cannot be used or
33706
- # modified until it reaches a status of READY CREATING: Subnetwork is
33707
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
33708
- # being updated
34241
+ # modified until it reaches a status of READY
33709
34242
  # Corresponds to the JSON property `state`
33710
34243
  # @return [String]
33711
34244
  attr_accessor :state
@@ -33720,10 +34253,12 @@ module Google
33720
34253
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33721
34254
  @description = args[:description] if args.key?(:description)
33722
34255
  @enable_flow_logs = args[:enable_flow_logs] if args.key?(:enable_flow_logs)
34256
+ @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix)
33723
34257
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
33724
34258
  @gateway_address = args[:gateway_address] if args.key?(:gateway_address)
33725
34259
  @id = args[:id] if args.key?(:id)
33726
34260
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
34261
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
33727
34262
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
33728
34263
  @kind = args[:kind] if args.key?(:kind)
33729
34264
  @log_config = args[:log_config] if args.key?(:log_config)
@@ -33736,6 +34271,7 @@ module Google
33736
34271
  @role = args[:role] if args.key?(:role)
33737
34272
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
33738
34273
  @self_link = args[:self_link] if args.key?(:self_link)
34274
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
33739
34275
  @state = args[:state] if args.key?(:state)
33740
34276
  end
33741
34277
  end
@@ -34019,7 +34555,7 @@ module Google
34019
34555
 
34020
34556
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
34021
34557
  # Configures whether all, none or a subset of metadata fields should be added to
34022
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
34558
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
34023
34559
  # Corresponds to the JSON property `metadata`
34024
34560
  # @return [String]
34025
34561
  attr_accessor :metadata
@@ -34207,7 +34743,8 @@ module Google
34207
34743
  end
34208
34744
  end
34209
34745
 
34210
- # Subsetting options to make L4 ILB support any number of backend instances
34746
+ # Subsetting configuration for this BackendService. Currently this is applicable
34747
+ # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
34211
34748
  class Subsetting
34212
34749
  include Google::Apis::Core::Hashable
34213
34750
 
@@ -35113,7 +35650,8 @@ module Google
35113
35650
  include Google::Apis::Core::Hashable
35114
35651
 
35115
35652
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
35116
- # resource. Currently exactly one SslCertificate resource must be specified.
35653
+ # resource. At least one SSL certificate must be specified. Currently, you may
35654
+ # specify up to 15 SSL certificates.
35117
35655
  # Corresponds to the JSON property `sslCertificates`
35118
35656
  # @return [Array<String>]
35119
35657
  attr_accessor :ssl_certificates
@@ -35273,6 +35811,8 @@ module Google
35273
35811
  # URLs to SslCertificate resources that are used to authenticate connections
35274
35812
  # between users and the load balancer. At least one SSL certificate must be
35275
35813
  # specified. Currently, you may specify up to 15 SSL certificates.
35814
+ # sslCertificates do not apply when the load balancing scheme is set to
35815
+ # INTERNAL_SELF_MANAGED.
35276
35816
  # Corresponds to the JSON property `sslCertificates`
35277
35817
  # @return [Array<String>]
35278
35818
  attr_accessor :ssl_certificates
@@ -36624,7 +37164,8 @@ module Google
36624
37164
  include Google::Apis::Core::Hashable
36625
37165
 
36626
37166
  # New set of URLs to SslCertificate resources to associate with this
36627
- # TargetSslProxy. Currently exactly one ssl certificate must be specified.
37167
+ # TargetSslProxy. At least one SSL certificate must be specified. Currently, you
37168
+ # may specify up to 15 SSL certificates.
36628
37169
  # Corresponds to the JSON property `sslCertificates`
36629
37170
  # @return [Array<String>]
36630
37171
  attr_accessor :ssl_certificates
@@ -36698,7 +37239,8 @@ module Google
36698
37239
 
36699
37240
  # URLs to SslCertificate resources that are used to authenticate connections to
36700
37241
  # Backends. At least one SSL certificate must be specified. Currently, you may
36701
- # specify up to 15 SSL certificates.
37242
+ # specify up to 15 SSL certificates. sslCertificates do not apply when the load
37243
+ # balancing scheme is set to INTERNAL_SELF_MANAGED.
36702
37244
  # Corresponds to the JSON property `sslCertificates`
36703
37245
  # @return [Array<String>]
36704
37246
  attr_accessor :ssl_certificates
@@ -37653,6 +38195,31 @@ module Google
37653
38195
  end
37654
38196
  end
37655
38197
 
38198
+ #
38199
+ class Uint128
38200
+ include Google::Apis::Core::Hashable
38201
+
38202
+ #
38203
+ # Corresponds to the JSON property `high`
38204
+ # @return [Fixnum]
38205
+ attr_accessor :high
38206
+
38207
+ #
38208
+ # Corresponds to the JSON property `low`
38209
+ # @return [Fixnum]
38210
+ attr_accessor :low
38211
+
38212
+ def initialize(**args)
38213
+ update!(**args)
38214
+ end
38215
+
38216
+ # Update properties of this object
38217
+ def update!(**args)
38218
+ @high = args[:high] if args.key?(:high)
38219
+ @low = args[:low] if args.key?(:low)
38220
+ end
38221
+ end
38222
+
37656
38223
  # Represents a URL Map resource.
37657
38224
  # Google Compute Engine has two URL Map resources:
37658
38225
  # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
@@ -38477,7 +39044,9 @@ module Google
38477
39044
  # requests. If the number of results is larger than maxResults, use the
38478
39045
  # nextPageToken as a value for the query parameter pageToken in the next list
38479
39046
  # request. Subsequent list requests will have their own nextPageToken to
38480
- # continue paging through the results.
39047
+ # continue paging through the results. In special cases listUsable may return 0
39048
+ # subnetworks and nextPageToken which still should be used to get the next page
39049
+ # of results.
38481
39050
  # Corresponds to the JSON property `nextPageToken`
38482
39051
  # @return [String]
38483
39052
  attr_accessor :next_page_token
@@ -38881,7 +39450,7 @@ module Google
38881
39450
  # @return [String]
38882
39451
  attr_accessor :self_link
38883
39452
 
38884
- # A list of interfaces on this VPN gateway.
39453
+ # The list of VPN interfaces associated with this VPN gateway.
38885
39454
  # Corresponds to the JSON property `vpnInterfaces`
38886
39455
  # @return [Array<Google::Apis::ComputeBeta::VpnGatewayVpnGatewayInterface>]
38887
39456
  attr_accessor :vpn_interfaces
@@ -39274,12 +39843,30 @@ module Google
39274
39843
  class VpnGatewayVpnGatewayInterface
39275
39844
  include Google::Apis::Core::Hashable
39276
39845
 
39277
- # The numeric ID of this VPN gateway interface.
39846
+ # [Output Only] Numeric identifier for this VPN interface associated with the
39847
+ # VPN gateway.
39278
39848
  # Corresponds to the JSON property `id`
39279
39849
  # @return [Fixnum]
39280
39850
  attr_accessor :id
39281
39851
 
39282
- # [Output Only] The external IP address for this VPN gateway interface.
39852
+ # URL of the VLAN attachment (interconnectAttachment) resource for this VPN
39853
+ # gateway interface. When the value of this field is present, the VPN gateway is
39854
+ # used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for
39855
+ # this VPN gateway interface goes through the specified VLAN attachment resource.
39856
+ # Not currently available publicly.
39857
+ # Corresponds to the JSON property `interconnectAttachment`
39858
+ # @return [String]
39859
+ attr_accessor :interconnect_attachment
39860
+
39861
+ # [Output Only] IP address for this VPN interface associated with the VPN
39862
+ # gateway. The IP address could be either a regional external IP address or a
39863
+ # regional internal IP address. The two IP addresses for a VPN gateway must be
39864
+ # all regional external or regional internal IP addresses. There cannot be a mix
39865
+ # of regional external IP addresses and regional internal IP addresses. For
39866
+ # IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could
39867
+ # either be regional internal IP addresses or regional external IP addresses.
39868
+ # For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP
39869
+ # address must be a regional external IP address.
39283
39870
  # Corresponds to the JSON property `ipAddress`
39284
39871
  # @return [String]
39285
39872
  attr_accessor :ip_address
@@ -39291,6 +39878,7 @@ module Google
39291
39878
  # Update properties of this object
39292
39879
  def update!(**args)
39293
39880
  @id = args[:id] if args.key?(:id)
39881
+ @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
39294
39882
  @ip_address = args[:ip_address] if args.key?(:ip_address)
39295
39883
  end
39296
39884
  end
@@ -39556,8 +40144,8 @@ module Google
39556
40144
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
39557
40145
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
39558
40146
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
39559
- # - REJECTED: Tunnel configuration was rejected, can be result of being
39560
- # blacklisted.
40147
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
40148
+ # access.
39561
40149
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
39562
40150
  # resources.
39563
40151
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for