google-apis-compute_beta 0.5.0 → 0.10.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: afd2c7d133fbc2e8fa692a77d06215a74a8ac783d9734b104c12a561e7343142
4
- data.tar.gz: 588db10c5810d78cdeb78f4b1719b31294806041e8ba91b87cd6a3ea30842f31
3
+ metadata.gz: f4ef9cc5cabc48debbf6c88396eecd1c704ae1768f0c539e47dde0f113f547a9
4
+ data.tar.gz: 4900bc0d5635c87fb1be617ffbae370c9b37c3124d48d2e67382e1515c043cfb
5
5
  SHA512:
6
- metadata.gz: 8b8ba6ef63efc46e99423baf6fe8189df3db5e4bd3cb5b7c0704a650a15775e3f5f65d17d6c3a9861099fd1dd10f1313b6eb7c076b1074b0fde8417d26987143
7
- data.tar.gz: 04ba6b245a2b3a2378c4baf91420c566741fef03e70f74515da639dc4f975f5d697dc2b78a10a2831fadf9b3746f31ff3d166d778b513a46159698f1bcc0e89b
6
+ metadata.gz: f56c66e76fbf23d1f2d231ba4840756f0032355c033fa04015cc34ddd9dfa8457813ebd5b6e01055b65321ad502e9a59bbaa14ea15ed1017bd9e5d2599e6af4d
7
+ data.tar.gz: 79ca63679cd1e1c249b2029d676fe391c41b41efdde49ffcd11c4d3b2ac72035f942c8351007a95400cf506d6dfd25f186669502a63f68d1e064657dfa8217df
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-compute_beta
2
2
 
3
+ ### v0.10.0 (2021-05-20)
4
+
5
+ * Regenerated from discovery document revision 20210505
6
+ * Unspecified changes
7
+
8
+ ### v0.9.0 (2021-05-05)
9
+
10
+ * Regenerated from discovery document revision 20210415
11
+
12
+ ### v0.8.0 (2021-03-30)
13
+
14
+ * Regenerated from discovery document revision 20210316
15
+
16
+ ### v0.7.0 (2021-03-19)
17
+
18
+ * Regenerated from discovery document revision 20210310
19
+
20
+ ### v0.6.0 (2021-03-10)
21
+
22
+ * Regenerated from discovery document revision 20210301
23
+ * Regenerated using generator version 0.2.0
24
+
3
25
  ### v0.5.0 (2021-03-04)
4
26
 
5
27
  * Unspecified changes
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'Beta'
31
31
 
32
- # View and manage your data across Google Cloud Platform services
32
+ # See, edit, configure, and delete your Google Cloud Platform data
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
34
 
35
35
  # View and manage your Google Compute Engine resources
@@ -465,6 +465,19 @@ module Google
465
465
  class AccessConfig
466
466
  include Google::Apis::Core::Hashable
467
467
 
468
+ # [Output Only] The first IPv6 address of the external IPv6 range associated
469
+ # with this instance, prefix length is stored in externalIpv6PrefixLength in
470
+ # ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork
471
+ # associated with the instance will be allocated dynamically.
472
+ # Corresponds to the JSON property `externalIpv6`
473
+ # @return [String]
474
+ attr_accessor :external_ipv6
475
+
476
+ # [Output Only] The prefix length of the external IPv6 range.
477
+ # Corresponds to the JSON property `externalIpv6PrefixLength`
478
+ # @return [Fixnum]
479
+ attr_accessor :external_ipv6_prefix_length
480
+
468
481
  # [Output Only] Type of the resource. Always compute#accessConfig for access
469
482
  # configs.
470
483
  # Corresponds to the JSON property `kind`
@@ -522,6 +535,8 @@ module Google
522
535
 
523
536
  # Update properties of this object
524
537
  def update!(**args)
538
+ @external_ipv6 = args[:external_ipv6] if args.key?(:external_ipv6)
539
+ @external_ipv6_prefix_length = args[:external_ipv6_prefix_length] if args.key?(:external_ipv6_prefix_length)
525
540
  @kind = args[:kind] if args.key?(:kind)
526
541
  @name = args[:name] if args.key?(:name)
527
542
  @nat_ip = args[:nat_ip] if args.key?(:nat_ip)
@@ -636,7 +651,7 @@ module Google
636
651
  # @return [String]
637
652
  attr_accessor :network_tier
638
653
 
639
- # The prefix length if the resource reprensents an IP range.
654
+ # The prefix length if the resource represents an IP range.
640
655
  # Corresponds to the JSON property `prefixLength`
641
656
  # @return [Fixnum]
642
657
  attr_accessor :prefix_length
@@ -649,7 +664,7 @@ module Google
649
664
  # - `NAT_AUTO` for addresses that are external IP addresses automatically
650
665
  # reserved for Cloud NAT.
651
666
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
652
- # reserved for a VLAN attachment in an IPsec encrypted Interconnect
667
+ # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
653
668
  # configuration. These addresses are regional resources.
654
669
  # Corresponds to the JSON property `purpose`
655
670
  # @return [String]
@@ -1063,6 +1078,13 @@ module Google
1063
1078
  attr_accessor :enable_nested_virtualization
1064
1079
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1065
1080
 
1081
+ # The number of threads per physical core. To disable simultaneous
1082
+ # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1083
+ # supported per core by the underlying processor is assumed.
1084
+ # Corresponds to the JSON property `threadsPerCore`
1085
+ # @return [Fixnum]
1086
+ attr_accessor :threads_per_core
1087
+
1066
1088
  def initialize(**args)
1067
1089
  update!(**args)
1068
1090
  end
@@ -1070,6 +1092,7 @@ module Google
1070
1092
  # Update properties of this object
1071
1093
  def update!(**args)
1072
1094
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1095
+ @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1073
1096
  end
1074
1097
  end
1075
1098
 
@@ -1158,6 +1181,18 @@ module Google
1158
1181
  # @return [String]
1159
1182
  attr_accessor :machine_type
1160
1183
 
1184
+ # Specifies the number of hours after reservation creation where instances using
1185
+ # the reservation won't be scheduled for maintenance.
1186
+ # Corresponds to the JSON property `maintenanceFreezeDurationHours`
1187
+ # @return [Fixnum]
1188
+ attr_accessor :maintenance_freeze_duration_hours
1189
+
1190
+ # For more information about maintenance intervals, see Setting maintenance
1191
+ # intervals.
1192
+ # Corresponds to the JSON property `maintenanceInterval`
1193
+ # @return [String]
1194
+ attr_accessor :maintenance_interval
1195
+
1161
1196
  # Minimum cpu platform the reservation.
1162
1197
  # Corresponds to the JSON property `minCpuPlatform`
1163
1198
  # @return [String]
@@ -1173,6 +1208,8 @@ module Google
1173
1208
  @local_ssds = args[:local_ssds] if args.key?(:local_ssds)
1174
1209
  @location_hint = args[:location_hint] if args.key?(:location_hint)
1175
1210
  @machine_type = args[:machine_type] if args.key?(:machine_type)
1211
+ @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
1212
+ @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
1176
1213
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
1177
1214
  end
1178
1215
  end
@@ -2719,6 +2756,12 @@ module Google
2719
2756
  # @return [Array<Google::Apis::ComputeBeta::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
2720
2757
  attr_accessor :bypass_cache_on_request_headers
2721
2758
 
2759
+ # Message containing what to include in the cache key for a request for Cloud
2760
+ # CDN.
2761
+ # Corresponds to the JSON property `cacheKeyPolicy`
2762
+ # @return [Google::Apis::ComputeBeta::BackendBucketCdnPolicyCacheKeyPolicy]
2763
+ attr_accessor :cache_key_policy
2764
+
2722
2765
  # Specifies the cache setting for all responses from this backend. The possible
2723
2766
  # values are:
2724
2767
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -2843,6 +2886,7 @@ module Google
2843
2886
  # Update properties of this object
2844
2887
  def update!(**args)
2845
2888
  @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
2889
+ @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
2846
2890
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
2847
2891
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
2848
2892
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
@@ -2878,13 +2922,41 @@ module Google
2878
2922
  end
2879
2923
  end
2880
2924
 
2925
+ # Message containing what to include in the cache key for a request for Cloud
2926
+ # CDN.
2927
+ class BackendBucketCdnPolicyCacheKeyPolicy
2928
+ include Google::Apis::Core::Hashable
2929
+
2930
+ # Allows HTTP request headers (by name) to be used in the cache key.
2931
+ # Corresponds to the JSON property `includeHttpHeaders`
2932
+ # @return [Array<String>]
2933
+ attr_accessor :include_http_headers
2934
+
2935
+ # Names of query string parameters to include in cache keys. All other
2936
+ # parameters will be excluded. '&' and '=' will be percent encoded and not
2937
+ # treated as delimiters.
2938
+ # Corresponds to the JSON property `queryStringWhitelist`
2939
+ # @return [Array<String>]
2940
+ attr_accessor :query_string_whitelist
2941
+
2942
+ def initialize(**args)
2943
+ update!(**args)
2944
+ end
2945
+
2946
+ # Update properties of this object
2947
+ def update!(**args)
2948
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
2949
+ @query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
2950
+ end
2951
+ end
2952
+
2881
2953
  # Specify CDN TTLs for response error codes.
2882
2954
  class BackendBucketCdnPolicyNegativeCachingPolicy
2883
2955
  include Google::Apis::Core::Hashable
2884
2956
 
2885
2957
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
2886
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
2887
- # cannot specify a status code more than once.
2958
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
2959
+ # and you cannot specify a status code more than once.
2888
2960
  # Corresponds to the JSON property `code`
2889
2961
  # @return [Fixnum]
2890
2962
  attr_accessor :code
@@ -3210,6 +3282,14 @@ module Google
3210
3282
  # @return [Google::Apis::ComputeBeta::BackendServiceLogConfig]
3211
3283
  attr_accessor :log_config
3212
3284
 
