google-apis-compute_beta 0.6.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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