google-apis-compute_beta 0.5.0 → 0.10.0

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