google-apis-compute_beta 0.7.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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