google-apis-compute_beta 0.7.0 → 0.12.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: 8f1f6d35efad211a2c3b995234c787d51b604337ff1cf96f8fcbbb95208f8385
4
- data.tar.gz: 9e7cdb0f61869f34ca6056f60b83bd1b7b37378cb9bd9ea08021414a2f2c449e
3
+ metadata.gz: 5befb0eb9e9e37cf5f47b2e6d97ab4b9b0106533c01b6521dff76335d150d1ad
4
+ data.tar.gz: 3769cac8bf4d21a1196ee8567d5b123f2e7e5fd665592956e1f066a731dbb9a2
5
5
  SHA512:
6
- metadata.gz: e11e6452aa1da80215ebf3a55fe5f28b299061c04f121a8d336bcf37f0659f83053f3aa6a85f93758935a25f65eccb4a7cc551ab862eb88f8a7d2a549ed939bc
7
- data.tar.gz: 325ddae718b8b3895ba8655375b0ea4055bb67377cc514e542a76371335b901664a0e76ddd35e67f9b20a09757cffca7ff1e1fd8100bb986b8cbceaeae78ba10
6
+ metadata.gz: 6685975885df8bd00642460a36f041ddf2e1907ead6326d0f47e372d63585c8b5ebdfee0da6c2cf7938ed29413ab18daf6d3c5886f799a5f67921780515b1f88
7
+ data.tar.gz: 7596b77c19d6f5fbada2a8b37c5a46ae49b5644a951c94595934980c554b2fe94da3035db692977cecc06cde20dfb3783782041f8f53dad7d5d8d585e11ec705
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-compute_beta
2
2
 
3
+ ### v0.12.0 (2021-06-10)
4
+
5
+ * Regenerated from discovery document revision 20210525
6
+ * Regenerated using generator version 0.3.0
7
+
8
+ ### v0.11.0 (2021-05-28)
9
+
10
+ * Regenerated from discovery document revision 20210518
11
+
12
+ ### v0.10.0 (2021-05-20)
13
+
14
+ * Regenerated from discovery document revision 20210505
15
+ * Unspecified changes
16
+
17
+ ### v0.9.0 (2021-05-05)
18
+
19
+ * Regenerated from discovery document revision 20210415
20
+
21
+ ### v0.8.0 (2021-03-30)
22
+
23
+ * Regenerated from discovery document revision 20210316
24
+
3
25
  ### v0.7.0 (2021-03-19)
4
26
 
5
27
  * Regenerated from discovery document revision 20210310