3285
+ # A Duration represents a fixed-length span of time represented as a count of
3286
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3287
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3288
+ # 000 years.
3289
+ # Corresponds to the JSON property `maxStreamDuration`
3290
+ # @return [Google::Apis::ComputeBeta::Duration]
3291
+ attr_accessor :max_stream_duration
3292
+
3213
3293
  # Name of the resource. Provided by the client when the resource is created. The
3214
3294
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3215
3295
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3289,7 +3369,7 @@ module Google
3289
3369
 
3290
3370
  # Type of session affinity to use. The default is NONE.
3291
3371
  # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3292
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3372
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3293
3373
  # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3294
3374
  # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3295
3375
  # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
@@ -3304,10 +3384,15 @@ module Google
3304
3384
  # @return [String]
3305
3385
  attr_accessor :session_affinity
3306
3386
 
3307
- # The backend service timeout has a different meaning depending on the type of
3308
- # load balancer. For more information see, Backend service settings The default
3309
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3310
- # seconds.
3387
+ # Subsetting configuration for this BackendService. Currently this is applicable
3388
+ # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
3389
+ # Corresponds to the JSON property `subsetting`
3390
+ # @return [Google::Apis::ComputeBeta::Subsetting]
3391
+ attr_accessor :subsetting
3392
+
3393
+ # Not supported when the backend service is referenced by a URL map that is
3394
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3395
+ # Instead, use maxStreamDuration.
3311
3396
  # Corresponds to the JSON property `timeoutSec`
3312
3397
  # @return [Fixnum]
3313
3398
  attr_accessor :timeout_sec
@@ -3339,6 +3424,7 @@ module Google
3339
3424
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3340
3425
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3341
3426
  @log_config = args[:log_config] if args.key?(:log_config)
3427
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3342
3428
  @name = args[:name] if args.key?(:name)
3343
3429
  @network = args[:network] if args.key?(:network)
3344
3430
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3350,6 +3436,7 @@ module Google
3350
3436
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3351
3437
  @self_link = args[:self_link] if args.key?(:self_link)
3352
3438
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3439
+ @subsetting = args[:subsetting] if args.key?(:subsetting)
3353
3440
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3354
3441
  end
3355
3442
  end
@@ -3659,8 +3746,8 @@ module Google
3659
3746
  include Google::Apis::Core::Hashable
3660
3747
 
3661
3748
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3662
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
3663
- # cannot specify a status code more than once.
3749
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3750
+ # and you cannot specify a status code more than once.
3664
3751
  # Corresponds to the JSON property `code`
3665
3752
  # @return [Fixnum]
3666
3753
  attr_accessor :code
@@ -4455,7 +4542,10 @@ module Google
4455
4542
  end
4456
4543
  end
4457
4544
 
4458
- #
4545
+ # A transient resource used in compute.instances.bulkInsert and compute.
4546
+ # regionInstances.bulkInsert and compute.regionInstances.recommendLocations.
4547
+ # This resource is not persisted anywhere, it is used only for processing the
4548
+ # requests.
4459
4549
  class BulkInsertInstanceResource
4460
4550
  include Google::Apis::Core::Hashable
4461
4551
 
@@ -4477,16 +4567,17 @@ module Google
4477
4567
 
4478
4568
  # The minimum number of instances to create. If no min_count is specified then
4479
4569
  # count is used as the default value. If min_count instances cannot be created,
4480
- # then no instances will be created.
4570
+ # then no instances will be created and instances already created will be
4571
+ # deleted.
4481
4572
  # Corresponds to the JSON property `minCount`
4482
4573
  # @return [Fixnum]
4483
4574
  attr_accessor :min_count
4484
4575
 
4485
4576
  # The string pattern used for the names of the VMs. Either name_pattern or
4486
- # predefined_names must be set. The pattern should contain one consecutive
4577
+ # per_instance_properties must be set. The pattern should contain one continuous
4487
4578
  # sequence of placeholder hash characters (#) with each character corresponding
4488
4579
  # to one digit of the generated instance name. Example: name_pattern of inst-####
4489
- # will generate instance names like inst-0001, inst-0002, ... . If there
4580
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
4490
4581
  # already exist instance(s) whose names match the name pattern in the same
4491
4582
  # project and zone, then the generated instance numbers will start after the
4492
4583
  # biggest existing number. For example, if there exists an instance with name
@@ -4591,6 +4682,17 @@ module Google
4591
4682
  attr_accessor :include_host
4592
4683
  alias_method :include_host?, :include_host
4593
4684
 
4685
+ # Allows HTTP request headers (by name) to be used in the cache key.
4686
+ # Corresponds to the JSON property `includeHttpHeaders`
4687
+ # @return [Array<String>]
4688
+ attr_accessor :include_http_headers
4689
+
4690
+ # Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
4691
+ # will be used in the cache key Cloud CDN generates.
4692
+ # Corresponds to the JSON property `includeNamedCookies`
4693
+ # @return [Array<String>]
4694
+ attr_accessor :include_named_cookies
4695
+
4594
4696
  # If true, http and https requests will be cached separately.
4595
4697
  # Corresponds to the JSON property `includeProtocol`
4596
4698
  # @return [Boolean]
@@ -4629,6 +4731,8 @@ module Google
4629
4731
  # Update properties of this object
4630
4732
  def update!(**args)
4631
4733
  @include_host = args[:include_host] if args.key?(:include_host)
4734
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
4735
+ @include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
4632
4736
  @include_protocol = args[:include_protocol] if args.key?(:include_protocol)
4633
4737
  @include_query_string = args[:include_query_string] if args.key?(:include_query_string)
4634
4738
  @query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
@@ -4648,14 +4752,14 @@ module Google
4648
4752
  # @return [Google::Apis::ComputeBeta::Duration]
4649
4753
  attr_accessor :connect_timeout
4650
4754
 
4651
- # The maximum number of connections to the backend service. If not specified,
4652
- # there is no limit.
4755
+ # Not supported when the backend service is referenced by a URL map that is
4756
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4653
4757
  # Corresponds to the JSON property `maxConnections`
4654
4758
  # @return [Fixnum]
4655
4759
  attr_accessor :max_connections
4656
4760
 
4657
- # The maximum number of pending requests allowed to the backend service. If not
4658
- # specified, there is no limit.
4761
+ # Not supported when the backend service is referenced by a URL map that is
4762
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4659
4763
  # Corresponds to the JSON property `maxPendingRequests`
4660
4764
  # @return [Fixnum]
4661
4765
  attr_accessor :max_pending_requests
@@ -4666,16 +4770,14 @@ module Google
4666
4770
  # @return [Fixnum]
4667
4771
  attr_accessor :max_requests
4668
4772
 
4669
- # Maximum requests for a single connection to the backend service. This
4670
- # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
4671
- # specified, there is no limit. Setting this parameter to 1 will effectively
4672
- # disable keep alive.
4773
+ # Not supported when the backend service is referenced by a URL map that is
4774
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4673
4775
  # Corresponds to the JSON property `maxRequestsPerConnection`
4674
4776
  # @return [Fixnum]
4675
4777
  attr_accessor :max_requests_per_connection
4676
4778
 
4677
- # The maximum number of parallel retries allowed to the backend cluster. If not
4678
- # specified, the default is 1.
4779
+ # Not supported when the backend service is referenced by a URL map that is
4780
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4679
4781
  # Corresponds to the JSON property `maxRetries`
4680
4782
  # @return [Fixnum]
4681
4783
  attr_accessor :max_retries
@@ -7862,13 +7964,14 @@ module Google
7862
7964
  # @return [String]
7863
7965
  attr_accessor :description
7864
7966
 
7865
- # User-provided name of the Organization firewall plicy. The name should be
7866
- # unique in the organization in which the firewall policy is created. The name
7867
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7868
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7869
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
7870
- # all following characters must be a dash, lowercase letter, or digit, except
7871
- # the last character, which cannot be a dash.
7967
+ # Depreacted, please use short name instead. User-provided name of the
7968
+ # Organization firewall plicy. The name should be unique in the organization in
7969
+ # which the firewall policy is created. The name must be 1-63 characters long,
7970
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
7971
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
7972
+ # first character must be a lowercase letter, and all following characters must
7973
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
7974
+ # be a dash.
7872
7975
  # Corresponds to the JSON property `displayName`
7873
7976
  # @return [String]
7874
7977
  attr_accessor :display_name
@@ -7932,6 +8035,17 @@ module Google
7932
8035
  # @return [String]
7933
8036
  attr_accessor :self_link_with_id
7934
8037
 
8038
+ # User-provided name of the Organization firewall plicy. The name should be
8039
+ # unique in the organization in which the firewall policy is created. The name
8040
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
8041
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
8042
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
8043
+ # all following characters must be a dash, lowercase letter, or digit, except
8044
+ # the last character, which cannot be a dash.
8045
+ # Corresponds to the JSON property `shortName`
8046
+ # @return [String]
8047
+ attr_accessor :short_name
8048
+
7935
8049
  def initialize(**args)
7936
8050
  update!(**args)
7937
8051
  end
@@ -7951,6 +8065,7 @@ module Google
7951
8065
  @rules = args[:rules] if args.key?(:rules)
7952
8066
  @self_link = args[:self_link] if args.key?(:self_link)
7953
8067
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
8068
+ @short_name = args[:short_name] if args.key?(:short_name)
7954
8069
  end
7955
8070
  end
7956
8071
 
@@ -7963,7 +8078,8 @@ module Google
7963
8078
  # @return [String]
7964
8079
  attr_accessor :attachment_target
7965
8080
 
7966
- # [Output Only] The display name of the firewall policy of the association.
8081
+ # [Output Only] Deprecated, please use short name instead. The display name of
8082
+ # the firewall policy of the association.
7967
8083
  # Corresponds to the JSON property `displayName`
7968
8084
  # @return [String]
7969
8085
  attr_accessor :display_name
@@ -7978,6 +8094,11 @@ module Google
7978
8094
  # @return [String]
7979
8095
  attr_accessor :name
7980
8096
 
8097
+ # [Output Only] The short name of the firewall policy of the association.
8098
+ # Corresponds to the JSON property `shortName`
8099
+ # @return [String]
8100
+ attr_accessor :short_name
8101
+
7981
8102
  def initialize(**args)
7982
8103
  update!(**args)
7983
8104
  end
@@ -7988,6 +8109,7 @@ module Google
7988
8109
  @display_name = args[:display_name] if args.key?(:display_name)
7989
8110
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
7990
8111
  @name = args[:name] if args.key?(:name)
8112
+ @short_name = args[:short_name] if args.key?(:short_name)
7991
8113
  end
7992
8114
  end
7993
8115
 
@@ -8174,17 +8296,6 @@ module Google
8174
8296
  # @return [Array<String>]
8175
8297
  attr_accessor :target_resources
8176
8298
 
8177
- # A list of secure labels that controls which instances the firewall rule
8178
- # applies to. If targetSecureLabel are specified, then the firewall rule applies
8179
- # only to instances in the VPC network that have one of those secure labels.
8180
- # targetSecureLabel may not be set at the same time as targetServiceAccounts. If
8181
- # neither targetServiceAccounts nor targetSecureLabel are specified, the
8182
- # firewall rule applies to all instances on the specified network. Maximum
8183
- # number of target label values allowed is 256.
8184
- # Corresponds to the JSON property `targetSecureLabels`
8185
- # @return [Array<String>]
8186
- attr_accessor :target_secure_labels
8187
-
8188
8299
  # A list of service accounts indicating the sets of instances that are applied
8189
8300
  # with this rule.
8190
8301
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -8207,7 +8318,6 @@ module Google
8207
8318
  @priority = args[:priority] if args.key?(:priority)
8208
8319
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8209
8320
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8210
- @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
8211
8321
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8212
8322
  end
8213
8323
  end
@@ -8233,12 +8343,6 @@ module Google
8233
8343
  # @return [Array<String>]
8234
8344
  attr_accessor :src_ip_ranges
8235
8345
 
8236
- # List of firewall label values, which should be matched at the source of the
8237
- # traffic. Maximum number of source label values allowed is 256.
8238
- # Corresponds to the JSON property `srcSecureLabels`
8239
- # @return [Array<String>]
8240
- attr_accessor :src_secure_labels
8241
-
8242
8346
  def initialize(**args)
8243
8347
  update!(**args)
8244
8348
  end
@@ -8248,7 +8352,6 @@ module Google
8248
8352
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8249
8353
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8250
8354
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8251
- @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
8252
8355
  end
8253
8356
  end
8254
8357
 
@@ -8357,15 +8460,18 @@ module Google
8357
8460
  # ip_address_specifications).
8358
8461
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
8359
8462
  # validateForProxyless field set to true.
8463
+ # For Private Service Connect forwarding rules that forward traffic to Google
8464
+ # APIs, IP address must be provided.
8360
8465
  # Corresponds to the JSON property `IPAddress`
8361
8466
  # @return [String]
8362
8467
  attr_accessor :ip_address
8363
8468
 
8364
8469
  # The IP protocol to which this rule applies.
8365
- # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
8470
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and
8471
+ # L3_DEFAULT.
8366
8472
  # The valid IP protocols are different for different load balancing products:
8367
8473
  # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
8368
- # one of TCP, UDP or ALL is valid.
8474
+ # one of TCP, UDP or L3_DEFAULT is valid.
8369
8475
  # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
8370
8476
  # only TCP is valid.
8371
8477
  # - Internal HTTP(S) Load Balancing: The load balancing scheme is
@@ -8373,17 +8479,18 @@ module Google
8373
8479
  # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
8374
8480
  # is EXTERNAL and only TCP is valid.
8375
8481
  # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
8376
- # TCP or UDP is valid.
8482
+ # TCP, UDP or L3_DEFAULT is valid.
8377
8483
  # Corresponds to the JSON property `IPProtocol`
8378
8484
  # @return [String]
8379
8485
  attr_accessor :ip_protocol
8380
8486
 
8381
- # This field is used along with the backend_service field for internal load
8382
- # balancing or with the target field for internal TargetInstance. This field
8383
- # cannot be used with port or portRange fields.
8384
- # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify
8385
- # this field to allow packets addressed to any ports will be forwarded to the
8386
- # backends configured with this forwarding rule.
8487
+ # This field is used along with the backend_service field for Internal TCP/UDP
8488
+ # Load Balancing or Network Load Balancing, or with the target field for
8489
+ # internal and external TargetInstance.
8490
+ # You can only use one of ports and port_range, or allPorts. The three are
8491
+ # mutually exclusive.
8492
+ # For TCP, UDP and SCTP traffic, packets addressed to any ports will be
8493
+ # forwarded to the target or backendService.
8387
8494
  # Corresponds to the JSON property `allPorts`
8388
8495
  # @return [Boolean]
8389
8496
  attr_accessor :all_ports
@@ -8529,6 +8636,8 @@ module Google
8529
8636
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
8530
8637
  # the load balanced IP should belong to for this Forwarding Rule. If this field
8531
8638
  # is not specified, the default network will be used.
8639
+ # For Private Service Connect forwarding rules that forward traffic to Google
8640
+ # APIs, a network must be provided.
8532
8641
  # Corresponds to the JSON property `network`
8533
8642
  # @return [String]
8534
8643
  attr_accessor :network
@@ -8543,13 +8652,16 @@ module Google
8543
8652
  # @return [String]
8544
8653
  attr_accessor :network_tier
8545
8654
 
8546
- # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
8547
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
8548
- # or SCTP.
8655
+ # This field can be used only if:
8656
+ # - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or
8657
+ # INTERNAL_MANAGED
8658
+ # - IPProtocol is one of TCP, UDP, or SCTP.
8549
8659
  # Packets addressed to ports in the specified range will be forwarded to target
8550
- # or backend_service. You can only use one of ports, port_range, or allPorts.
8551
- # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
8552
- # IPProtocol] pair must have disjoint port ranges.
8660
+ # or backend_service.
8661
+ # You can only use one of ports, port_range, or allPorts. The three are mutually
8662
+ # exclusive.
8663
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8664
+ # ports.
8553
8665
  # Some types of forwarding target have constraints on the acceptable ports:
8554
8666
  # - TargetHttpProxy: 80, 8080
8555
8667
  # - TargetHttpsProxy: 443
@@ -8570,8 +8682,8 @@ module Google
8570
8682
  # You can only use one of ports and port_range, or allPorts. The three are
8571
8683
  # mutually exclusive.
8572
8684
  # You can specify a list of up to five ports, which can be non-contiguous.
8573
- # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
8574
- # specify ports.
8685
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8686
+ # ports.
8575
8687
  # For more information, see [Port specifications](/load-balancing/docs/
8576
8688
  # forwarding-rule-concepts#port_specifications).
8577
8689
  # Corresponds to the JSON property `ports`
@@ -8583,6 +8695,11 @@ module Google
8583
8695
  # @return [Fixnum]
8584
8696
  attr_accessor :psc_connection_id
8585
8697
 
8698
+ #
8699
+ # Corresponds to the JSON property `pscConnectionStatus`
8700
+ # @return [String]
8701
+ attr_accessor :psc_connection_status
8702
+
8586
8703
  # [Output Only] URL of the region where the regional forwarding rule resides.
8587
8704
  # This field is not applicable to global forwarding rules. You must specify this
8588
8705
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -8633,12 +8750,7 @@ module Google
8633
8750
  # @return [String]
8634
8751
  attr_accessor :subnetwork
8635
8752
 
8636
- # The URL of the target resource to receive the matched traffic. For regional
8637
- # forwarding rules, this target must be in the same region as the forwarding
8638
- # rule. For global forwarding rules, this target must be a global load balancing
8639
- # resource. The forwarded traffic must be of a type appropriate to the target
8640
- # object. For more information, see the "Target" column in [Port specifications](
8641
- # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
8753
+ #
8642
8754
  # Corresponds to the JSON property `target`
8643
8755
  # @return [String]
8644
8756
  attr_accessor :target
@@ -8671,6 +8783,7 @@ module Google
8671
8783
  @port_range = args[:port_range] if args.key?(:port_range)
8672
8784
  @ports = args[:ports] if args.key?(:ports)
8673
8785
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
8786
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
8674
8787
  @region = args[:region] if args.key?(:region)
8675
8788
  @self_link = args[:self_link] if args.key?(:self_link)
8676
8789
  @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
@@ -10002,11 +10115,12 @@ module Google
10002
10115
 
10003
10116
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
10004
10117
  # and not more than 10. HealthCheck resources must have portSpecification=
10005
- # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
10006
- # regional and in the same region. For global HealthCheckService, HealthCheck
10007
- # must be global. Mix of regional and global HealthChecks is not supported.
10008
- # Multiple regional HealthChecks must belong to the same region. Regional
10009
- # HealthChecks</code? must belong to the same region as zones of NEGs.
10118
+ # USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional
10119
+ # HealthCheckService, the HealthCheck must be regional and in the same region.
10120
+ # For global HealthCheckService, HealthCheck must be global. Mix of regional and
10121
+ # global HealthChecks is not supported. Multiple regional HealthChecks must
10122
+ # belong to the same region. Regional HealthChecks must belong to the same
10123
+ # region as zones of NEGs.
10010
10124
  # Corresponds to the JSON property `healthChecks`
10011
10125
  # @return [Array<String>]
10012
10126
  attr_accessor :health_checks
@@ -10473,6 +10587,16 @@ module Google
10473
10587
  # @return [Hash<String,String>]
10474
10588
  attr_accessor :annotations
10475
10589
 
10590
+ # URL of the forwarding rule associated with the health status of the instance.
10591
+ # Corresponds to the JSON property `forwardingRule`
10592
+ # @return [String]
10593
+ attr_accessor :forwarding_rule
10594
+
10595
+ # A forwarding rule IP address assigned to this instance.
10596
+ # Corresponds to the JSON property `forwardingRuleIp`
10597
+ # @return [String]
10598
+ attr_accessor :forwarding_rule_ip
10599
+
10476
10600
  # Health state of the instance.
10477
10601
  # Corresponds to the JSON property `healthState`