@@ -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,6 +2937,34 @@ 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
@@ -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`
@@ -3296,11 +3395,12 @@ module Google
3296
3395
  attr_accessor :self_link
3297
3396
 
3298
3397
  # Type of session affinity to use. The default is NONE.
3299
- # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3300
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3301
- # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3302
- # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3303
- # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
3398
+ # When the loadBalancingScheme is EXTERNAL:
3399
+ # * For Network Load Balancing, the possible values are NONE, CLIENT_IP,
3400
+ # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. * For all other load balancers that
3401
+ # use loadBalancingScheme=EXTERNAL, the possible values are NONE, CLIENT_IP, or
3402
+ # GENERATED_COOKIE. * You can use GENERATED_COOKIE if the protocol is HTTP,
3403
+ # HTTP2, or HTTPS.
3304
3404
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
3305
3405
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3306
3406
  # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
@@ -3312,15 +3412,16 @@ module Google
3312
3412
  # @return [String]
3313
3413
  attr_accessor :session_affinity
3314
3414
 
3315
- # Subsetting options to make L4 ILB support any number of backend instances
3415
+ # Subsetting configuration for this BackendService. Currently this is applicable
3416
+ # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
3417
+ # Traffic Director.
3316
3418
  # Corresponds to the JSON property `subsetting`
3317
3419
  # @return [Google::Apis::ComputeBeta::Subsetting]
3318
3420
  attr_accessor :subsetting
3319
3421
 
3320
- # The backend service timeout has a different meaning depending on the type of
3321
- # load balancer. For more information see, Backend service settings The default
3322
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3323
- # seconds.
3422
+ # Not supported when the backend service is referenced by a URL map that is
3423
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3424
+ # Instead, use maxStreamDuration.
3324
3425
  # Corresponds to the JSON property `timeoutSec`
3325
3426
  # @return [Fixnum]
3326
3427
  attr_accessor :timeout_sec
@@ -3335,6 +3436,7 @@ module Google
3335
3436
  @backends = args[:backends] if args.key?(:backends)
3336
3437
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
3337
3438
  @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
3439
+ @compression_mode = args[:compression_mode] if args.key?(:compression_mode)
3338
3440
  @connection_draining = args[:connection_draining] if args.key?(:connection_draining)
3339
3441
  @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3340
3442
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
@@ -3342,6 +3444,7 @@ module Google
3342
3444
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3343
3445
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
3344
3446
  @description = args[:description] if args.key?(:description)
3447
+ @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
3345
3448
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3346
3449
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
3347
3450
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -4470,7 +4573,10 @@ module Google
4470
4573
  end
4471
4574
  end
4472
4575
 
4473
- #
4576
+ # A transient resource used in compute.instances.bulkInsert and compute.
4577
+ # regionInstances.bulkInsert and compute.regionInstances.recommendLocations.
4578
+ # This resource is not persisted anywhere, it is used only for processing the
4579
+ # requests.
4474
4580
  class BulkInsertInstanceResource
4475
4581
  include Google::Apis::Core::Hashable
4476
4582
 
@@ -4492,16 +4598,17 @@ module Google
4492
4598
 
4493
4599
  # The minimum number of instances to create. If no min_count is specified then
4494
4600
  # count is used as the default value. If min_count instances cannot be created,
4495
- # then no instances will be created.
4601
+ # then no instances will be created and instances already created will be
4602
+ # deleted.
4496
4603
  # Corresponds to the JSON property `minCount`
4497
4604
  # @return [Fixnum]
4498
4605
  attr_accessor :min_count
4499
4606
 
4500
4607
  # The string pattern used for the names of the VMs. Either name_pattern or
4501
- # predefined_names must be set. The pattern should contain one consecutive
4608
+ # per_instance_properties must be set. The pattern should contain one continuous
4502
4609
  # sequence of placeholder hash characters (#) with each character corresponding
4503
4610
  # to one digit of the generated instance name. Example: name_pattern of inst-####
4504
- # will generate instance names like inst-0001, inst-0002, ... . If there
4611
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
4505
4612
  # already exist instance(s) whose names match the name pattern in the same
4506
4613
  # project and zone, then the generated instance numbers will start after the
4507
4614
  # biggest existing number. For example, if there exists an instance with name
@@ -4606,6 +4713,17 @@ module Google
4606
4713
  attr_accessor :include_host
4607
4714
  alias_method :include_host?, :include_host
4608
4715
 
4716
+ # Allows HTTP request headers (by name) to be used in the cache key.
4717
+ # Corresponds to the JSON property `includeHttpHeaders`
4718
+ # @return [Array<String>]
4719
+ attr_accessor :include_http_headers
4720
+
4721
+ # Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
4722
+ # will be used in the cache key Cloud CDN generates.
4723
+ # Corresponds to the JSON property `includeNamedCookies`
4724
+ # @return [Array<String>]
4725
+ attr_accessor :include_named_cookies
4726
+
4609
4727
  # If true, http and https requests will be cached separately.
4610
4728
  # Corresponds to the JSON property `includeProtocol`
4611
4729
  # @return [Boolean]
@@ -4644,6 +4762,8 @@ module Google
4644
4762
  # Update properties of this object
4645
4763
  def update!(**args)
4646
4764
  @include_host = args[:include_host] if args.key?(:include_host)
4765
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
4766
+ @include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
4647
4767
  @include_protocol = args[:include_protocol] if args.key?(:include_protocol)
4648
4768
  @include_query_string = args[:include_query_string] if args.key?(:include_query_string)
4649
4769
  @query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
@@ -4663,14 +4783,14 @@ module Google
4663
4783
  # @return [Google::Apis::ComputeBeta::Duration]
4664
4784
  attr_accessor :connect_timeout
4665
4785
 
4666
- # The maximum number of connections to the backend service. If not specified,
4667
- # there is no limit.
4786
+ # Not supported when the backend service is referenced by a URL map that is
4787
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4668
4788
  # Corresponds to the JSON property `maxConnections`
4669
4789
  # @return [Fixnum]
4670
4790
  attr_accessor :max_connections
4671
4791
 
4672
- # The maximum number of pending requests allowed to the backend service. If not
4673
- # specified, there is no limit.
4792
+ # Not supported when the backend service is referenced by a URL map that is
4793
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4674
4794
  # Corresponds to the JSON property `maxPendingRequests`
4675
4795
  # @return [Fixnum]
4676
4796
  attr_accessor :max_pending_requests
@@ -4681,16 +4801,14 @@ module Google
4681
4801
  # @return [Fixnum]
4682
4802
  attr_accessor :max_requests
4683
4803
 
4684
- # Maximum requests for a single connection to the backend service. This
4685
- # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
4686
- # specified, there is no limit. Setting this parameter to 1 will effectively
4687
- # disable keep alive.
4804
+ # Not supported when the backend service is referenced by a URL map that is
4805
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4688
4806
  # Corresponds to the JSON property `maxRequestsPerConnection`
4689
4807
  # @return [Fixnum]
4690
4808
  attr_accessor :max_requests_per_connection
4691
4809
 
4692
- # The maximum number of parallel retries allowed to the backend cluster. If not
4693
- # specified, the default is 1.
4810
+ # Not supported when the backend service is referenced by a URL map that is
4811
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4694
4812
  # Corresponds to the JSON property `maxRetries`
4695
4813
  # @return [Fixnum]
4696
4814
  attr_accessor :max_retries
@@ -7168,6 +7286,10 @@ module Google
7168
7286
  attr_accessor :id
7169
7287
 
7170
7288
  # List of interfaces for this external VPN gateway.
7289
+ # If your peer-side gateway is an on-premises gateway and non-AWS cloud
7290
+ # providers? gateway, at most two interfaces can be provided for an external VPN
7291
+ # gateway. If your peer side is an AWS virtual private gateway, four interfaces
7292
+ # should be provided for an external VPN gateway.
7171
7293
  # Corresponds to the JSON property `interfaces`
7172
7294
  # @return [Array<Google::Apis::ComputeBeta::ExternalVpnGatewayInterface>]
7173
7295
  attr_accessor :interfaces
@@ -7243,8 +7365,9 @@ module Google
7243
7365
 
7244
7366
  # The numeric ID of this interface. The allowed input values for this id for
7245
7367
  # different redundancy types of external VPN gateway:
7246
- # SINGLE_IP_INTERNALLY_REDUNDANT - 0 TWO_IPS_REDUNDANCY - 0, 1
7247
- # FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
7368
+ # - SINGLE_IP_INTERNALLY_REDUNDANT - 0
7369
+ # - TWO_IPS_REDUNDANCY - 0, 1
7370
+ # - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
7248
7371
  # Corresponds to the JSON property `id`
7249
7372
  # @return [Fixnum]
7250
7373
  attr_accessor :id
@@ -8209,17 +8332,6 @@ module Google
8209
8332
  # @return [Array<String>]
8210
8333
  attr_accessor :target_resources
8211
8334
 
8212
- # A list of secure labels that controls which instances the firewall rule
8213
- # applies to. If targetSecureLabel are specified, then the firewall rule applies
8214
- # only to instances in the VPC network that have one of those secure labels.
8215
- # targetSecureLabel may not be set at the same time as targetServiceAccounts. If
8216
- # neither targetServiceAccounts nor targetSecureLabel are specified, the
8217
- # firewall rule applies to all instances on the specified network. Maximum
8218
- # number of target label values allowed is 256.
8219
- # Corresponds to the JSON property `targetSecureLabels`
8220
- # @return [Array<String>]
8221
- attr_accessor :target_secure_labels
8222
-
8223
8335
  # A list of service accounts indicating the sets of instances that are applied
8224
8336
  # with this rule.
8225
8337
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -8242,7 +8354,6 @@ module Google
8242
8354
  @priority = args[:priority] if args.key?(:priority)
8243
8355
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8244
8356
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8245
- @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
8246
8357
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8247
8358
  end
8248
8359
  end
@@ -8268,12 +8379,6 @@ module Google
8268
8379
  # @return [Array<String>]
8269
8380
  attr_accessor :src_ip_ranges
8270
8381
 
8271
- # List of firewall label values, which should be matched at the source of the
8272
- # traffic. Maximum number of source label values allowed is 256.
8273
- # Corresponds to the JSON property `srcSecureLabels`
8274
- # @return [Array<String>]
8275
- attr_accessor :src_secure_labels
8276
-
8277
8382
  def initialize(**args)
8278
8383
  update!(**args)
8279
8384
  end
@@ -8283,7 +8388,6 @@ module Google
8283
8388
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8284
8389
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8285
8390
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8286
- @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
8287
8391
  end
8288
8392
  end
8289
8393
 
@@ -8330,7 +8434,7 @@ module Google
8330
8434
  # - If the value is a percent, then the calculated value is percent/100 *
8331
8435
  # targetSize. For example, the calculated value of a 80% of a managed instance
8332
8436
  # group with 150 instances would be (80/100 * 150) = 120 VM instances. If there
8333
- # is a remainder, the number is rounded up.
8437
+ # is a remainder, the number is rounded.
8334
8438
  # Corresponds to the JSON property `calculated`
8335
8439
  # @return [Fixnum]
8336
8440
  attr_accessor :calculated
@@ -8399,10 +8503,11 @@ module Google
8399
8503
  attr_accessor :ip_address
8400
8504
 
8401
8505
  # The IP protocol to which this rule applies.
8402
- # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
8506
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and
8507
+ # L3_DEFAULT.
8403
8508
  # The valid IP protocols are different for different load balancing products:
8404
8509
  # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
8405
- # one of TCP, UDP or ALL is valid.
8510
+ # one of TCP, UDP or L3_DEFAULT is valid.
8406
8511
  # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
8407
8512
  # only TCP is valid.
8408
8513
  # - Internal HTTP(S) Load Balancing: The load balancing scheme is
@@ -8410,17 +8515,18 @@ module Google
8410
8515
  # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
8411
8516
  # is EXTERNAL and only TCP is valid.
8412
8517
  # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
8413
- # TCP or UDP is valid.
8518
+ # TCP, UDP or L3_DEFAULT is valid.
8414
8519
  # Corresponds to the JSON property `IPProtocol`
8415
8520
  # @return [String]
8416
8521
  attr_accessor :ip_protocol
8417
8522
 
8418
- # This field is used along with the backend_service field for internal load
8419
- # balancing or with the target field for internal TargetInstance. This field
8420
- # cannot be used with port or portRange fields.
8421
- # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify
8422
- # this field to allow packets addressed to any ports will be forwarded to the
8423
- # backends configured with this forwarding rule.
8523
+ # This field is used along with the backend_service field for Internal TCP/UDP
8524
+ # Load Balancing or Network Load Balancing, or with the target field for
8525
+ # internal and external TargetInstance.
8526
+ # You can only use one of ports and port_range, or allPorts. The three are
8527
+ # mutually exclusive.
8528
+ # For TCP, UDP and SCTP traffic, packets addressed to any ports will be
8529
+ # forwarded to the target or backendService.
8424
8530
  # Corresponds to the JSON property `allPorts`
8425
8531
  # @return [Boolean]
8426
8532
  attr_accessor :all_ports
@@ -8582,13 +8688,16 @@ module Google
8582
8688
  # @return [String]
8583
8689
  attr_accessor :network_tier
8584
8690
 
8585
- # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
8586
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
8587
- # or SCTP.
8691
+ # This field can be used only if:
8692
+ # - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or
8693
+ # INTERNAL_MANAGED
8694
+ # - IPProtocol is one of TCP, UDP, or SCTP.
8588
8695
  # Packets addressed to ports in the specified range will be forwarded to target
8589
- # or backend_service. You can only use one of ports, port_range, or allPorts.
8590
- # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
8591
- # IPProtocol] pair must have disjoint port ranges.
8696
+ # or backend_service.
8697
+ # You can only use one of ports, port_range, or allPorts. The three are mutually
8698
+ # exclusive.
8699
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8700
+ # ports.
8592
8701
  # Some types of forwarding target have constraints on the acceptable ports:
8593
8702
  # - TargetHttpProxy: 80, 8080
8594
8703
  # - TargetHttpsProxy: 443
@@ -8609,8 +8718,8 @@ module Google
8609
8718
  # You can only use one of ports and port_range, or allPorts. The three are
8610
8719
  # mutually exclusive.
8611
8720
  # You can specify a list of up to five ports, which can be non-contiguous.
8612
- # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
8613
- # specify ports.
8721
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8722
+ # ports.
8614
8723
  # For more information, see [Port specifications](/load-balancing/docs/
8615
8724
  # forwarding-rule-concepts#port_specifications).
8616
8725
  # Corresponds to the JSON property `ports`
@@ -8622,6 +8731,11 @@ module Google
8622
8731
  # @return [Fixnum]
8623
8732
  attr_accessor :psc_connection_id
8624
8733
 
8734
+ #
8735
+ # Corresponds to the JSON property `pscConnectionStatus`
8736
+ # @return [String]
8737
+ attr_accessor :psc_connection_status
8738
+
8625
8739
  # [Output Only] URL of the region where the regional forwarding rule resides.
8626
8740
  # This field is not applicable to global forwarding rules. You must specify this
8627
8741
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -8705,6 +8819,7 @@ module Google
8705
8819
  @port_range = args[:port_range] if args.key?(:port_range)
8706
8820
  @ports = args[:ports] if args.key?(:ports)
8707
8821
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
8822
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
8708
8823
  @region = args[:region] if args.key?(:region)
8709
8824
  @self_link = args[:self_link] if args.key?(:self_link)
8710
8825
  @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
@@ -10036,11 +10151,12 @@ module Google
10036
10151
 
10037
10152
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
10038
10153
  # and not more than 10. HealthCheck resources must have portSpecification=
10039
- # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
10040
- # regional and in the same region. For global HealthCheckService, HealthCheck
10041
- # must be global. Mix of regional and global HealthChecks is not supported.
10042
- # Multiple regional HealthChecks must belong to the same region. Regional
10043
- # HealthChecks</code? must belong to the same region as zones of NEGs.
10154
+ # USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional
10155
+ # HealthCheckService, the HealthCheck must be regional and in the same region.
10156
+ # For global HealthCheckService, HealthCheck must be global. Mix of regional and
10157
+ # global HealthChecks is not supported. Multiple regional HealthChecks must
10158
+ # belong to the same region. Regional HealthChecks must belong to the same
10159
+ # region as zones of NEGs.
10044
10160
  # Corresponds to the JSON property `healthChecks`
10045
10161
  # @return [Array<String>]
10046
10162
  attr_accessor :health_checks
@@ -10507,6 +10623,16 @@ module Google
10507
10623
  # @return [Hash<String,String>]
10508
10624
  attr_accessor :annotations
10509
10625
 
10626
+ # URL of the forwarding rule associated with the health status of the instance.
10627
+ # Corresponds to the JSON property `forwardingRule`
10628
+ # @return [String]
10629
+ attr_accessor :forwarding_rule
10630
+
10631
+ # A forwarding rule IP address assigned to this instance.
10632
+ # Corresponds to the JSON property `forwardingRuleIp`
10633
+ # @return [String]
10634
+ attr_accessor :forwarding_rule_ip
10635
+
10510
10636
  # Health state of the instance.
10511
10637
  # Corresponds to the JSON property `healthState`
10512
10638
  # @return [String]
@@ -10547,6 +10673,8 @@ module Google
10547
10673
  # Update properties of this object
10548
10674
  def update!(**args)
10549
10675
  @annotations = args[:annotations] if args.key?(:annotations)
10676
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10677
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
10550
10678
  @health_state = args[:health_state] if args.key?(:health_state)
10551
10679
  @instance = args[:instance] if args.key?(:instance)
10552
10680
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -10658,6 +10786,9 @@ module Google
10658
10786
 
10659
10787
  # The HTTP status code used to abort the request.
10660
10788
  # The value must be between 200 and 599 inclusive.
10789
+ # For gRPC protocol, the gRPC status code is mapped to HTTP status code
10790
+ # according to this mapping table. HTTP status 200 is mapped to gRPC status
10791
+ # UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
10661
10792
  # Corresponds to the JSON property `httpStatus`
10662
10793
  # @return [Fixnum]
10663
10794
  attr_accessor :http_status
@@ -11321,8 +11452,8 @@ module Google
11321
11452
  # @return [Google::Apis::ComputeBeta::Duration]
11322
11453
  attr_accessor :per_try_timeout
11323
11454
 
11324
- # Specfies one or more conditions when this retry rule applies. Valid values are:
11325
- #
11455
+ # Specifies one or more conditions when this retry rule applies. Valid values
11456
+ # are:
11326
11457
  # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
11327
11458
  # any 5xx response code, or if the backend service does not respond at all,
11328
11459
  # example: disconnects, reset, read timeout, connection failure, and refused
@@ -12002,13 +12133,17 @@ module Google
12002
12133
  # @return [Google::Apis::ComputeBeta::InitialStateConfig]
12003
12134
  attr_accessor :shielded_instance_initial_state
12004
12135
 
12005
- # URL of the source disk used to create this image. This can be a full or valid
12006
- # partial URL. You must provide either this property or the rawDisk.source
12007
- # property but not both to create an image. For example, the following are valid
12008
- # values:
12136
+ # URL of the source disk used to create this image. For example, the following
12137
+ # are valid values:
12009
12138
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
12010
12139
  # - projects/project/zones/zone/disks/disk
12011
12140
  # - zones/zone/disks/disk
12141
+ # In order to create an image, you must provide the full or partial URL of one
12142
+ # of the following:
12143
+ # - The rawDisk.source URL
12144
+ # - The sourceDisk URL
12145
+ # - The sourceImage URL
12146
+ # - The sourceSnapshot URL
12012
12147
  # Corresponds to the JSON property `sourceDisk`
12013
12148
  # @return [String]
12014
12149
  attr_accessor :source_disk
@@ -12029,10 +12164,10 @@ module Google
12029
12164
  # URL of the source image used to create this image.
12030
12165
  # In order to create an image, you must provide the full or partial URL of one
12031
12166
  # of the following:
12032
- # - The selfLink URL
12033
- # - This property
12034
12167
  # - The rawDisk.source URL
12035
12168
  # - The sourceDisk URL
12169
+ # - The sourceImage URL
12170
+ # - The sourceSnapshot URL
12036
12171
  # Corresponds to the JSON property `sourceImage`
12037
12172
  # @return [String]
12038
12173
  attr_accessor :source_image
@@ -12053,11 +12188,10 @@ module Google
12053
12188
  # URL of the source snapshot used to create this image.
12054
12189
  # In order to create an image, you must provide the full or partial URL of one
12055
12190
  # of the following:
12056
- # - The selfLink URL
12057
- # - This property
12058
- # - The sourceImage URL
12059
12191
  # - The rawDisk.source URL
12060
12192
  # - The sourceDisk URL
12193
+ # - The sourceImage URL
12194
+ # - The sourceSnapshot URL
12061
12195
  # Corresponds to the JSON property `sourceSnapshot`
12062
12196
  # @return [String]
12063
12197
  attr_accessor :source_snapshot
@@ -12151,8 +12285,13 @@ module Google
12151
12285
  # @return [String]
12152
12286
  attr_accessor :sha1_checksum
12153
12287
 
12154
- # The full Google Cloud Storage URL where the disk image is stored. You must
12155
- # provide either this property or the sourceDisk property but not both.
12288
+ # The full Google Cloud Storage URL where the disk image is stored.
12289
+ # In order to create an image, you must provide the full or partial URL of one
12290
+ # of the following:
12291
+ # - The rawDisk.source URL
12292
+ # - The sourceDisk URL
12293
+ # - The sourceImage URL
12294
+ # - The sourceSnapshot URL
12156
12295
  # Corresponds to the JSON property `source`
12157
12296
  # @return [String]
12158
12297
  attr_accessor :source
@@ -12170,6 +12309,27 @@ module Google
12170
12309
  end
12171
12310
  end
12172
12311
 
12312
+ #
12313
+ class ImageFamilyView
12314
+ include Google::Apis::Core::Hashable
12315
+
12316
+ # Represents an Image resource.
12317
+ # You can use images to create boot disks for your VM instances. For more
12318
+ # information, read Images. (== resource_for `$api_version`.images ==)
12319
+ # Corresponds to the JSON property `image`
12320
+ # @return [Google::Apis::ComputeBeta::Image]
12321
+ attr_accessor :image
12322
+
12323
+ def initialize(**args)
12324
+ update!(**args)
12325
+ end
12326
+
12327
+ # Update properties of this object
12328
+ def update!(**args)
12329
+ @image = args[:image] if args.key?(:image)
12330
+ end
12331
+ end
12332
+
12173
12333
  # Contains a list of images.
12174
12334
  class ImageList
12175
12335
  include Google::Apis::Core::Hashable
@@ -12540,7 +12700,7 @@ module Google
12540
12700
  attr_accessor :satisfies_pzs
12541
12701
  alias_method :satisfies_pzs?, :satisfies_pzs
12542
12702
 
12543
- # Sets the scheduling options for an Instance. NextID: 20
12703
+ # Sets the scheduling options for an Instance. NextID: 21
12544
12704
  # Corresponds to the JSON property `scheduling`
12545
12705
  # @return [Google::Apis::ComputeBeta::Scheduling]
12546
12706
  attr_accessor :scheduling
@@ -13165,6 +13325,13 @@ module Google
13165
13325
  end
13166
13326
  end
13167
13327
 
13328
+ # Whether the instance is a standby. Properties of a standby instance comparing
13329
+ # to the regular instance: ======================================================
13330
+ # =================== | regular | standby =======================================
13331
+ # ================================== managed by IGM? | yes | yes added to the IG?
13332
+ # | yes | yes counts towards IGM's target size? | yes | no taken into account
13333
+ # by Autoscaler? | yes | no receives traffic from LB? | yes | no ================
13334
+ # =========================================================
13168
13335
  # Represents a Managed Instance Group resource.
13169
13336
  # An instance group is a collection of VM instances that you can manage as a
13170
13337
  # single entity. For more information, read Instance groups.
@@ -13899,6 +14066,17 @@ module Google
13899
14066
  # @return [String]
13900
14067
  attr_accessor :minimal_action
13901
14068
 
14069
+ # Most disruptive action that is allowed to be taken on an instance. You can
14070
+ # specify either NONE to forbid any actions, REFRESH to allow actions that do
14071
+ # not need instance restart, RESTART to allow actions that can be applied
14072
+ # without instance replacing or REPLACE to allow all possible actions. If the
14073
+ # Updater determines that the minimal update action needed is more disruptive
14074
+ # than most disruptive allowed action you specify it will not perform the update
14075
+ # at all.
14076
+ # Corresponds to the JSON property `mostDisruptiveAllowedAction`
14077
+ # @return [String]
14078
+ attr_accessor :most_disruptive_allowed_action
14079
+
13902
14080
  # What action should be used to replace instances. See minimal_action.REPLACE
13903
14081
  # Corresponds to the JSON property `replacementMethod`
13904
14082
  # @return [String]
@@ -13924,6 +14102,7 @@ module Google
13924
14102
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
13925
14103
  @min_ready_sec = args[:min_ready_sec] if args.key?(:min_ready_sec)
13926
14104
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
14105
+ @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
13927
14106
  @replacement_method = args[:replacement_method] if args.key?(:replacement_method)
13928
14107
  @type = args[:type] if args.key?(:type)
13929
14108
  end
@@ -15302,7 +15481,7 @@ module Google
15302
15481
  # @return [Array<String>]
15303
15482
  attr_accessor :resource_policies
15304
15483
 
15305
- # Sets the scheduling options for an Instance. NextID: 20
15484
+ # Sets the scheduling options for an Instance. NextID: 21
15306
15485
  # Corresponds to the JSON property `scheduling`
15307
15486
  # @return [Google::Apis::ComputeBeta::Scheduling]
15308
15487
  attr_accessor :scheduling
@@ -16369,14 +16548,18 @@ module Google
16369
16548
  # @return [String]
16370
16549
  attr_accessor :edge_availability_domain
16371
16550
 
16372
- # Indicates the user-supplied encryption option of this interconnect attachment:
16373
- # - NONE is the default value, which means that the attachment carries
16374
- # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
16375
- # type of attachment.
16376
- # - IPSEC indicates that the attachment carries only traffic encrypted by an
16377
- # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
16378
- # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
16379
- # Interconnect, create the attachment using this option.
16551
+ # Indicates the user-supplied encryption option of this VLAN attachment (
16552
+ # interconnectAttachment). Can only be specified at attachment creation for
16553
+ # PARTNER or DEDICATED attachments. Possible values are:
16554
+ # - NONE - This is the default value, which means that the VLAN attachment
16555
+ # carries unencrypted traffic. VMs are able to send traffic to, or receive
16556
+ # traffic from, such a VLAN attachment.
16557
+ # - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted
16558
+ # by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs
16559
+ # cannot directly send traffic to, or receive traffic from, such a VLAN
16560
+ # attachment. To use IPsec-encrypted Cloud Interconnect, the VLAN attachment
16561
+ # must be created with this option.
16562
+ # Not currently available publicly.
16380
16563
  # Corresponds to the JSON property `encryption`
16381
16564
  # @return [String]
16382
16565
  attr_accessor :encryption
@@ -16400,18 +16583,19 @@ module Google
16400
16583
  # @return [String]
16401
16584
  attr_accessor :interconnect
16402
16585
 
16403
- # URL of addresses that have been reserved for the interconnect attachment, Used
16404
- # only for interconnect attachment that has the encryption option as IPSEC. The
16405
- # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
16406
- # over the interconnect attachment, if the attachment is configured to use an
16407
- # RFC 1918 IP address, then the VPN gateway?s IP address will be allocated from
16408
- # the IP address range specified here. For example, if the HA VPN gateway?s
16409
- # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
16586
+ # List of URL of addresses that have been reserved for the VLAN attachment. Used
16587
+ # only for the VLAN attachment that has the encryption option as IPSEC. The
16588
+ # addresses must be regional internal IP address ranges. When creating an HA VPN
16589
+ # gateway over the VLAN attachment, if the attachment is configured to use a
16590
+ # regional internal IP address, then the VPN gateway's IP address is allocated
16591
+ # from the IP address range specified here. For example, if the HA VPN gateway's
16592
+ # interface 0 is paired to this VLAN attachment, then a regional internal IP
16410
16593
  # address for the VPN gateway interface 0 will be allocated from the IP address
16411
- # specified for this interconnect attachment. If this field is not specified for
16412
- # interconnect attachment that has encryption option as IPSEC, later on when
16413
- # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
16414
- # IP address will be allocated from regional external IP address pool.
16594
+ # specified for this VLAN attachment. If this field is not specified when
16595
+ # creating the VLAN attachment, then later on when creating an HA VPN gateway on
16596
+ # this VLAN attachment, the HA VPN gateway's IP address is allocated from the
16597
+ # regional external IP address pool.
16598
+ # Not currently available publicly.
16415
16599
  # Corresponds to the JSON property `ipsecInternalAddresses`
16416
16600
  # @return [Array<String>]
16417
16601
  attr_accessor :ipsec_internal_addresses
@@ -17649,8 +17833,10 @@ module Google
17649
17833
  # - ACTIVE: This outage notification is active. The event could be in the past,
17650
17834
  # present, or future. See start_time and end_time for scheduling.
17651
17835
  # - CANCELLED: The outage associated with this notification was cancelled before
17652
- # the outage was due to start. Note that the versions of this enum prefixed with
17653
- # "NS_" have been deprecated in favor of the unprefixed values.
17836
+ # the outage was due to start.
17837
+ # - COMPLETED: The outage associated with this notification is complete. Note
17838
+ # that the versions of this enum prefixed with "NS_" have been deprecated in
17839
+ # favor of the unprefixed values.
17654
17840
  # Corresponds to the JSON property `state`
17655
17841
  # @return [String]
17656
17842
  attr_accessor :state
@@ -18086,7 +18272,7 @@ module Google
18086
18272
  include Google::Apis::Core::Hashable
18087
18273
 
18088
18274
  # Location configurations mapped by location name. Currently only zone names are
18089
- # supported and must be represented as valid internal URLs, like: zones/us-
18275
+ # supported and must be represented as valid internal URLs, such as zones/us-
18090
18276
  # central1-a.
18091
18277
  # Corresponds to the JSON property `locations`
18092
18278
  # @return [Hash<String,Google::Apis::ComputeBeta::LocationPolicyLocation>]
@@ -18106,7 +18292,7 @@ module Google
18106
18292
  class LocationPolicyLocation
18107
18293
  include Google::Apis::Core::Hashable
18108
18294
 
18109
- #
18295
+ # Preference for a given location: ALLOW or DENY.
18110
18296
  # Corresponds to the JSON property `preference`
18111
18297
  # @return [String]
18112
18298
  attr_accessor :preference
@@ -20465,6 +20651,20 @@ module Google
20465
20651
  # @return [String]
20466
20652
  attr_accessor :fingerprint
20467
20653
 
20654
+ # An array of IPv6 access configurations for this interface. Currently, only one
20655
+ # IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
20656
+ # specified, then this instance will have no external IPv6 Internet access.
20657
+ # Corresponds to the JSON property `ipv6AccessConfigs`
20658
+ # @return [Array<Google::Apis::ComputeBeta::AccessConfig>]
20659
+ attr_accessor :ipv6_access_configs
20660
+
20661
+ # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be
20662
+ # accessed from the Internet. This field is always inherited from its subnetwork.
20663
+ # Valid only if stackType is IPV4_IPV6.
20664
+ # Corresponds to the JSON property `ipv6AccessType`
20665
+ # @return [String]
20666
+ attr_accessor :ipv6_access_type
20667
+
20468
20668
  # [Output Only] An IPv6 internal network address for this network interface.
20469
20669
  # Corresponds to the JSON property `ipv6Address`
20470
20670
  # @return [String]
@@ -20508,6 +20708,14 @@ module Google
20508
20708
  # @return [String]
20509
20709
  attr_accessor :nic_type
20510
20710
 
20711
+ # The stack type for this network interface to identify whether the IPv6 feature
20712
+ # is enabled or not. If not specified, IPV4_ONLY will be used.
20713
+ # This field can be both set at instance creation and update network interface
20714
+ # operations.
20715
+ # Corresponds to the JSON property `stackType`
20716
+ # @return [String]
20717
+ attr_accessor :stack_type
20718
+
20511
20719
  # The URL of the Subnetwork resource for this instance. If the network resource
20512
20720
  # is in legacy mode, do not specify this field. If the network is in auto subnet
20513
20721
  # mode, specifying the subnetwork is optional. If the network is in custom
@@ -20530,12 +20738,15 @@ module Google
20530
20738
  @access_configs = args[:access_configs] if args.key?(:access_configs)
20531
20739
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
20532
20740
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20741
+ @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
20742
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
20533
20743
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
20534
20744
  @kind = args[:kind] if args.key?(:kind)
20535
20745
  @name = args[:name] if args.key?(:name)
20536
20746
  @network = args[:network] if args.key?(:network)
20537
20747
  @network_ip = args[:network_ip] if args.key?(:network_ip)
20538
20748
  @nic_type = args[:nic_type] if args.key?(:nic_type)
20749
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
20539
20750
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
20540
20751
  end
20541
20752
  end
@@ -27505,7 +27716,10 @@ module Google
27505
27716
  # @return [String]
27506
27717
  attr_accessor :key
27507
27718
 
27508
- # Corresponds to the label values of a reservation resource.
27719
+ # Corresponds to the label values of a reservation resource. This can be either
27720
+ # a name to a reservation in the same project or "projects/different-project/
27721
+ # reservations/some-reservation-name" to target a shared reservation in the same
27722
+ # zone but in a different project.
27509
27723
  # Corresponds to the JSON property `values`
27510
27724
  # @return [Array<String>]
27511
27725
  attr_accessor :values
@@ -29148,8 +29362,9 @@ module Google
29148
29362
  # @return [String]
29149
29363
  attr_accessor :description
29150
29364
 
29151
- # Field to indicate if a router is dedicated to use with encrypted Interconnect
29152
- # Attachment (IPsec-encrypted Cloud Interconnect feature).
29365
+ # Indicates if a router is dedicated for use with encrypted VLAN attachments (
29366
+ # interconnectAttachments).
29367
+ # Not currently available publicly.
29153
29368
  # Corresponds to the JSON property `encryptedInterconnectRouter`
29154
29369
  # @return [Boolean]
29155
29370
  attr_accessor :encrypted_interconnect_router
@@ -29410,7 +29625,6 @@ module Google
29410
29625
 
29411
29626
  # The interval in seconds between BGP keepalive messages that are sent to the
29412
29627
  # peer.
29413
- # Not currently available publicly.
29414
29628
  # Hold time is three times the interval at which keepalive messages are sent,
29415
29629
  # and the hold time is the maximum number of seconds allowed to elapse between
29416
29630
  # successive keepalive messages that BGP receives from a peer.
@@ -29479,7 +29693,6 @@ module Google
29479
29693
  attr_accessor :bfd
29480
29694
 
29481
29695
  # The status of the BGP peer connection.
29482
- # Not currently available publicly.
29483
29696
  # If set to FALSE, any active session with the peer is terminated and all
29484
29697
  # associated routing information is removed. If set to TRUE, the peer connection
29485
29698
  # can be established with routing information. The default is TRUE.
@@ -29686,7 +29899,7 @@ module Google
29686
29899
  # @return [String]
29687
29900
  attr_accessor :redundant_interface
29688
29901
 
29689
- # The URL of the subnetwork resource that this interface belongs to, which must
29902
+ # The URI of the subnetwork resource that this interface belongs to, which must
29690
29903
  # be in the same region as the Cloud Router. When you establish a BGP session to
29691
29904
  # a VM instance using this interface, the VM instance must belong to the same
29692
29905
  # subnetwork as the subnetwork specified here.
@@ -30633,7 +30846,7 @@ module Google
30633
30846
  end
30634
30847
  end
30635
30848
 
30636
- # Sets the scheduling options for an Instance. NextID: 20
30849
+ # Sets the scheduling options for an Instance. NextID: 21
30637
30850
  class Scheduling
30638
30851
  include Google::Apis::Core::Hashable
30639
30852
 
@@ -30648,12 +30861,31 @@ module Google
30648
30861
  attr_accessor :automatic_restart
30649
30862
  alias_method :automatic_restart?, :automatic_restart
30650
30863
 
30864
+ # Specify the time in seconds for host error detection, the value must be within
30865
+ # the range of [90, 330] with the increment of 30, if unset, the default
30866
+ # behavior of host error recovery will be used.
30867
+ # Corresponds to the JSON property `hostErrorTimeoutSeconds`
30868
+ # @return [Fixnum]
30869
+ attr_accessor :host_error_timeout_seconds
30870
+
30651
30871
  # An opaque location hint used to place the instance close to other resources.
30652
30872
  # This field is for use by internal tools that use the public API.
30653
30873
  # Corresponds to the JSON property `locationHint`
30654
30874
  # @return [String]
30655
30875
  attr_accessor :location_hint
30656
30876
 
30877
+ # Specifies the number of hours after VM instance creation where the VM won't be
30878
+ # scheduled for maintenance.
30879
+ # Corresponds to the JSON property `maintenanceFreezeDurationHours`
30880
+ # @return [Fixnum]
30881
+ attr_accessor :maintenance_freeze_duration_hours
30882
+
30883
+ # For more information about maintenance intervals, see Setting maintenance
30884
+ # intervals.
30885
+ # Corresponds to the JSON property `maintenanceInterval`
30886
+ # @return [String]
30887
+ attr_accessor :maintenance_interval
30888
+
30657
30889
  # The minimum number of virtual CPUs this instance will consume when running on
30658
30890
  # a sole-tenant node.
30659
30891
  # Corresponds to the JSON property `minNodeCpus`
@@ -30690,7 +30922,10 @@ module Google
30690
30922
  # Update properties of this object
30691
30923
  def update!(**args)
30692
30924
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
30925
+ @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
30693
30926
  @location_hint = args[:location_hint] if args.key?(:location_hint)
30927
+ @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
30928
+ @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
30694
30929
  @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
30695
30930
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
30696
30931
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
@@ -30807,6 +31042,11 @@ module Google
30807
31042
  # @return [Google::Apis::ComputeBeta::SecurityPolicyAdaptiveProtectionConfig]
30808
31043
  attr_accessor :adaptive_protection_config
30809
31044
 
31045
+ #
31046
+ # Corresponds to the JSON property `advancedOptionsConfig`
31047
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyAdvancedOptionsConfig]
31048
+ attr_accessor :advanced_options_config
31049
+
30810
31050
  # A list of associations that belong to this policy.
30811
31051
  # Corresponds to the JSON property `associations`
30812
31052
  # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyAssociation>]
@@ -30929,6 +31169,7 @@ module Google
30929
31169
  # Update properties of this object
30930
31170
  def update!(**args)
30931
31171
  @adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config)
31172
+ @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
30932
31173
  @associations = args[:associations] if args.key?(:associations)
30933
31174
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
30934
31175
  @description = args[:description] if args.key?(:description)
@@ -30994,6 +31235,31 @@ module Google
30994
31235
  end
30995
31236
  end
30996
31237
 
31238
+ #
31239
+ class SecurityPolicyAdvancedOptionsConfig
31240
+ include Google::Apis::Core::Hashable
31241
+
31242
+ #
31243
+ # Corresponds to the JSON property `jsonParsing`
31244
+ # @return [String]
31245
+ attr_accessor :json_parsing
31246
+
31247
+ #
31248
+ # Corresponds to the JSON property `logLevel`
31249
+ # @return [String]
31250
+ attr_accessor :log_level
31251
+
31252
+ def initialize(**args)
31253
+ update!(**args)
31254
+ end
31255
+
31256
+ # Update properties of this object
31257
+ def update!(**args)
31258
+ @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
31259
+ @log_level = args[:log_level] if args.key?(:log_level)
31260
+ end
31261
+ end
31262
+
30997
31263
  #
30998
31264
  class SecurityPolicyAssociation
30999
31265
  include Google::Apis::Core::Hashable
@@ -31167,7 +31433,7 @@ module Google
31167
31433
  class SecurityPolicyRule
31168
31434
  include Google::Apis::Core::Hashable
31169
31435
 
31170
- # The Action to preform when the client connection triggers the rule. Can
31436
+ # The Action to perform when the client connection triggers the rule. Can
31171
31437
  # currently be either "allow" or "deny()" where valid values for status are 403,
31172
31438
  # 404, and 502.
31173
31439
  # Corresponds to the JSON property `action`
@@ -31538,10 +31804,16 @@ module Google
31538
31804
  # A service attachment represents a service that a producer has exposed. It
31539
31805
  # encapsulates the load balancer which fronts the service runs and a list of NAT
31540
31806
  # IP ranges that the producers uses to represent the consumers connecting to the
31541
- # service. next tag = 17
31807
+ # service. next tag = 19
31542
31808
  class ServiceAttachment
31543
31809
  include Google::Apis::Core::Hashable
31544
31810
 
31811
+ # [Output Only] An array of connections for all the consumers connected to this
31812
+ # service attachment.
31813
+ # Corresponds to the JSON property `connectedEndpoints`
31814
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConnectedEndpoint>]
31815
+ attr_accessor :connected_endpoints
31816
+
31545
31817
  # The connection preference of service attachment. The value can be set to
31546
31818
  # ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always
31547
31819
  # accepts the connection from consumer forwarding rules.
@@ -31549,12 +31821,23 @@ module Google
31549
31821
  # @return [String]
31550
31822
  attr_accessor :connection_preference
31551
31823
 
31824
+ # Projects that are allowed to connect to this service attachment.
31825
+ # Corresponds to the JSON property `consumerAcceptLists`
31826
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConsumerProjectLimit>]
31827
+ attr_accessor :consumer_accept_lists
31828
+
31552
31829
  # [Output Only] An array of forwarding rules for all the consumers connected to
31553
31830
  # this service attachment.
31554
31831
  # Corresponds to the JSON property `consumerForwardingRules`
31555
31832
  # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConsumerForwardingRule>]
31556
31833
  attr_accessor :consumer_forwarding_rules
31557
31834
 
31835
+ # Projects that are not allowed to connect to this service attachment. The
31836
+ # project can be specified using its id or number.
31837
+ # Corresponds to the JSON property `consumerRejectLists`
31838
+ # @return [Array<String>]
31839
+ attr_accessor :consumer_reject_lists
31840
+
31558
31841
  # [Output Only] Creation timestamp in RFC3339 text format.
31559
31842
  # Corresponds to the JSON property `creationTimestamp`
31560
31843
  # @return [String]
@@ -31574,6 +31857,17 @@ module Google
31574
31857
  attr_accessor :enable_proxy_protocol
31575
31858
  alias_method :enable_proxy_protocol?, :enable_proxy_protocol
31576
31859
 
31860
+ # Fingerprint of this resource. A hash of the contents stored in this object.
31861
+ # This field is used in optimistic locking. This field will be ignored when
31862
+ # inserting a ServiceAttachment. An up-to-date fingerprint must be provided in
31863
+ # order to patch/update the ServiceAttachment; otherwise, the request will fail
31864
+ # with error 412 conditionNotMet. To see the latest fingerprint, make a get()
31865
+ # request to retrieve the ServiceAttachment.
31866
+ # Corresponds to the JSON property `fingerprint`
31867
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
31868
+ # @return [String]
31869
+ attr_accessor :fingerprint
31870
+
31577
31871
  # [Output Only] The unique identifier for the resource type. The server
31578
31872
  # generates this identifier.
31579
31873
  # Corresponds to the JSON property `id`
@@ -31608,6 +31902,11 @@ module Google
31608
31902
  # @return [String]
31609
31903
  attr_accessor :producer_forwarding_rule
31610
31904
 
31905
+ # [Output Only] An 128-bit global unique ID of the PSC service attachment.
31906
+ # Corresponds to the JSON property `pscServiceAttachmentId`
31907
+ # @return [Google::Apis::ComputeBeta::Uint128]
31908
+ attr_accessor :psc_service_attachment_id
31909
+
31611
31910
  # [Output Only] URL of the region where the service attachment resides. This
31612
31911
  # field applies only to the region resource. You must specify this field as part
31613
31912
  # of the HTTP request URL. It is not settable as a field in the request body.
@@ -31620,24 +31919,36 @@ module Google
31620
31919
  # @return [String]
31621
31920
  attr_accessor :self_link
31622
31921
 
31922
+ # The URL of a service serving the endpoint identified by this service
31923
+ # attachment.
31924
+ # Corresponds to the JSON property `targetService`
31925
+ # @return [String]
31926
+ attr_accessor :target_service
31927
+
31623
31928
  def initialize(**args)
31624
31929
  update!(**args)
31625
31930
  end
31626
31931
 
31627
31932
  # Update properties of this object
31628
31933
  def update!(**args)
31934
+ @connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints)
31629
31935
  @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
31936
+ @consumer_accept_lists = args[:consumer_accept_lists] if args.key?(:consumer_accept_lists)
31630
31937
  @consumer_forwarding_rules = args[:consumer_forwarding_rules] if args.key?(:consumer_forwarding_rules)
31938
+ @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
31631
31939
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31632
31940
  @description = args[:description] if args.key?(:description)
31633
31941
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
31942
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
31634
31943
  @id = args[:id] if args.key?(:id)
31635
31944
  @kind = args[:kind] if args.key?(:kind)
31636
31945
  @name = args[:name] if args.key?(:name)
31637
31946
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
31638
31947
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
31948
+ @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
31639
31949
  @region = args[:region] if args.key?(:region)
31640
31950
  @self_link = args[:self_link] if args.key?(:self_link)
31951
+ @target_service = args[:target_service] if args.key?(:target_service)
31641
31952
  end
31642
31953
  end
31643
31954
 
@@ -31764,7 +32075,45 @@ module Google
31764
32075
  end
31765
32076
  end
31766
32077
 
32078
+ # [Output Only] A connection connected to this service attachment.
32079
+ class ServiceAttachmentConnectedEndpoint
32080
+ include Google::Apis::Core::Hashable
32081
+
32082
+ # The url of a connected endpoint.
32083
+ # Corresponds to the JSON property `endpoint`
32084
+ # @return [String]
32085
+ attr_accessor :endpoint
32086
+
32087
+ # The url of a consumer forwarding rule. [Deprecated] Do not use.
32088
+ # Corresponds to the JSON property `forwardingRule`
32089
+ # @return [String]
32090
+ attr_accessor :forwarding_rule
32091
+
32092
+ # The PSC connection id of the connected endpoint.
32093
+ # Corresponds to the JSON property `pscConnectionId`
32094
+ # @return [Fixnum]
32095
+ attr_accessor :psc_connection_id
32096
+
32097
+ # The status of a connected endpoint to this service attachment.
32098
+ # Corresponds to the JSON property `status`
32099
+ # @return [String]
32100
+ attr_accessor :status
32101
+
32102
+ def initialize(**args)
32103
+ update!(**args)
32104
+ end
32105
+
32106
+ # Update properties of this object
32107
+ def update!(**args)
32108
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
32109
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
32110
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
32111
+ @status = args[:status] if args.key?(:status)
32112
+ end
32113
+ end
32114
+
31767
32115
  # [Output Only] A consumer forwarding rule connected to this service attachment.
32116
+ # [Deprecated] Do not use.
31768
32117
  class ServiceAttachmentConsumerForwardingRule
31769
32118
  include Google::Apis::Core::Hashable
31770
32119
 
@@ -31773,6 +32122,11 @@ module Google
31773
32122
  # @return [String]
31774
32123
  attr_accessor :forwarding_rule
31775
32124
 
32125
+ # The PSC connection id of the PSC Forwarding Rule.
32126
+ # Corresponds to the JSON property `pscConnectionId`
32127
+ # @return [Fixnum]
32128
+ attr_accessor :psc_connection_id
32129
+
31776
32130
  # The status of the forwarding rule.
31777
32131
  # Corresponds to the JSON property `status`
31778
32132
  # @return [String]
@@ -31785,10 +32139,36 @@ module Google
31785
32139
  # Update properties of this object
31786
32140
  def update!(**args)
31787
32141
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
32142
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
31788
32143
  @status = args[:status] if args.key?(:status)
31789
32144
  end
31790
32145
  end
31791
32146
 
32147
+ #
32148
+ class ServiceAttachmentConsumerProjectLimit
32149
+ include Google::Apis::Core::Hashable
32150
+
32151
+ # The value of the limit to set.
32152
+ # Corresponds to the JSON property `connectionLimit`
32153
+ # @return [Fixnum]
32154
+ attr_accessor :connection_limit
32155
+
32156
+ # The project id or number for the project to set the limit for.
32157
+ # Corresponds to the JSON property `projectIdOrNum`
32158
+ # @return [String]
32159
+ attr_accessor :project_id_or_num
32160
+
32161
+ def initialize(**args)
32162
+ update!(**args)
32163
+ end
32164
+
32165
+ # Update properties of this object
32166
+ def update!(**args)
32167
+ @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
32168
+ @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
32169
+ end
32170
+ end
32171
+
31792
32172
  #
31793
32173
  class ServiceAttachmentList
31794
32174
  include Google::Apis::Core::Hashable
@@ -31912,9 +32292,9 @@ module Google
31912
32292
  include Google::Apis::Core::Hashable
31913
32293
 
31914
32294
  # A list of ServiceAttachments contained in this scope.
31915
- # Corresponds to the JSON property `resources`
32295
+ # Corresponds to the JSON property `serviceAttachments`
31916
32296
  # @return [Array<Google::Apis::ComputeBeta::ServiceAttachment>]
31917
- attr_accessor :resources
32297
+ attr_accessor :service_attachments
31918
32298
 
31919
32299
  # Informational warning which replaces the list of service attachments when the
31920
32300
  # list is empty.
@@ -31928,7 +32308,7 @@ module Google
31928
32308
 
31929
32309
  # Update properties of this object
31930
32310
  def update!(**args)
31931
- @resources = args[:resources] if args.key?(:resources)
32311
+ @service_attachments = args[:service_attachments] if args.key?(:service_attachments)
31932
32312
  @warning = args[:warning] if args.key?(:warning)
31933
32313
  end
31934
32314
 
@@ -32715,7 +33095,7 @@ module Google
32715
33095
  # @return [String]
32716
33096
  attr_accessor :post_key_revocation_action_type
32717
33097
 
32718
- # Sets the scheduling options for an Instance. NextID: 20
33098
+ # Sets the scheduling options for an Instance. NextID: 21
32719
33099
  # Corresponds to the JSON property `scheduling`
32720
33100
  # @return [Google::Apis::ComputeBeta::Scheduling]
32721
33101
  attr_accessor :scheduling
@@ -33713,6 +34093,12 @@ module Google
33713
34093
  attr_accessor :enable_flow_logs
33714
34094
  alias_method :enable_flow_logs?, :enable_flow_logs
33715
34095
 
34096
+ # [Output Only] The range of external IPv6 addresses that are owned by this
34097
+ # subnetwork.
34098
+ # Corresponds to the JSON property `externalIpv6Prefix`
34099
+ # @return [String]
34100
+ attr_accessor :external_ipv6_prefix
34101
+
33716
34102
  # Fingerprint of this resource. A hash of the contents stored in this object.
33717
34103
  # This field is used in optimistic locking. This field will be ignored when
33718
34104
  # inserting a Subnetwork. An up-to-date fingerprint must be provided in order to
@@ -33746,6 +34132,14 @@ module Google
33746
34132
  # @return [String]
33747
34133
  attr_accessor :ip_cidr_range
33748
34134
 
34135
+ # The access type of IPv6 address this subnet holds. It's immutable and can only
34136
+ # be specified during creation or the first time the subnet is updated into
34137
+ # IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot
34138
+ # enable direct path.
34139
+ # Corresponds to the JSON property `ipv6AccessType`
34140
+ # @return [String]
34141
+ attr_accessor :ipv6_access_type
34142
+
33749
34143
  # [Output Only] The range of internal IPv6 addresses that are owned by this
33750
34144
  # subnetwork.
33751
34145
  # Corresponds to the JSON property `ipv6CidrRange`
@@ -33836,14 +34230,19 @@ module Google
33836
34230
  # @return [String]
33837
34231
  attr_accessor :self_link
33838
34232
 
34233
+ # The stack type for this subnet to identify whether the IPv6 feature is enabled
34234
+ # or not. If not specified IPV4_ONLY will be used.
34235
+ # This field can be both set at resource creation time and updated using patch.
34236
+ # Corresponds to the JSON property `stackType`
34237
+ # @return [String]
34238
+ attr_accessor :stack_type
34239
+
33839
34240
  # [Output Only] The state of the subnetwork, which can be one of the following
33840
34241
  # values: READY: Subnetwork is created and ready to use DRAINING: only
33841
34242
  # applicable to subnetworks that have the purpose set to
33842
34243
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
33843
34244
  # balancer are being drained. A subnetwork that is draining cannot be used or
33844
- # modified until it reaches a status of READY CREATING: Subnetwork is
33845
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
33846
- # being updated
34245
+ # modified until it reaches a status of READY
33847
34246
  # Corresponds to the JSON property `state`
33848
34247
  # @return [String]
33849
34248
  attr_accessor :state
@@ -33858,10 +34257,12 @@ module Google
33858
34257
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33859
34258
  @description = args[:description] if args.key?(:description)
33860
34259
  @enable_flow_logs = args[:enable_flow_logs] if args.key?(:enable_flow_logs)
34260
+ @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix)
33861
34261
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
33862
34262
  @gateway_address = args[:gateway_address] if args.key?(:gateway_address)
33863
34263
  @id = args[:id] if args.key?(:id)
33864
34264
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
34265
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
33865
34266
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
33866
34267
  @kind = args[:kind] if args.key?(:kind)
33867
34268
  @log_config = args[:log_config] if args.key?(:log_config)
@@ -33874,6 +34275,7 @@ module Google
33874
34275
  @role = args[:role] if args.key?(:role)
33875
34276
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
33876
34277
  @self_link = args[:self_link] if args.key?(:self_link)
34278
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
33877
34279
  @state = args[:state] if args.key?(:state)
33878
34280
  end
33879
34281
  end
@@ -34157,7 +34559,7 @@ module Google
34157
34559
 
34158
34560
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
34159
34561
  # Configures whether all, none or a subset of metadata fields should be added to
34160
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
34562
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
34161
34563
  # Corresponds to the JSON property `metadata`
34162
34564
  # @return [String]
34163
34565
  attr_accessor :metadata
@@ -34345,7 +34747,9 @@ module Google
34345
34747
  end
34346
34748
  end
34347
34749
 
34348
- # Subsetting options to make L4 ILB support any number of backend instances
34750
+ # Subsetting configuration for this BackendService. Currently this is applicable
34751
+ # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
34752
+ # Traffic Director.
34349
34753
  class Subsetting
34350
34754
  include Google::Apis::Core::Hashable
34351
34755
 
@@ -35251,7 +35655,8 @@ module Google
35251
35655
  include Google::Apis::Core::Hashable
35252
35656
 
35253
35657
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
35254
- # resource. Currently exactly one SslCertificate resource must be specified.
35658
+ # resource. At least one SSL certificate must be specified. Currently, you may
35659
+ # specify up to 15 SSL certificates.
35255
35660
  # Corresponds to the JSON property `sslCertificates`
35256
35661
  # @return [Array<String>]
35257
35662
  attr_accessor :ssl_certificates
@@ -35411,6 +35816,8 @@ module Google
35411
35816
  # URLs to SslCertificate resources that are used to authenticate connections
35412
35817
  # between users and the load balancer. At least one SSL certificate must be
35413
35818
  # specified. Currently, you may specify up to 15 SSL certificates.
35819
+ # sslCertificates do not apply when the load balancing scheme is set to
35820
+ # INTERNAL_SELF_MANAGED.
35414
35821
  # Corresponds to the JSON property `sslCertificates`
35415
35822
  # @return [Array<String>]
35416
35823
  attr_accessor :ssl_certificates
@@ -36762,7 +37169,8 @@ module Google
36762
37169
  include Google::Apis::Core::Hashable
36763
37170
 
36764
37171
  # New set of URLs to SslCertificate resources to associate with this
36765
- # TargetSslProxy. Currently exactly one ssl certificate must be specified.
37172
+ # TargetSslProxy. At least one SSL certificate must be specified. Currently, you
37173
+ # may specify up to 15 SSL certificates.
36766
37174
  # Corresponds to the JSON property `sslCertificates`
36767
37175
  # @return [Array<String>]
36768
37176
  attr_accessor :ssl_certificates
@@ -36836,7 +37244,8 @@ module Google
36836
37244
 
36837
37245
  # URLs to SslCertificate resources that are used to authenticate connections to
36838
37246
  # Backends. At least one SSL certificate must be specified. Currently, you may
36839
- # specify up to 15 SSL certificates.
37247
+ # specify up to 15 SSL certificates. sslCertificates do not apply when the load
37248
+ # balancing scheme is set to INTERNAL_SELF_MANAGED.
36840
37249
  # Corresponds to the JSON property `sslCertificates`
36841
37250
  # @return [Array<String>]
36842
37251
  attr_accessor :ssl_certificates
@@ -37791,6 +38200,31 @@ module Google
37791
38200
  end
37792
38201
  end
37793
38202
 
38203
+ #
38204
+ class Uint128
38205
+ include Google::Apis::Core::Hashable
38206
+
38207
+ #
38208
+ # Corresponds to the JSON property `high`
38209
+ # @return [Fixnum]
38210
+ attr_accessor :high
38211
+
38212
+ #
38213
+ # Corresponds to the JSON property `low`
38214
+ # @return [Fixnum]
38215
+ attr_accessor :low
38216
+
38217
+ def initialize(**args)
38218
+ update!(**args)
38219
+ end
38220
+
38221
+ # Update properties of this object
38222
+ def update!(**args)
38223
+ @high = args[:high] if args.key?(:high)
38224
+ @low = args[:low] if args.key?(:low)
38225
+ end
38226
+ end
38227
+
37794
38228
  # Represents a URL Map resource.
37795
38229
  # Google Compute Engine has two URL Map resources:
37796
38230
  # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
@@ -38615,7 +39049,9 @@ module Google
38615
39049
  # requests. If the number of results is larger than maxResults, use the
38616
39050
  # nextPageToken as a value for the query parameter pageToken in the next list
38617
39051
  # request. Subsequent list requests will have their own nextPageToken to
38618
- # continue paging through the results.
39052
+ # continue paging through the results. In special cases listUsable may return 0
39053
+ # subnetworks and nextPageToken which still should be used to get the next page
39054
+ # of results.
38619
39055
  # Corresponds to the JSON property `nextPageToken`
38620
39056
  # @return [String]
38621
39057
  attr_accessor :next_page_token
@@ -39019,7 +39455,7 @@ module Google
39019
39455
  # @return [String]
39020
39456
  attr_accessor :self_link
39021
39457
 
39022
- # A list of interfaces on this VPN gateway.
39458
+ # The list of VPN interfaces associated with this VPN gateway.
39023
39459
  # Corresponds to the JSON property `vpnInterfaces`
39024
39460
  # @return [Array<Google::Apis::ComputeBeta::VpnGatewayVpnGatewayInterface>]
39025
39461
  attr_accessor :vpn_interfaces
@@ -39412,20 +39848,30 @@ module Google
39412
39848
  class VpnGatewayVpnGatewayInterface
39413
39849
  include Google::Apis::Core::Hashable
39414
39850
 
39415
- # The numeric ID of this VPN gateway interface.
39851
+ # [Output Only] Numeric identifier for this VPN interface associated with the
39852
+ # VPN gateway.
39416
39853
  # Corresponds to the JSON property `id`
39417
39854
  # @return [Fixnum]
39418
39855
  attr_accessor :id
39419
39856
 
39420
- # URL of the interconnect attachment resource. When the value of this field is
39421
- # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
39422
- # all Egress or Ingress traffic for this VPN Gateway interface will go through
39423
- # the specified interconnect attachment resource.
39857
+ # URL of the VLAN attachment (interconnectAttachment) resource for this VPN
39858
+ # gateway interface. When the value of this field is present, the VPN gateway is
39859
+ # used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for
39860
+ # this VPN gateway interface goes through the specified VLAN attachment resource.
39861
+ # Not currently available publicly.
39424
39862
  # Corresponds to the JSON property `interconnectAttachment`
39425
39863
  # @return [String]
39426
39864
  attr_accessor :interconnect_attachment
39427
39865
 
39428
- # [Output Only] The external IP address for this VPN gateway interface.
39866
+ # [Output Only] IP address for this VPN interface associated with the VPN
39867
+ # gateway. The IP address could be either a regional external IP address or a
39868
+ # regional internal IP address. The two IP addresses for a VPN gateway must be
39869
+ # all regional external or regional internal IP addresses. There cannot be a mix
39870
+ # of regional external IP addresses and regional internal IP addresses. For
39871
+ # IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could
39872
+ # either be regional internal IP addresses or regional external IP addresses.
39873
+ # For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP
39874
+ # address must be a regional external IP address.
39429
39875
  # Corresponds to the JSON property `ipAddress`
39430
39876
  # @return [String]
39431
39877
  attr_accessor :ip_address
@@ -39703,8 +40149,8 @@ module Google
39703
40149
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
39704
40150
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
39705
40151
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
39706
- # - REJECTED: Tunnel configuration was rejected, can be result of being
39707
- # blacklisted.
40152
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
40153
+ # access.
39708
40154
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
39709
40155
  # resources.
39710
40156
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for