10478
10602
  # @return [String]
@@ -10513,6 +10637,8 @@ module Google
10513
10637
  # Update properties of this object
10514
10638
  def update!(**args)
10515
10639
  @annotations = args[:annotations] if args.key?(:annotations)
10640
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10641
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
10516
10642
  @health_state = args[:health_state] if args.key?(:health_state)
10517
10643
  @instance = args[:instance] if args.key?(:instance)
10518
10644
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -10624,6 +10750,9 @@ module Google
10624
10750
 
10625
10751
  # The HTTP status code used to abort the request.
10626
10752
  # The value must be between 200 and 599 inclusive.
10753
+ # For gRPC protocol, the gRPC status code is mapped to HTTP status code
10754
+ # according to this mapping table. HTTP status 200 is mapped to gRPC status
10755
+ # UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
10627
10756
  # Corresponds to the JSON property `httpStatus`
10628
10757
  # @return [Fixnum]
10629
10758
  attr_accessor :http_status
@@ -11287,8 +11416,8 @@ module Google
11287
11416
  # @return [Google::Apis::ComputeBeta::Duration]
11288
11417
  attr_accessor :per_try_timeout
11289
11418
 
11290
- # Specfies one or more conditions when this retry rule applies. Valid values are:
11291
- #
11419
+ # Specifies one or more conditions when this retry rule applies. Valid values
11420
+ # are:
11292
11421
  # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
11293
11422
  # any 5xx response code, or if the backend service does not respond at all,
11294
11423
  # example: disconnects, reset, read timeout, connection failure, and refused
@@ -11347,6 +11476,14 @@ module Google
11347
11476
  # @return [Google::Apis::ComputeBeta::HttpFaultInjection]
11348
11477
  attr_accessor :fault_injection_policy
11349
11478
 
11479
+ # A Duration represents a fixed-length span of time represented as a count of
11480
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
11481
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
11482
+ # 000 years.
11483
+ # Corresponds to the JSON property `maxStreamDuration`
11484
+ # @return [Google::Apis::ComputeBeta::Duration]
11485
+ attr_accessor :max_stream_duration
11486
+
11350
11487
  # A policy that specifies how requests intended for the route's backends are
11351
11488
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
11352
11489
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -11395,6 +11532,7 @@ module Google
11395
11532
  def update!(**args)
11396
11533
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
11397
11534
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
11535
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
11398
11536
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
11399
11537
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
11400
11538
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -11959,13 +12097,17 @@ module Google
11959
12097
  # @return [Google::Apis::ComputeBeta::InitialStateConfig]
11960
12098
  attr_accessor :shielded_instance_initial_state
11961
12099
 
11962
- # URL of the source disk used to create this image. This can be a full or valid
11963
- # partial URL. You must provide either this property or the rawDisk.source
11964
- # property but not both to create an image. For example, the following are valid
11965
- # values:
12100
+ # URL of the source disk used to create this image. For example, the following
12101
+ # are valid values:
11966
12102
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
11967
12103
  # - projects/project/zones/zone/disks/disk
11968
12104
  # - zones/zone/disks/disk
12105
+ # In order to create an image, you must provide the full or partial URL of one
12106
+ # of the following:
12107
+ # - The rawDisk.source URL
12108
+ # - The sourceDisk URL
12109
+ # - The sourceImage URL
12110
+ # - The sourceSnapshot URL
11969
12111
  # Corresponds to the JSON property `sourceDisk`
11970
12112
  # @return [String]
11971
12113
  attr_accessor :source_disk
@@ -11986,10 +12128,10 @@ module Google
11986
12128
  # URL of the source image used to create this image.
11987
12129
  # In order to create an image, you must provide the full or partial URL of one
11988
12130
  # of the following:
11989
- # - The selfLink URL
11990
- # - This property
11991
12131
  # - The rawDisk.source URL
11992
12132
  # - The sourceDisk URL
12133
+ # - The sourceImage URL
12134
+ # - The sourceSnapshot URL
11993
12135
  # Corresponds to the JSON property `sourceImage`
11994
12136
  # @return [String]
11995
12137
  attr_accessor :source_image
@@ -12010,11 +12152,10 @@ module Google
12010
12152
  # URL of the source snapshot used to create this image.
12011
12153
  # In order to create an image, you must provide the full or partial URL of one
12012
12154
  # of the following:
12013
- # - The selfLink URL
12014
- # - This property
12015
- # - The sourceImage URL
12016
12155
  # - The rawDisk.source URL
12017
12156
  # - The sourceDisk URL
12157
+ # - The sourceImage URL
12158
+ # - The sourceSnapshot URL
12018
12159
  # Corresponds to the JSON property `sourceSnapshot`
12019
12160
  # @return [String]
12020
12161
  attr_accessor :source_snapshot
@@ -12108,8 +12249,13 @@ module Google
12108
12249
  # @return [String]
12109
12250
  attr_accessor :sha1_checksum
12110
12251
 
12111
- # The full Google Cloud Storage URL where the disk image is stored. You must
12112
- # provide either this property or the sourceDisk property but not both.
12252
+ # The full Google Cloud Storage URL where the disk image is stored.
12253
+ # In order to create an image, you must provide the full or partial URL of one
12254
+ # of the following:
12255
+ # - The rawDisk.source URL
12256
+ # - The sourceDisk URL
12257
+ # - The sourceImage URL
12258
+ # - The sourceSnapshot URL
12113
12259
  # Corresponds to the JSON property `source`
12114
12260
  # @return [String]
12115
12261
  attr_accessor :source
@@ -12127,6 +12273,27 @@ module Google
12127
12273
  end
12128
12274
  end
12129
12275
 
12276
+ #
12277
+ class ImageFamilyView
12278
+ include Google::Apis::Core::Hashable
12279
+
12280
+ # Represents an Image resource.
12281
+ # You can use images to create boot disks for your VM instances. For more
12282
+ # information, read Images. (== resource_for `$api_version`.images ==)
12283
+ # Corresponds to the JSON property `image`
12284
+ # @return [Google::Apis::ComputeBeta::Image]
12285
+ attr_accessor :image
12286
+
12287
+ def initialize(**args)
12288
+ update!(**args)
12289
+ end
12290
+
12291
+ # Update properties of this object
12292
+ def update!(**args)
12293
+ @image = args[:image] if args.key?(:image)
12294
+ end
12295
+ end
12296
+
12130
12297
  # Contains a list of images.
12131
12298
  class ImageList
12132
12299
  include Google::Apis::Core::Hashable
@@ -12470,6 +12637,11 @@ module Google
12470
12637
  # @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
12471
12638
  attr_accessor :network_performance_config
12472
12639
 
12640
+ # PostKeyRevocationActionType of the instance.
12641
+ # Corresponds to the JSON property `postKeyRevocationActionType`
12642
+ # @return [String]
12643
+ attr_accessor :post_key_revocation_action_type
12644
+
12473
12645
  # The private IPv6 google access type for the VM. If not specified, use
12474
12646
  # INHERIT_FROM_SUBNETWORK as default.
12475
12647
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -12492,7 +12664,7 @@ module Google
12492
12664
  attr_accessor :satisfies_pzs
12493
12665
  alias_method :satisfies_pzs?, :satisfies_pzs
12494
12666
 
12495
- # Sets the scheduling options for an Instance. NextID: 17
12667
+ # Sets the scheduling options for an Instance. NextID: 21
12496
12668
  # Corresponds to the JSON property `scheduling`
12497
12669
  # @return [Google::Apis::ComputeBeta::Scheduling]
12498
12670
  attr_accessor :scheduling
@@ -12538,7 +12710,8 @@ module Google
12538
12710
  # @return [String]
12539
12711
  attr_accessor :source_machine_image
12540
12712
 
12541
- # Source GMI encryption key when creating an instance from GMI.
12713
+ # Source machine image encryption key when creating an instance from a machine
12714
+ # image.
12542
12715
  # Corresponds to the JSON property `sourceMachineImageEncryptionKey`
12543
12716
  # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
12544
12717
  attr_accessor :source_machine_image_encryption_key
@@ -12607,6 +12780,7 @@ module Google
12607
12780
  @name = args[:name] if args.key?(:name)
12608
12781
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12609
12782
  @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
12783
+ @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
12610
12784
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
12611
12785
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
12612
12786
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -13115,6 +13289,13 @@ module Google
13115
13289
  end
13116
13290
  end
13117
13291
 
13292
+ # Whether the instance is a standby. Properties of a standby instance comparing
13293
+ # to the regular instance: ======================================================
13294
+ # =================== | regular | standby =======================================
13295
+ # ================================== managed by IGM? | yes | yes added to the IG?
13296
+ # | yes | yes counts towards IGM's target size? | yes | no taken into account
13297
+ # by Autoscaler? | yes | no receives traffic from LB? | yes | no ================
13298
+ # =========================================================
13118
13299
  # Represents a Managed Instance Group resource.
13119
13300
  # An instance group is a collection of VM instances that you can manage as a
13120
13301
  # single entity. For more information, read Instance groups.
@@ -13849,6 +14030,17 @@ module Google
13849
14030
  # @return [String]
13850
14031
  attr_accessor :minimal_action
13851
14032
 
14033
+ # Most disruptive action that is allowed to be taken on an instance. You can
14034
+ # specify either NONE to forbid any actions, REFRESH to allow actions that do
14035
+ # not need instance restart, RESTART to allow actions that can be applied
14036
+ # without instance replacing or REPLACE to allow all possible actions. If the
14037
+ # Updater determines that the minimal update action needed is more disruptive
14038
+ # than most disruptive allowed action you specify it will not perform the update
14039
+ # at all.
14040
+ # Corresponds to the JSON property `mostDisruptiveAllowedAction`
14041
+ # @return [String]
14042
+ attr_accessor :most_disruptive_allowed_action
14043
+
13852
14044
  # What action should be used to replace instances. See minimal_action.REPLACE
13853
14045
  # Corresponds to the JSON property `replacementMethod`
13854
14046
  # @return [String]
@@ -13874,6 +14066,7 @@ module Google
13874
14066
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
13875
14067
  @min_ready_sec = args[:min_ready_sec] if args.key?(:min_ready_sec)
13876
14068
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
14069
+ @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
13877
14070
  @replacement_method = args[:replacement_method] if args.key?(:replacement_method)
13878
14071
  @type = args[:type] if args.key?(:type)
13879
14072
  end
@@ -15252,7 +15445,7 @@ module Google
15252
15445
  # @return [Array<String>]
15253
15446
  attr_accessor :resource_policies
15254
15447
 
15255
- # Sets the scheduling options for an Instance. NextID: 17
15448
+ # Sets the scheduling options for an Instance. NextID: 21
15256
15449
  # Corresponds to the JSON property `scheduling`
15257
15450
  # @return [Google::Apis::ComputeBeta::Scheduling]
15258
15451
  attr_accessor :scheduling
@@ -15618,7 +15811,8 @@ module Google
15618
15811
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
15619
15812
  include Google::Apis::Core::Hashable
15620
15813
 
15621
- # [Output Only] The display name of the firewall policy.
15814
+ # [Output Only] Deprecated, please use short name instead. The display name of
15815
+ # the firewall policy.
15622
15816
  # Corresponds to the JSON property `displayName`
15623
15817
  # @return [String]
15624
15818
  attr_accessor :display_name
@@ -15633,6 +15827,11 @@ module Google
15633
15827
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
15634
15828
  attr_accessor :rules
15635
15829
 
15830
+ # [Output Only] The short name of the firewall policy.
15831
+ # Corresponds to the JSON property `shortName`
15832
+ # @return [String]
15833
+ attr_accessor :short_name
15834
+
15636
15835
  # [Output Only] The type of the firewall policy.
15637
15836
  # Corresponds to the JSON property `type`
15638
15837
  # @return [String]
@@ -15647,6 +15846,7 @@ module Google
15647
15846
  @display_name = args[:display_name] if args.key?(:display_name)
15648
15847
  @name = args[:name] if args.key?(:name)
15649
15848
  @rules = args[:rules] if args.key?(:rules)
15849
+ @short_name = args[:short_name] if args.key?(:short_name)
15650
15850
  @type = args[:type] if args.key?(:type)
15651
15851
  end
15652
15852
  end
@@ -16312,6 +16512,19 @@ module Google
16312
16512
  # @return [String]
16313
16513
  attr_accessor :edge_availability_domain
16314
16514
 
16515
+ # Indicates the user-supplied encryption option of this interconnect attachment:
16516
+ # - NONE is the default value, which means that the attachment carries
16517
+ # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
16518
+ # type of attachment.
16519
+ # - IPSEC indicates that the attachment carries only traffic encrypted by an
16520
+ # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
16521
+ # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
16522
+ # Interconnect, create the attachment using this option.
16523
+ # Not currently available in all Interconnect locations.
16524
+ # Corresponds to the JSON property `encryption`
16525
+ # @return [String]
16526
+ attr_accessor :encryption
16527
+
16315
16528
  # [Output Only] Google reference ID, to be used when raising support tickets
16316
16529
  # with Google or otherwise to debug backend connectivity issues. [Deprecated]
16317
16530
  # This field is not used.
@@ -16331,6 +16544,23 @@ module Google
16331
16544
  # @return [String]
16332
16545
  attr_accessor :interconnect
16333
16546
 
16547
+ # URL of addresses that have been reserved for the interconnect attachment, Used
16548
+ # only for interconnect attachment that has the encryption option as IPSEC. The
16549
+ # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
16550
+ # over the interconnect attachment, if the attachment is configured to use an
16551
+ # RFC 1918 IP address, then the VPN gateway's IP address will be allocated from
16552
+ # the IP address range specified here. For example, if the HA VPN gateway's
16553
+ # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
16554
+ # address for the VPN gateway interface 0 will be allocated from the IP address
16555
+ # specified for this interconnect attachment. If this field is not specified for
16556
+ # interconnect attachment that has encryption option as IPSEC, later on when
16557
+ # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
16558
+ # IP address will be allocated from regional external IP address pool.
16559
+ # Not currently available in all Interconnect locations.
16560
+ # Corresponds to the JSON property `ipsecInternalAddresses`
16561
+ # @return [Array<String>]
16562
+ attr_accessor :ipsec_internal_addresses
16563
+
16334
16564
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for
16335
16565
  # interconnect attachments.
16336
16566
  # Corresponds to the JSON property `kind`
@@ -16485,9 +16715,11 @@ module Google
16485
16715
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
16486
16716
  @description = args[:description] if args.key?(:description)
16487
16717
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
16718
+ @encryption = args[:encryption] if args.key?(:encryption)
16488
16719
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
16489
16720
  @id = args[:id] if args.key?(:id)
16490
16721
  @interconnect = args[:interconnect] if args.key?(:interconnect)
16722
+ @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
16491
16723
  @kind = args[:kind] if args.key?(:kind)
16492
16724
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
16493
16725
  @labels = args[:labels] if args.key?(:labels)
@@ -17999,7 +18231,7 @@ module Google
17999
18231
  include Google::Apis::Core::Hashable
18000
18232
 
18001
18233
  # Location configurations mapped by location name. Currently only zone names are
18002
- # supported and must be represented as valid internal URLs, like: zones/us-
18234
+ # supported and must be represented as valid internal URLs, such as zones/us-
18003
18235
  # central1-a.
18004
18236
  # Corresponds to the JSON property `locations`
18005
18237
  # @return [Hash<String,Google::Apis::ComputeBeta::LocationPolicyLocation>]
@@ -18019,7 +18251,7 @@ module Google
18019
18251
  class LocationPolicyLocation
18020
18252
  include Google::Apis::Core::Hashable
18021
18253
 
18022
- #
18254
+ # Preference for a given location: ALLOW or DENY.
18023
18255
  # Corresponds to the JSON property `preference`
18024
18256
  # @return [String]
18025
18257
  attr_accessor :preference
@@ -20370,13 +20602,28 @@ module Google
20370
20602
 
20371
20603
  # Fingerprint hash of contents stored in this network interface. This field will
20372
20604
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
20373
- # date fingerprint must be provided in order to update the NetworkInterface,
20374
- # otherwise the request will fail with error 412 conditionNotMet.
20605
+ # date fingerprint must be provided in order to update the NetworkInterface. The
20606
+ # request will fail with error 400 Bad Request if the fingerprint is not
20607
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
20375
20608
  # Corresponds to the JSON property `fingerprint`
20376
20609
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
20377
20610
  # @return [String]
20378
20611
  attr_accessor :fingerprint
20379
20612
 
20613
+ # An array of IPv6 access configurations for this interface. Currently, only one
20614
+ # IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
20615
+ # specified, then this instance will have no external IPv6 Internet access.
20616
+ # Corresponds to the JSON property `ipv6AccessConfigs`
20617
+ # @return [Array<Google::Apis::ComputeBeta::AccessConfig>]
20618
+ attr_accessor :ipv6_access_configs
20619
+
20620
+ # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be
20621
+ # accessed from the Internet. This field is always inherited from its subnetwork.
20622
+ # Valid only if stackType is IPV4_IPV6.
20623
+ # Corresponds to the JSON property `ipv6AccessType`
20624
+ # @return [String]
20625
+ attr_accessor :ipv6_access_type
20626
+
20380
20627
  # [Output Only] An IPv6 internal network address for this network interface.
20381
20628
  # Corresponds to the JSON property `ipv6Address`
20382
20629
  # @return [String]
@@ -20420,6 +20667,14 @@ module Google
20420
20667
  # @return [String]
20421
20668
  attr_accessor :nic_type
20422
20669
 
20670
+ # The stack type for this network interface to identify whether the IPv6 feature
20671
+ # is enabled or not. If not specified, IPV4_ONLY will be used.
20672
+ # This field can be both set at instance creation and update network interface
20673
+ # operations.
20674
+ # Corresponds to the JSON property `stackType`
20675
+ # @return [String]
20676
+ attr_accessor :stack_type
20677
+
20423
20678
  # The URL of the Subnetwork resource for this instance. If the network resource
20424
20679
  # is in legacy mode, do not specify this field. If the network is in auto subnet
20425
20680
  # mode, specifying the subnetwork is optional. If the network is in custom
@@ -20442,12 +20697,15 @@ module Google
20442
20697
  @access_configs = args[:access_configs] if args.key?(:access_configs)
20443
20698
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
20444
20699
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20700
+ @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
20701
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
20445
20702
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
20446
20703
  @kind = args[:kind] if args.key?(:kind)
20447
20704
  @name = args[:name] if args.key?(:name)
20448
20705
  @network = args[:network] if args.key?(:network)
20449
20706
  @network_ip = args[:network_ip] if args.key?(:network_ip)
20450
20707
  @nic_type = args[:nic_type] if args.key?(:nic_type)
20708
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
20451
20709
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
20452
20710
  end
20453
20711
  end
@@ -20804,7 +21062,8 @@ module Google
20804
21062
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
20805
21063
  include Google::Apis::Core::Hashable
20806
21064
 
20807
- # [Output Only] The display name of the firewall policy.
21065
+ # [Output Only] Deprecated, please use short name instead. The display name of
21066
+ # the firewall policy.
20808
21067
  # Corresponds to the JSON property `displayName`
20809
21068
  # @return [String]
20810
21069
  attr_accessor :display_name
@@ -20819,6 +21078,11 @@ module Google
20819
21078
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
20820
21079
  attr_accessor :rules
20821
21080
 
21081
+ # [Output Only] The short name of the firewall policy.
21082
+ # Corresponds to the JSON property `shortName`
21083
+ # @return [String]
21084
+ attr_accessor :short_name
21085
+
20822
21086
  # [Output Only] The type of the firewall policy.
20823
21087
  # Corresponds to the JSON property `type`
20824
21088
  # @return [String]
@@ -20833,6 +21097,7 @@ module Google
20833
21097
  @display_name = args[:display_name] if args.key?(:display_name)
20834
21098
  @name = args[:name] if args.key?(:name)
20835
21099
  @rules = args[:rules] if args.key?(:rules)
21100
+ @short_name = args[:short_name] if args.key?(:short_name)
20836
21101
  @type = args[:type] if args.key?(:type)
20837
21102
  end
20838
21103
  end
@@ -29053,6 +29318,14 @@ module Google
29053
29318
  # @return [String]
29054
29319
  attr_accessor :description
29055
29320
 
29321
+ # Field to indicate if a router is dedicated to use with encrypted Interconnect
29322
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
29323
+ # Not currently available in all Interconnect locations.
29324
+ # Corresponds to the JSON property `encryptedInterconnectRouter`
29325
+ # @return [Boolean]
29326
+ attr_accessor :encrypted_interconnect_router
29327
+ alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router
29328
+
29056
29329
  # [Output Only] The unique identifier for the resource. This identifier is
29057
29330
  # defined by the server.
29058
29331
  # Corresponds to the JSON property `id`
@@ -29113,6 +29386,7 @@ module Google
29113
29386
  @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
29114
29387
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
29115
29388
  @description = args[:description] if args.key?(:description)
29389
+ @encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router)
29116
29390
  @id = args[:id] if args.key?(:id)
29117
29391
  @interfaces = args[:interfaces] if args.key?(:interfaces)
29118
29392
  @kind = args[:kind] if args.key?(:kind)
@@ -29313,7 +29587,7 @@ module Google
29313
29587
  # successive keepalive messages that BGP receives from a peer.
29314
29588
  # BGP will use the smaller of either the local hold time value or the peer's
29315
29589
  # hold time value as the hold time for the BGP connection between the two peers.
29316
- # If set, this value must be between 1 and 120. The default is 20.
29590
+ # If set, this value must be between 20 and 60. The default is 20.
29317
29591
  # Corresponds to the JSON property `keepaliveInterval`
29318
29592
  # @return [Fixnum]
29319
29593
  attr_accessor :keepalive_interval
@@ -29344,12 +29618,11 @@ module Google
29344
29618
  # User-specified list of prefix groups to advertise in custom mode, which can
29345
29619
  # take one of the following options:
29346
29620
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
29347
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
29348
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
29349
- # Note that this field can only be populated if advertise_mode is CUSTOM and
29350
- # overrides the list defined for the router (in the "bgp" message). These groups
29351
- # are advertised in addition to any specified prefixes. Leave this field blank
29352
- # to advertise no custom groups.
29621
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
29622
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
29623
+ # defined for the router (in the "bgp" message). These groups are advertised in
29624
+ # addition to any specified prefixes. Leave this field blank to advertise no
29625
+ # custom groups.
29353
29626
  # Corresponds to the JSON property `advertisedGroups`
29354
29627
  # @return [Array<String>]
29355
29628
  attr_accessor :advertised_groups
@@ -29429,6 +29702,14 @@ module Google
29429
29702
  # @return [String]
29430
29703
  attr_accessor :peer_ip_address
29431
29704
 
29705
+ # URI of the VM instance that is used as third-party router appliances such as
29706
+ # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
29707
+ # must be located in zones contained in the same region as this Cloud Router.
29708
+ # The VM instance is the peer side of the BGP session.
29709
+ # Corresponds to the JSON property `routerApplianceInstance`
29710
+ # @return [String]
29711
+ attr_accessor :router_appliance_instance
29712
+
29432
29713
  def initialize(**args)
29433
29714
  update!(**args)
29434
29715
  end
@@ -29447,6 +29728,7 @@ module Google
29447
29728
  @name = args[:name] if args.key?(:name)
29448
29729
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
29449
29730
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
29731
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29450
29732
  end
29451
29733
  end
29452
29734
 
@@ -29554,6 +29836,35 @@ module Google
29554
29836
  # @return [String]
29555
29837
  attr_accessor :name
29556
29838
 
29839
+ # The regional private internal IP address that is used to establish BGP
29840
+ # sessions to a VM instance acting as a third-party Router Appliance, such as a
29841
+ # Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
29842
+ # Corresponds to the JSON property `privateIpAddress`
29843
+ # @return [String]
29844
+ attr_accessor :private_ip_address
29845
+
29846
+ # Name of the interface that will be redundant with the current interface you
29847
+ # are creating. The redundantInterface must belong to the same Cloud Router as
29848
+ # the interface here. To establish the BGP session to a Router Appliance VM, you
29849
+ # must create two BGP peers. The two BGP peers must be attached to two separate
29850
+ # interfaces that are redundant with each other. The redundant_interface must be
29851
+ # 1-63 characters long, and comply with RFC1035. Specifically, the
29852
+ # redundant_interface must be 1-63 characters long and match the regular
29853
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
29854
+ # be a lowercase letter, and all following characters must be a dash, lowercase
29855
+ # letter, or digit, except the last character, which cannot be a dash.
29856
+ # Corresponds to the JSON property `redundantInterface`
29857
+ # @return [String]
29858
+ attr_accessor :redundant_interface
29859
+
29860
+ # The URL of the subnetwork resource that this interface belongs to, which must
29861
+ # be in the same region as the Cloud Router. When you establish a BGP session to
29862
+ # a VM instance using this interface, the VM instance must belong to the same
29863
+ # subnetwork as the subnetwork specified here.
29864
+ # Corresponds to the JSON property `subnetwork`
29865
+ # @return [String]
29866
+ attr_accessor :subnetwork
29867
+
29557
29868
  def initialize(**args)
29558
29869
  update!(**args)
29559
29870
  end
@@ -29565,6 +29876,9 @@ module Google
29565
29876
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
29566
29877
  @management_type = args[:management_type] if args.key?(:management_type)
29567
29878
  @name = args[:name] if args.key?(:name)
29879
+ @private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
29880
+ @redundant_interface = args[:redundant_interface] if args.key?(:redundant_interface)
29881
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
29568
29882
  end
29569
29883
  end
29570
29884
 
@@ -29955,6 +30269,13 @@ module Google
29955
30269
  # @return [String]
29956
30270
  attr_accessor :peer_ip_address
29957
30271
 
30272
+ # [Output only] URI of the VM instance that is used as third-party router
30273
+ # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
30274
+ # The VM instance is the peer side of the BGP session.
30275
+ # Corresponds to the JSON property `routerApplianceInstance`
30276
+ # @return [String]
30277
+ attr_accessor :router_appliance_instance
30278
+
29958
30279
  # BGP state as specified in RFC1771.
29959
30280
  # Corresponds to the JSON property `state`
29960
30281
  # @return [String]
@@ -29989,6 +30310,7 @@ module Google
29989
30310
  @name = args[:name] if args.key?(:name)
29990
30311
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
29991
30312
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
30313
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29992
30314
  @state = args[:state] if args.key?(:state)
29993
30315
  @status = args[:status] if args.key?(:status)
29994
30316
  @uptime = args[:uptime] if args.key?(:uptime)
@@ -30482,7 +30804,7 @@ module Google
30482
30804
  end
30483
30805
  end
30484
30806
 
30485
- # Sets the scheduling options for an Instance. NextID: 17
30807
+ # Sets the scheduling options for an Instance. NextID: 21
30486
30808
  class Scheduling
30487
30809
  include Google::Apis::Core::Hashable
30488
30810
 
@@ -30503,6 +30825,18 @@ module Google
30503
30825
  # @return [String]
30504
30826
  attr_accessor :location_hint
30505
30827
 
30828
+ # Specifies the number of hours after VM instance creation where the VM won't be
30829
+ # scheduled for maintenance.
30830
+ # Corresponds to the JSON property `maintenanceFreezeDurationHours`
30831
+ # @return [Fixnum]
30832
+ attr_accessor :maintenance_freeze_duration_hours
30833
+
30834
+ # For more information about maintenance intervals, see Setting maintenance
30835
+ # intervals.
30836
+ # Corresponds to the JSON property `maintenanceInterval`
30837
+ # @return [String]
30838
+ attr_accessor :maintenance_interval
30839
+
30506
30840
  # The minimum number of virtual CPUs this instance will consume when running on
30507
30841
  # a sole-tenant node.
30508
30842
  # Corresponds to the JSON property `minNodeCpus`
@@ -30540,6 +30874,8 @@ module Google
30540
30874
  def update!(**args)
30541
30875
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
30542
30876
  @location_hint = args[:location_hint] if args.key?(:location_hint)
30877
+ @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
30878
+ @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
30543
30879
  @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
30544
30880
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
30545
30881
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
@@ -31016,7 +31352,7 @@ module Google
31016
31352
  class SecurityPolicyRule
31017
31353
  include Google::Apis::Core::Hashable
31018
31354
 
31019
- # The Action to preform when the client connection triggers the rule. Can
31355
+ # The Action to perform when the client connection triggers the rule. Can
31020
31356
  # currently be either "allow" or "deny()" where valid values for status are 403,
31021
31357
  # 404, and 502.
31022
31358
  # Corresponds to the JSON property `action`
@@ -31387,10 +31723,16 @@ module Google
31387
31723
  # A service attachment represents a service that a producer has exposed. It
31388
31724
  # encapsulates the load balancer which fronts the service runs and a list of NAT
31389
31725
  # IP ranges that the producers uses to represent the consumers connecting to the
31390
- # service. next tag = 16
31726
+ # service. next tag = 19
31391
31727
  class ServiceAttachment
31392
31728
  include Google::Apis::Core::Hashable
31393
31729
 
31730
+ # [Output Only] An array of connections for all the consumers connected to this
31731
+ # service attachment.
31732
+ # Corresponds to the JSON property `connectedEndpoints`
31733
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConnectedEndpoint>]
31734
+ attr_accessor :connected_endpoints
31735
+
31394
31736
  # The connection preference of service attachment. The value can be set to
31395
31737
  # ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always
31396
31738
  # accepts the connection from consumer forwarding rules.
@@ -31398,12 +31740,23 @@ module Google
31398
31740
  # @return [String]
31399
31741
  attr_accessor :connection_preference
31400
31742
 
31743
+ # Projects that are allowed to connect to this service attachment.
31744
+ # Corresponds to the JSON property `consumerAcceptLists`
31745
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConsumerProjectLimit>]
31746
+ attr_accessor :consumer_accept_lists
31747
+
31401
31748
  # [Output Only] An array of forwarding rules for all the consumers connected to
31402
31749
  # this service attachment.
31403
31750
  # Corresponds to the JSON property `consumerForwardingRules`
31404
31751
  # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConsumerForwardingRule>]
31405
31752
  attr_accessor :consumer_forwarding_rules
31406
31753
 
31754
+ # Projects that are not allowed to connect to this service attachment. The
31755
+ # project can be specified using its id or number.
31756
+ # Corresponds to the JSON property `consumerRejectLists`
31757
+ # @return [Array<String>]
31758
+ attr_accessor :consumer_reject_lists
31759
+
31407
31760
  # [Output Only] Creation timestamp in RFC3339 text format.
31408
31761
  # Corresponds to the JSON property `creationTimestamp`
31409
31762
  # @return [String]
@@ -31423,6 +31776,17 @@ module Google
31423
31776
  attr_accessor :enable_proxy_protocol
31424
31777
  alias_method :enable_proxy_protocol?, :enable_proxy_protocol
31425
31778
 
31779
+ # Fingerprint of this resource. A hash of the contents stored in this object.
31780
+ # This field is used in optimistic locking. This field will be ignored when
31781
+ # inserting a ServiceAttachment. An up-to-date fingerprint must be provided in
31782
+ # order to patch/update the ServiceAttachment; otherwise, the request will fail
31783
+ # with error 412 conditionNotMet. To see the latest fingerprint, make a get()
31784
+ # request to retrieve the ServiceAttachment.
31785
+ # Corresponds to the JSON property `fingerprint`
31786
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
31787
+ # @return [String]
31788
+ attr_accessor :fingerprint
31789
+
31426
31790
  # [Output Only] The unique identifier for the resource type. The server
31427
31791
  # generates this identifier.
31428
31792
  # Corresponds to the JSON property `id`
@@ -31457,6 +31821,11 @@ module Google
31457
31821
  # @return [String]
31458
31822
  attr_accessor :producer_forwarding_rule
31459
31823
 
31824
+ # [Output Only] An 128-bit global unique ID of the PSC service attachment.
31825
+ # Corresponds to the JSON property `pscServiceAttachmentId`
31826
+ # @return [Google::Apis::ComputeBeta::Uint128]
31827
+ attr_accessor :psc_service_attachment_id
31828
+
31460
31829
  # [Output Only] URL of the region where the service attachment resides. This
31461
31830
  # field applies only to the region resource. You must specify this field as part
31462
31831
  # of the HTTP request URL. It is not settable as a field in the request body.
@@ -31469,24 +31838,36 @@ module Google
31469
31838
  # @return [String]
31470
31839
  attr_accessor :self_link
31471
31840
 
31841
+ # The URL of a service serving the endpoint identified by this service
31842
+ # attachment.
31843
+ # Corresponds to the JSON property `targetService`
31844
+ # @return [String]
31845
+ attr_accessor :target_service
31846
+
31472
31847
  def initialize(**args)
31473
31848
  update!(**args)
31474
31849
  end
31475
31850
 
31476
31851
  # Update properties of this object
31477
31852
  def update!(**args)
31853
+ @connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints)
31478
31854
  @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
31855
+ @consumer_accept_lists = args[:consumer_accept_lists] if args.key?(:consumer_accept_lists)
31479
31856
  @consumer_forwarding_rules = args[:consumer_forwarding_rules] if args.key?(:consumer_forwarding_rules)
31857
+ @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
31480
31858
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31481
31859
  @description = args[:description] if args.key?(:description)
31482
31860
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
31861
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
31483
31862
  @id = args[:id] if args.key?(:id)
31484
31863
  @kind = args[:kind] if args.key?(:kind)
31485
31864
  @name = args[:name] if args.key?(:name)
31486
31865
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
31487
31866
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
31867
+ @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
31488
31868
  @region = args[:region] if args.key?(:region)
31489
31869
  @self_link = args[:self_link] if args.key?(:self_link)
31870
+ @target_service = args[:target_service] if args.key?(:target_service)
31490
31871
  end
31491
31872
  end
31492
31873
 
@@ -31613,7 +31994,45 @@ module Google
31613
31994
  end
31614
31995
  end
31615
31996
 
31997
+ # [Output Only] A connection connected to this service attachment.
31998
+ class ServiceAttachmentConnectedEndpoint
31999
+ include Google::Apis::Core::Hashable
32000
+
32001
+ # The url of a connected endpoint.
32002
+ # Corresponds to the JSON property `endpoint`
32003
+ # @return [String]
32004
+ attr_accessor :endpoint
32005
+
32006
+ # The url of a consumer forwarding rule. [Deprecated] Do not use.
32007
+ # Corresponds to the JSON property `forwardingRule`
32008
+ # @return [String]
32009
+ attr_accessor :forwarding_rule
32010
+
32011
+ # The PSC connection id of the connected endpoint.
32012
+ # Corresponds to the JSON property `pscConnectionId`
32013
+ # @return [Fixnum]
32014
+ attr_accessor :psc_connection_id
32015
+
32016
+ # The status of a connected endpoint to this service attachment.
32017
+ # Corresponds to the JSON property `status`
32018
+ # @return [String]
32019
+ attr_accessor :status
32020
+
32021
+ def initialize(**args)
32022
+ update!(**args)
32023
+ end
32024
+
32025
+ # Update properties of this object
32026
+ def update!(**args)
32027
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
32028
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
32029
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
32030
+ @status = args[:status] if args.key?(:status)
32031
+ end
32032
+ end
32033
+
31616
32034
  # [Output Only] A consumer forwarding rule connected to this service attachment.
32035
+ # [Deprecated] Do not use.
31617
32036
  class ServiceAttachmentConsumerForwardingRule
31618
32037
  include Google::Apis::Core::Hashable
31619
32038
 
@@ -31622,6 +32041,11 @@ module Google
31622
32041
  # @return [String]
31623
32042
  attr_accessor :forwarding_rule
31624
32043
 
32044
+ # The PSC connection id of the PSC Forwarding Rule.
32045
+ # Corresponds to the JSON property `pscConnectionId`
32046
+ # @return [Fixnum]
32047
+ attr_accessor :psc_connection_id
32048
+
31625
32049
  # The status of the forwarding rule.
31626
32050
  # Corresponds to the JSON property `status`
31627
32051
  # @return [String]
@@ -31634,10 +32058,36 @@ module Google
31634
32058
  # Update properties of this object
31635
32059
  def update!(**args)
31636
32060
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
32061
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
31637
32062
  @status = args[:status] if args.key?(:status)
31638
32063
  end
31639
32064
  end
31640
32065
 
32066
+ #
32067
+ class ServiceAttachmentConsumerProjectLimit
32068
+ include Google::Apis::Core::Hashable
32069
+
32070
+ # The value of the limit to set.
32071
+ # Corresponds to the JSON property `connectionLimit`
32072
+ # @return [Fixnum]
32073
+ attr_accessor :connection_limit
32074
+
32075
+ # The project id or number for the project to set the limit for.
32076
+ # Corresponds to the JSON property `projectIdOrNum`
32077
+ # @return [String]
32078
+ attr_accessor :project_id_or_num
32079
+
32080
+ def initialize(**args)
32081
+ update!(**args)
32082
+ end
32083
+
32084
+ # Update properties of this object
32085
+ def update!(**args)
32086
+ @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
32087
+ @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
32088
+ end
32089
+ end
32090
+
31641
32091
  #
31642
32092
  class ServiceAttachmentList
31643
32093
  include Google::Apis::Core::Hashable
@@ -31761,9 +32211,9 @@ module Google
31761
32211
  include Google::Apis::Core::Hashable
31762
32212
 
31763
32213
  # A list of ServiceAttachments contained in this scope.
31764
- # Corresponds to the JSON property `resources`
32214
+ # Corresponds to the JSON property `serviceAttachments`
31765
32215
  # @return [Array<Google::Apis::ComputeBeta::ServiceAttachment>]
31766
- attr_accessor :resources
32216
+ attr_accessor :service_attachments
31767
32217
 
31768
32218
  # Informational warning which replaces the list of service attachments when the
31769
32219
  # list is empty.
@@ -31777,7 +32227,7 @@ module Google
31777
32227
 
31778
32228
  # Update properties of this object
31779
32229
  def update!(**args)
31780
- @resources = args[:resources] if args.key?(:resources)
32230
+ @service_attachments = args[:service_attachments] if args.key?(:service_attachments)
31781
32231
  @warning = args[:warning] if args.key?(:warning)
31782
32232
  end
31783
32233
 
@@ -32564,7 +33014,7 @@ module Google
32564
33014
  # @return [String]
32565
33015
  attr_accessor :post_key_revocation_action_type
32566
33016
 
32567
- # Sets the scheduling options for an Instance. NextID: 17
33017
+ # Sets the scheduling options for an Instance. NextID: 21
32568
33018
  # Corresponds to the JSON property `scheduling`
32569
33019
  # @return [Google::Apis::ComputeBeta::Scheduling]
32570
33020
  attr_accessor :scheduling
@@ -33562,6 +34012,12 @@ module Google
33562
34012
  attr_accessor :enable_flow_logs
33563
34013
  alias_method :enable_flow_logs?, :enable_flow_logs
33564
34014
 
34015
+ # [Output Only] The range of external IPv6 addresses that are owned by this
34016
+ # subnetwork.
34017
+ # Corresponds to the JSON property `externalIpv6Prefix`
34018
+ # @return [String]
34019
+ attr_accessor :external_ipv6_prefix
34020
+
33565
34021
  # Fingerprint of this resource. A hash of the contents stored in this object.
33566
34022
  # This field is used in optimistic locking. This field will be ignored when
33567
34023
  # inserting a Subnetwork. An up-to-date fingerprint must be provided in order to
@@ -33595,6 +34051,14 @@ module Google
33595
34051
  # @return [String]
33596
34052
  attr_accessor :ip_cidr_range
33597
34053
 
34054
+ # The access type of IPv6 address this subnet holds. It's immutable and can only
34055
+ # be specified during creation or the first time the subnet is updated into
34056
+ # IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot
34057
+ # enable direct path.
34058
+ # Corresponds to the JSON property `ipv6AccessType`
34059
+ # @return [String]
34060
+ attr_accessor :ipv6_access_type
34061
+
33598
34062
  # [Output Only] The range of internal IPv6 addresses that are owned by this
33599
34063
  # subnetwork.
33600
34064
  # Corresponds to the JSON property `ipv6CidrRange`
@@ -33685,14 +34149,19 @@ module Google
33685
34149
  # @return [String]
33686
34150
  attr_accessor :self_link
33687
34151
 
34152
+ # The stack type for this subnet to identify whether the IPv6 feature is enabled
34153
+ # or not. If not specified IPV4_ONLY will be used.
34154
+ # This field can be both set at resource creation time and updated using patch.
34155
+ # Corresponds to the JSON property `stackType`
34156
+ # @return [String]
34157
+ attr_accessor :stack_type
34158
+
33688
34159
  # [Output Only] The state of the subnetwork, which can be one of the following
33689
34160
  # values: READY: Subnetwork is created and ready to use DRAINING: only
33690
34161
  # applicable to subnetworks that have the purpose set to
33691
34162
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
33692
34163
  # balancer are being drained. A subnetwork that is draining cannot be used or
33693
- # modified until it reaches a status of READY CREATING: Subnetwork is
33694
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
33695
- # being updated
34164
+ # modified until it reaches a status of READY
33696
34165
  # Corresponds to the JSON property `state`
33697
34166
  # @return [String]
33698
34167
  attr_accessor :state
@@ -33707,10 +34176,12 @@ module Google
33707
34176
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33708
34177
  @description = args[:description] if args.key?(:description)
33709
34178
  @enable_flow_logs = args[:enable_flow_logs] if args.key?(:enable_flow_logs)
34179
+ @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix)
33710
34180
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
33711
34181
  @gateway_address = args[:gateway_address] if args.key?(:gateway_address)
33712
34182
  @id = args[:id] if args.key?(:id)
33713
34183
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
34184
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
33714
34185
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
33715
34186
  @kind = args[:kind] if args.key?(:kind)
33716
34187
  @log_config = args[:log_config] if args.key?(:log_config)
@@ -33723,6 +34194,7 @@ module Google
33723
34194
  @role = args[:role] if args.key?(:role)
33724
34195
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
33725
34196
  @self_link = args[:self_link] if args.key?(:self_link)
34197
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
33726
34198
  @state = args[:state] if args.key?(:state)
33727
34199
  end
33728
34200
  end
@@ -34006,7 +34478,7 @@ module Google
34006
34478
 
34007
34479
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
34008
34480
  # Configures whether all, none or a subset of metadata fields should be added to
34009
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
34481
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
34010
34482
  # Corresponds to the JSON property `metadata`
34011
34483
  # @return [String]
34012
34484
  attr_accessor :metadata
@@ -34194,6 +34666,26 @@ module Google
34194
34666
  end
34195
34667
  end
34196
34668
 
34669
+ # Subsetting configuration for this BackendService. Currently this is applicable
34670
+ # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
34671
+ class Subsetting
34672
+ include Google::Apis::Core::Hashable
34673
+
34674
+ #
34675
+ # Corresponds to the JSON property `policy`
34676
+ # @return [String]
34677
+ attr_accessor :policy
34678
+
34679
+ def initialize(**args)
34680
+ update!(**args)
34681
+ end
34682
+
34683
+ # Update properties of this object
34684
+ def update!(**args)
34685
+ @policy = args[:policy] if args.key?(:policy)
34686
+ end
34687
+ end
34688
+
34197
34689
  #
34198
34690
  class TcpHealthCheck
34199
34691
  include Google::Apis::Core::Hashable
@@ -35081,7 +35573,8 @@ module Google
35081
35573
  include Google::Apis::Core::Hashable
35082
35574
 
35083
35575
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
35084
- # resource. Currently exactly one SslCertificate resource must be specified.
35576
+ # resource. At least one SSL certificate must be specified. Currently, you may
35577
+ # specify up to 15 SSL certificates.
35085
35578
  # Corresponds to the JSON property `sslCertificates`
35086
35579
  # @return [Array<String>]
35087
35580
  attr_accessor :ssl_certificates
@@ -35143,6 +35636,17 @@ module Google
35143
35636
  # @return [String]
35144
35637
  attr_accessor :description
35145
35638
 
35639
+ # Fingerprint of this resource. A hash of the contents stored in this object.
35640
+ # This field is used in optimistic locking. This field will be ignored when
35641
+ # inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in
35642
+ # order to patch the TargetHttpsProxy; otherwise, the request will fail with
35643
+ # error 412 conditionNotMet. To see the latest fingerprint, make a get() request
35644
+ # to retrieve the TargetHttpsProxy.
35645
+ # Corresponds to the JSON property `fingerprint`
35646
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
35647
+ # @return [String]
35648
+ attr_accessor :fingerprint
35649
+
35146
35650
  # URLs to networkservices.HttpFilter resources enabled for xDS clients using
35147
35651
  # this configuration. For example, https://networkservices.googleapis.com/beta/
35148
35652
  # projects/project/locations/locationhttpFilters/httpFilter Only filters that
@@ -35230,6 +35734,8 @@ module Google
35230
35734
  # URLs to SslCertificate resources that are used to authenticate connections
35231
35735
  # between users and the load balancer. At least one SSL certificate must be
35232
35736
  # specified. Currently, you may specify up to 15 SSL certificates.
35737
+ # sslCertificates do not apply when the load balancing scheme is set to
35738
+ # INTERNAL_SELF_MANAGED.
35233
35739
  # Corresponds to the JSON property `sslCertificates`
35234
35740
  # @return [Array<String>]
35235
35741
  attr_accessor :ssl_certificates
@@ -35262,6 +35768,7 @@ module Google
35262
35768
  @authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy)
35263
35769
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
35264
35770
  @description = args[:description] if args.key?(:description)
35771
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
35265
35772
  @http_filters = args[:http_filters] if args.key?(:http_filters)
35266
35773
  @id = args[:id] if args.key?(:id)
35267
35774
  @kind = args[:kind] if args.key?(:kind)
@@ -36580,7 +37087,8 @@ module Google
36580
37087
  include Google::Apis::Core::Hashable
36581
37088
 
36582
37089
  # New set of URLs to SslCertificate resources to associate with this
36583
- # TargetSslProxy. Currently exactly one ssl certificate must be specified.
37090
+ # TargetSslProxy. At least one SSL certificate must be specified. Currently, you
37091
+ # may specify up to 15 SSL certificates.
36584
37092
  # Corresponds to the JSON property `sslCertificates`
36585
37093
  # @return [Array<String>]
36586
37094
  attr_accessor :ssl_certificates
@@ -36654,7 +37162,8 @@ module Google
36654
37162
 
36655
37163
  # URLs to SslCertificate resources that are used to authenticate connections to
36656
37164
  # Backends. At least one SSL certificate must be specified. Currently, you may
36657
- # specify up to 15 SSL certificates.
37165
+ # specify up to 15 SSL certificates. sslCertificates do not apply when the load
37166
+ # balancing scheme is set to INTERNAL_SELF_MANAGED.
36658
37167
  # Corresponds to the JSON property `sslCertificates`
36659
37168
  # @return [Array<String>]
36660
37169
  attr_accessor :ssl_certificates
@@ -37609,6 +38118,31 @@ module Google
37609
38118
  end
37610
38119
  end
37611
38120
 
38121
+ #
38122
+ class Uint128
38123
+ include Google::Apis::Core::Hashable
38124
+
38125
+ #
38126
+ # Corresponds to the JSON property `high`
38127
+ # @return [Fixnum]
38128
+ attr_accessor :high
38129
+
38130
+ #
38131
+ # Corresponds to the JSON property `low`
38132
+ # @return [Fixnum]
38133
+ attr_accessor :low
38134
+
38135
+ def initialize(**args)
38136
+ update!(**args)
38137
+ end
38138
+
38139
+ # Update properties of this object
38140
+ def update!(**args)
38141
+ @high = args[:high] if args.key?(:high)
38142
+ @low = args[:low] if args.key?(:low)
38143
+ end
38144
+ end
38145
+
37612
38146
  # Represents a URL Map resource.
37613
38147
  # Google Compute Engine has two URL Map resources:
37614
38148
  # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
@@ -39235,6 +39769,15 @@ module Google
39235
39769
  # @return [Fixnum]
39236
39770
  attr_accessor :id
39237
39771
 
39772
+ # URL of the interconnect attachment resource. When the value of this field is
39773
+ # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
39774
+ # all Egress or Ingress traffic for this VPN Gateway interface will go through
39775
+ # the specified interconnect attachment resource.
39776
+ # Not currently available in all Interconnect locations.
39777
+ # Corresponds to the JSON property `interconnectAttachment`
39778
+ # @return [String]
39779
+ attr_accessor :interconnect_attachment
39780
+
39238
39781
  # [Output Only] The external IP address for this VPN gateway interface.
39239
39782
  # Corresponds to the JSON property `ipAddress`
39240
39783
  # @return [String]
@@ -39247,6 +39790,7 @@ module Google
39247
39790
  # Update properties of this object
39248
39791
  def update!(**args)
39249
39792
  @id = args[:id] if args.key?(:id)
39793
+ @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
39250
39794
  @ip_address = args[:ip_address] if args.key?(:ip_address)
39251
39795
  end
39252
39796
  end
@@ -39512,8 +40056,8 @@ module Google
39512
40056
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
39513
40057
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
39514
40058
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
39515
- # - REJECTED: Tunnel configuration was rejected, can be result of being
39516
- # blacklisted.
40059
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
40060
+ # access.
39517
40061
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
39518
40062
  # resources.
39519
40063
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for