google-apis-compute_v1 0.83.0 → 0.85.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1203,6 +1203,91 @@ module Google
1203
1203
  end
1204
1204
  end
1205
1205
 
1206
+ # This reservation type is specified by total resource amounts (e.g. total count
1207
+ # of CPUs) and can account for multiple instance SKUs. In other words, one can
1208
+ # create instances of varying shapes against this reservation.
1209
+ class AllocationAggregateReservation
1210
+ include Google::Apis::Core::Hashable
1211
+
1212
+ # [Output only] List of resources currently in use.
1213
+ # Corresponds to the JSON property `inUseResources`
1214
+ # @return [Array<Google::Apis::ComputeV1::AllocationAggregateReservationReservedResourceInfo>]
1215
+ attr_accessor :in_use_resources
1216
+
1217
+ # List of reserved resources (CPUs, memory, accelerators).
1218
+ # Corresponds to the JSON property `reservedResources`
1219
+ # @return [Array<Google::Apis::ComputeV1::AllocationAggregateReservationReservedResourceInfo>]
1220
+ attr_accessor :reserved_resources
1221
+
1222
+ # The VM family that all instances scheduled against this reservation must
1223
+ # belong to.
1224
+ # Corresponds to the JSON property `vmFamily`
1225
+ # @return [String]
1226
+ attr_accessor :vm_family
1227
+
1228
+ # The workload type of the instances that will target this reservation.
1229
+ # Corresponds to the JSON property `workloadType`
1230
+ # @return [String]
1231
+ attr_accessor :workload_type
1232
+
1233
+ def initialize(**args)
1234
+ update!(**args)
1235
+ end
1236
+
1237
+ # Update properties of this object
1238
+ def update!(**args)
1239
+ @in_use_resources = args[:in_use_resources] if args.key?(:in_use_resources)
1240
+ @reserved_resources = args[:reserved_resources] if args.key?(:reserved_resources)
1241
+ @vm_family = args[:vm_family] if args.key?(:vm_family)
1242
+ @workload_type = args[:workload_type] if args.key?(:workload_type)
1243
+ end
1244
+ end
1245
+
1246
+ #
1247
+ class AllocationAggregateReservationReservedResourceInfo
1248
+ include Google::Apis::Core::Hashable
1249
+
1250
+ # Properties of accelerator resources in this reservation.
1251
+ # Corresponds to the JSON property `accelerator`
1252
+ # @return [Google::Apis::ComputeV1::AllocationAggregateReservationReservedResourceInfoAccelerator]
1253
+ attr_accessor :accelerator
1254
+
1255
+ def initialize(**args)
1256
+ update!(**args)
1257
+ end
1258
+
1259
+ # Update properties of this object
1260
+ def update!(**args)
1261
+ @accelerator = args[:accelerator] if args.key?(:accelerator)
1262
+ end
1263
+ end
1264
+
1265
+ #
1266
+ class AllocationAggregateReservationReservedResourceInfoAccelerator
1267
+ include Google::Apis::Core::Hashable
1268
+
1269
+ # Number of accelerators of specified type.
1270
+ # Corresponds to the JSON property `acceleratorCount`
1271
+ # @return [Fixnum]
1272
+ attr_accessor :accelerator_count
1273
+
1274
+ # Full or partial URL to accelerator type. e.g. "projects/`PROJECT`/zones/`ZONE`/
1275
+ # acceleratorTypes/ct4l"
1276
+ # Corresponds to the JSON property `acceleratorType`
1277
+ # @return [String]
1278
+ attr_accessor :accelerator_type
1279
+
1280
+ def initialize(**args)
1281
+ update!(**args)
1282
+ end
1283
+
1284
+ # Update properties of this object
1285
+ def update!(**args)
1286
+ @accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count)
1287
+ @accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type)
1288
+ end
1289
+ end
1290
+
1206
1291
  # [Output Only] Contains output only fields.
1207
1292
  class AllocationResourceStatus
1208
1293
  include Google::Apis::Core::Hashable
@@ -1585,6 +1670,12 @@ module Google
1585
1670
  # @return [String]
1586
1671
  attr_accessor :disk_type
1587
1672
 
1673
+ # Whether this disk is using confidential compute mode.
1674
+ # Corresponds to the JSON property `enableConfidentialCompute`
1675
+ # @return [Boolean]
1676
+ attr_accessor :enable_confidential_compute
1677
+ alias_method :enable_confidential_compute?, :enable_confidential_compute
1678
+
1588
1679
  # Labels to apply to this disk. These can be later modified by the disks.
1589
1680
  # setLabels method. This field is only applicable for persistent disks.
1590
1681
  # Corresponds to the JSON property `labels`
@@ -1690,6 +1781,7 @@ module Google
1690
1781
  @disk_name = args[:disk_name] if args.key?(:disk_name)
1691
1782
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1692
1783
  @disk_type = args[:disk_type] if args.key?(:disk_type)
1784
+ @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
1693
1785
  @labels = args[:labels] if args.key?(:labels)
1694
1786
  @licenses = args[:licenses] if args.key?(:licenses)
1695
1787
  @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
@@ -3228,13 +3320,13 @@ module Google
3228
3320
  class BackendService
3229
3321
  include Google::Apis::Core::Hashable
3230
3322
 
3231
- # Lifetime of cookies in seconds. This setting is applicable to external and
3232
- # internal HTTP(S) load balancers and Traffic Director and requires
3233
- # GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is
3234
- # non-persistent and lasts only until the end of the browser session (or
3235
- # equivalent). The maximum allowed value is two weeks (1,209,600). Not supported
3236
- # when the backend service is referenced by a URL map that is bound to target
3237
- # gRPC proxy that has validateForProxyless field set to true.
3323
+ # Lifetime of cookies in seconds. This setting is applicable to Application Load
3324
+ # Balancers and Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE
3325
+ # session affinity. If set to 0, the cookie is non-persistent and lasts only
3326
+ # until the end of the browser session (or equivalent). The maximum allowed
3327
+ # value is two weeks (1,209,600). Not supported when the backend service is
3328
+ # referenced by a URL map that is bound to target gRPC proxy that has
3329
+ # validateForProxyless field set to true.
3238
3330
  # Corresponds to the JSON property `affinityCookieTtlSec`
3239
3331
  # @return [Fixnum]
3240
3332
  attr_accessor :affinity_cookie_ttl_sec
@@ -3305,23 +3397,23 @@ module Google
3305
3397
  # @return [String]
3306
3398
  attr_accessor :edge_security_policy
3307
3399
 
3308
- # If true, enables Cloud CDN for the backend service of an external HTTP(S) load
3309
- # balancer.
3400
+ # If true, enables Cloud CDN for the backend service of a global external
3401
+ # Application Load Balancer.
3310
3402
  # Corresponds to the JSON property `enableCDN`
3311
3403
  # @return [Boolean]
3312
3404
  attr_accessor :enable_cdn
3313
3405
  alias_method :enable_cdn?, :enable_cdn
3314
3406
 
3315
- # For load balancers that have configurable failover: [Internal TCP/UDP Load
3316
- # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3317
- # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3318
- # balancing/docs/network/networklb-failover-overview). On failover or failback,
3319
- # this field indicates whether connection draining will be honored. Google Cloud
3320
- # has a fixed connection draining timeout of 10 minutes. A setting of true
3321
- # terminates existing TCP connections to the active pool during failover and
3322
- # failback, immediately draining traffic. A setting of false allows existing TCP
3323
- # connections to persist, even on VMs no longer in the active pool, for up to
3324
- # the duration of the connection draining timeout (10 minutes).
3407
+ # For load balancers that have configurable failover: [Internal passthrough
3408
+ # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
3409
+ # failover-overview) and [external passthrough Network Load Balancers](https://
3410
+ # cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On
3411
+ # failover or failback, this field indicates whether connection draining will be
3412
+ # honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A
3413
+ # setting of true terminates existing TCP connections to the active pool during
3414
+ # failover and failback, immediately draining traffic. A setting of false allows
3415
+ # existing TCP connections to persist, even on VMs no longer in the active pool,
3416
+ # for up to the duration of the connection draining timeout (10 minutes).
3325
3417
  # Corresponds to the JSON property `failoverPolicy`
3326
3418
  # @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy]
3327
3419
  attr_accessor :failover_policy
@@ -3454,8 +3546,8 @@ module Google
3454
3546
  attr_accessor :outlier_detection
3455
3547
 
3456
3548
  # Deprecated in favor of portName. The TCP port to connect on the backend. The
3457
- # default value is 80. For Internal TCP/UDP Load Balancing and Network Load
3458
- # Balancing, omit port.
3549
+ # default value is 80. For internal passthrough Network Load Balancers and
3550
+ # external passthrough Network Load Balancers, omit port.
3459
3551
  # Corresponds to the JSON property `port`
3460
3552
  # @return [Fixnum]
3461
3553
  attr_accessor :port
@@ -3464,8 +3556,8 @@ module Google
3464
3556
  # communication to the backend VMs in that group. The named port must be [
3465
3557
  # defined on each backend instance group](https://cloud.google.com/load-
3466
3558
  # balancing/docs/backend-service#named_ports). This parameter has no meaning if
3467
- # the backends are NEGs. For Internal TCP/UDP Load Balancing and Network Load
3468
- # Balancing, omit port_name.
3559
+ # the backends are NEGs. For internal passthrough Network Load Balancers and
3560
+ # external passthrough Network Load Balancers, omit port_name.
3469
3561
  # Corresponds to the JSON property `portName`
3470
3562
  # @return [String]
3471
3563
  attr_accessor :port_name
@@ -3947,20 +4039,20 @@ module Google
3947
4039
  # @return [String]
3948
4040
  attr_accessor :connection_persistence_on_unhealthy_backends
3949
4041
 
3950
- # Enable Strong Session Affinity for Network Load Balancing. This option is not
3951
- # available publicly.
4042
+ # Enable Strong Session Affinity for external passthrough Network Load Balancers.
4043
+ # This option is not available publicly.
3952
4044
  # Corresponds to the JSON property `enableStrongAffinity`
3953
4045
  # @return [Boolean]
3954
4046
  attr_accessor :enable_strong_affinity
3955
4047
  alias_method :enable_strong_affinity?, :enable_strong_affinity
3956
4048
 
3957
4049
  # Specifies how long to keep a Connection Tracking entry while there is no
3958
- # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
3959
- # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
3960
- # only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
3961
- # CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
3962
- # PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
3963
- # is not available publicly.
4050
+ # matching traffic (in seconds). For internal passthrough Network Load Balancers:
4051
+ # - The minimum (default) is 10 minutes and the maximum is 16 hours. - It can
4052
+ # be set only if Connection Tracking is less than 5-tuple (i.e. Session Affinity
4053
+ # is CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode
4054
+ # is PER_SESSION). For external passthrough Network Load Balancers the default
4055
+ # is 60 seconds. This option is not available publicly.
3964
4056
  # Corresponds to the JSON property `idleTimeoutSec`
3965
4057
  # @return [Fixnum]
3966
4058
  attr_accessor :idle_timeout_sec
@@ -3991,16 +4083,16 @@ module Google
3991
4083
  end
3992
4084
  end
3993
4085
 
3994
- # For load balancers that have configurable failover: [Internal TCP/UDP Load
3995
- # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3996
- # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3997
- # balancing/docs/network/networklb-failover-overview). On failover or failback,
3998
- # this field indicates whether connection draining will be honored. Google Cloud
3999
- # has a fixed connection draining timeout of 10 minutes. A setting of true
4000
- # terminates existing TCP connections to the active pool during failover and
4001
- # failback, immediately draining traffic. A setting of false allows existing TCP
4002
- # connections to persist, even on VMs no longer in the active pool, for up to
4003
- # the duration of the connection draining timeout (10 minutes).
4086
+ # For load balancers that have configurable failover: [Internal passthrough
4087
+ # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
4088
+ # failover-overview) and [external passthrough Network Load Balancers](https://
4089
+ # cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On
4090
+ # failover or failback, this field indicates whether connection draining will be
4091
+ # honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A
4092
+ # setting of true terminates existing TCP connections to the active pool during
4093
+ # failover and failback, immediately draining traffic. A setting of false allows
4094
+ # existing TCP connections to persist, even on VMs no longer in the active pool,
4095
+ # for up to the duration of the connection draining timeout (10 minutes).
4004
4096
  class BackendServiceFailoverPolicy
4005
4097
  include Google::Apis::Core::Hashable
4006
4098
 
@@ -4014,10 +4106,10 @@ module Google
4014
4106
  # and all backup backend VMs are unhealthy.If set to false, connections are
4015
4107
  # distributed among all primary VMs when all primary and all backup backend VMs
4016
4108
  # are unhealthy. For load balancers that have configurable failover: [Internal
4017
- # TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
4018
- # failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
4019
- # com/load-balancing/docs/network/networklb-failover-overview). The default is
4020
- # false.
4109
+ # passthrough Network Load Balancers](https://cloud.google.com/load-balancing/
4110
+ # docs/internal/failover-overview) and [external passthrough Network Load
4111
+ # Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-
4112
+ # failover-overview). The default is false.
4021
4113
  # Corresponds to the JSON property `dropTrafficIfUnhealthy`
4022
4114
  # @return [Boolean]
4023
4115
  attr_accessor :drop_traffic_if_unhealthy
@@ -6203,6 +6295,12 @@ module Google
6203
6295
  # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
6204
6296
  attr_accessor :disk_encryption_key
6205
6297
 
6298
+ # Whether this disk is using confidential compute mode.
6299
+ # Corresponds to the JSON property `enableConfidentialCompute`
6300
+ # @return [Boolean]
6301
+ attr_accessor :enable_confidential_compute
6302
+ alias_method :enable_confidential_compute?, :enable_confidential_compute
6303
+
6206
6304
  # A list of features to enable on the guest operating system. Applicable only
6207
6305
  # for bootable images. Read Enabling guest operating system features to see a
6208
6306
  # list of available options.
@@ -6484,6 +6582,7 @@ module Google
6484
6582
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6485
6583
  @description = args[:description] if args.key?(:description)
6486
6584
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
6585
+ @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
6487
6586
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
6488
6587
  @id = args[:id] if args.key?(:id)
6489
6588
  @kind = args[:kind] if args.key?(:kind)
@@ -9286,10 +9385,10 @@ module Google
9286
9385
  # google.com/compute/docs/reference/rest/v1/globalForwardingRules) * [Regional](
9287
9386
  # https://cloud.google.com/compute/docs/reference/rest/v1/forwardingRules) A
9288
9387
  # forwarding rule and its corresponding IP address represent the frontend
9289
- # configuration of a Google Cloud Platform load balancer. Forwarding rules can
9290
- # also reference target instances and Cloud VPN Classic gateways (
9291
- # targetVpnGateway). For more information, read Forwarding rule concepts and
9292
- # Using protocol forwarding.
9388
+ # configuration of a Google Cloud load balancer. Forwarding rules can also
9389
+ # reference target instances and Cloud VPN Classic gateways (targetVpnGateway).
9390
+ # For more information, read Forwarding rule concepts and Using protocol
9391
+ # forwarding.
9293
9392
  class ForwardingRule
9294
9393
  include Google::Apis::Core::Hashable
9295
9394
 
@@ -9327,13 +9426,17 @@ module Google
9327
9426
  # @return [String]
9328
9427
  attr_accessor :ip_protocol
9329
9428
 
9330
- # This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By
9331
- # internal TCP/UDP load balancers, backend service-based network load balancers,
9332
- # and internal and external protocol forwarding. Set this field to true to allow
9333
- # packets addressed to any port or packets lacking destination port information (
9334
- # for example, UDP fragments after the first fragment) to be forwarded to the
9335
- # backends configured with this forwarding rule. The ports, port_range, and
9336
- # allPorts fields are mutually exclusive.
9429
+ # The ports, portRange, and allPorts fields are mutually exclusive. Only packets
9430
+ # addressed to ports in the specified range will be forwarded to the backends
9431
+ # configured with this forwarding rule. The allPorts field has the following
9432
+ # limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP,
9433
+ # SCTP, or L3_DEFAULT. - It's applicable only to the following products:
9434
+ # internal passthrough Network Load Balancers, backend service-based external
9435
+ # passthrough Network Load Balancers, and internal and external protocol
9436
+ # forwarding. - Set this field to true to allow packets addressed to any port or
9437
+ # packets lacking destination port information (for example, UDP fragments after
9438
+ # the first fragment) to be forwarded to the backends configured with this
9439
+ # forwarding rule. The L3_DEFAULT protocol requires allPorts be set to true.
9337
9440
  # Corresponds to the JSON property `allPorts`
9338
9441
  # @return [Boolean]
9339
9442
  attr_accessor :all_ports
@@ -9341,11 +9444,12 @@ module Google
9341
9444
 
9342
9445
  # This field is used along with the backend_service field for internal load
9343
9446
  # balancing or with the target field for internal TargetInstance. If set to true,
9344
- # clients can access the Internal TCP/UDP Load Balancer, Internal HTTP(S) and
9345
- # TCP Proxy Load Balancer from all regions. If false, only allows access from
9346
- # the local region the load balancer is located at. Note that for
9347
- # INTERNAL_MANAGED forwarding rules, this field cannot be changed after the
9348
- # forwarding rule is created.
9447
+ # clients can access the internal passthrough Network Load Balancers, the
9448
+ # regional internal Application Load Balancer, and the regional internal proxy
9449
+ # Network Load Balancer from all regions. If false, only allows access from the
9450
+ # local region the load balancer is located at. Note that for INTERNAL_MANAGED
9451
+ # forwarding rules, this field cannot be changed after the forwarding rule is
9452
+ # created.
9349
9453
  # Corresponds to the JSON property `allowGlobalAccess`
9350
9454
  # @return [Boolean]
9351
9455
  attr_accessor :allow_global_access
@@ -9359,16 +9463,16 @@ module Google
9359
9463
  alias_method :allow_psc_global_access?, :allow_psc_global_access
9360
9464
 
9361
9465
  # Identifies the backend service to which the forwarding rule sends traffic.
9362
- # Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must
9363
- # be omitted for all other load balancer types.
9466
+ # Required for internal and external passthrough Network Load Balancers; must be
9467
+ # omitted for all other load balancer types.
9364
9468
  # Corresponds to the JSON property `backendService`
9365
9469
  # @return [String]
9366
9470
  attr_accessor :backend_service
9367
9471
 
9368
- # [Output Only] The URL for the corresponding base Forwarding Rule. By base
9369
- # Forwarding Rule, we mean the Forwarding Rule that has the same IP address,
9370
- # protocol, and port settings with the current Forwarding Rule, but without
9371
- # sourceIPRanges specified. Always empty if the current Forwarding Rule does not
9472
+ # [Output Only] The URL for the corresponding base forwarding rule. By base
9473
+ # forwarding rule, we mean the forwarding rule that has the same IP address,
9474
+ # protocol, and port settings with the current forwarding rule, but without
9475
+ # sourceIPRanges specified. Always empty if the current forwarding rule does not
9372
9476
  # have sourceIPRanges specified.
9373
9477
  # Corresponds to the JSON property `baseForwardingRule`
9374
9478
  # @return [String]
@@ -9419,7 +9523,7 @@ module Google
9419
9523
  alias_method :is_mirroring_collector?, :is_mirroring_collector
9420
9524
 
9421
9525
  # [Output Only] Type of the resource. Always compute#forwardingRule for
9422
- # Forwarding Rule resources.
9526
+ # forwarding rule resources.
9423
9527
  # Corresponds to the JSON property `kind`
9424
9528
  # @return [String]
9425
9529
  attr_accessor :kind
@@ -9481,13 +9585,13 @@ module Google
9481
9585
  # @return [String]
9482
9586
  attr_accessor :name
9483
9587
 
9484
- # This field is not used for global external load balancing. For Internal TCP/
9485
- # UDP Load Balancing, this field identifies the network that the load balanced
9486
- # IP should belong to for this Forwarding Rule. If the subnetwork is specified,
9487
- # the network of the subnetwork will be used. If neither subnetwork nor this
9488
- # field is specified, the default network will be used. For Private Service
9489
- # Connect forwarding rules that forward traffic to Google APIs, a network must
9490
- # be provided.
9588
+ # This field is not used for global external load balancing. For internal
9589
+ # passthrough Network Load Balancers, this field identifies the network that the
9590
+ # load balanced IP should belong to for this forwarding rule. If the subnetwork
9591
+ # is specified, the network of the subnetwork will be used. If neither
9592
+ # subnetwork nor this field is specified, the default network will be used. For
9593
+ # Private Service Connect forwarding rules that forward traffic to Google APIs,
9594
+ # a network must be provided.
9491
9595
  # Corresponds to the JSON property `network`
9492
9596
  # @return [String]
9493
9597
  attr_accessor :network
@@ -9510,40 +9614,43 @@ module Google
9510
9614
  attr_accessor :no_automate_dns_zone
9511
9615
  alias_method :no_automate_dns_zone?, :no_automate_dns_zone
9512
9616
 
9513
- # This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By
9514
- # backend service-based network load balancers, target pool-based network load
9515
- # balancers, internal proxy load balancers, external proxy load balancers,
9516
- # Traffic Director, external protocol forwarding, and Classic VPN. Some products
9517
- # have restrictions on what ports can be used. See port specifications for
9518
- # details. Only packets addressed to ports in the specified range will be
9519
- # forwarded to the backends configured with this forwarding rule. The ports,
9520
- # port_range, and allPorts fields are mutually exclusive. For external
9521
- # forwarding rules, two or more forwarding rules cannot use the same [IPAddress,
9522
- # IPProtocol] pair, and cannot have overlapping portRanges. For internal
9523
- # forwarding rules within the same VPC network, two or more forwarding rules
9524
- # cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping
9525
- # portRanges. @pattern: \\d+(?:-\\d+)?
9617
+ # The ports, portRange, and allPorts fields are mutually exclusive. Only packets
9618
+ # addressed to ports in the specified range will be forwarded to the backends
9619
+ # configured with this forwarding rule. The portRange field has the following
9620
+ # limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or
9621
+ # SCTP, and - It's applicable only to the following products: external
9622
+ # passthrough Network Load Balancers, internal and external proxy Network Load
9623
+ # Balancers, internal and external Application Load Balancers, external protocol
9624
+ # forwarding, and Classic VPN. - Some products have restrictions on what ports
9625
+ # can be used. See port specifications for details. For external forwarding
9626
+ # rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol]
9627
+ # pair, and cannot have overlapping portRanges. For internal forwarding rules
9628
+ # within the same VPC network, two or more forwarding rules cannot use the same [
9629
+ # IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. @pattern:
9630
+ # \\d+(?:-\\d+)?
9526
9631
  # Corresponds to the JSON property `portRange`
9527
9632
  # @return [String]
9528
9633
  attr_accessor :port_range
9529
9634
 
9530
- # This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By
9531
- # internal TCP/UDP load balancers, backend service-based network load balancers,
9532
- # and internal protocol forwarding. You can specify a list of up to five ports
9533
- # by number, separated by commas. The ports can be contiguous or discontiguous.
9534
- # Only packets addressed to these ports will be forwarded to the backends
9535
- # configured with this forwarding rule. For external forwarding rules, two or
9536
- # more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and
9537
- # cannot share any values defined in ports. For internal forwarding rules within
9538
- # the same VPC network, two or more forwarding rules cannot use the same [
9539
- # IPAddress, IPProtocol] pair, and cannot share any values defined in ports. The
9540
- # ports, port_range, and allPorts fields are mutually exclusive. @pattern: \\d+(?
9541
- # :-\\d+)?
9635
+ # The ports, portRange, and allPorts fields are mutually exclusive. Only packets
9636
+ # addressed to ports in the specified range will be forwarded to the backends
9637
+ # configured with this forwarding rule. The ports field has the following
9638
+ # limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or
9639
+ # SCTP, and - It's applicable only to the following products: internal
9640
+ # passthrough Network Load Balancers, backend service-based external passthrough
9641
+ # Network Load Balancers, and internal protocol forwarding. - You can specify a
9642
+ # list of up to five ports by number, separated by commas. The ports can be
9643
+ # contiguous or discontiguous. For external forwarding rules, two or more
9644
+ # forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they
9645
+ # share at least one port number. For internal forwarding rules within the same
9646
+ # VPC network, two or more forwarding rules cannot use the same [IPAddress,
9647
+ # IPProtocol] pair if they share at least one port number. @pattern: \\d+(?:-\\d+
9648
+ # )?
9542
9649
  # Corresponds to the JSON property `ports`
9543
9650
  # @return [Array<String>]
9544
9651
  attr_accessor :ports
9545
9652
 
9546
- # [Output Only] The PSC connection id of the PSC Forwarding Rule.
9653
+ # [Output Only] The PSC connection id of the PSC forwarding rule.
9547
9654
  # Corresponds to the JSON property `pscConnectionId`
9548
9655
  # @return [Fixnum]
9549
9656
  attr_accessor :psc_connection_id
@@ -9572,7 +9679,7 @@ module Google
9572
9679
  # @return [Array<Google::Apis::ComputeV1::ForwardingRuleServiceDirectoryRegistration>]
9573
9680
  attr_accessor :service_directory_registrations
9574
9681
 
9575
- # An optional prefix to the service name for this Forwarding Rule. If specified,
9682
+ # An optional prefix to the service name for this forwarding rule. If specified,
9576
9683
  # the prefix is the first label of the fully qualified service name. The label
9577
9684
  # must be 1-63 characters long, and comply with RFC1035. Specifically, the label
9578
9685
  # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
@@ -9584,16 +9691,16 @@ module Google
9584
9691
  # @return [String]
9585
9692
  attr_accessor :service_label
9586
9693
 
9587
- # [Output Only] The internal fully qualified service name for this Forwarding
9588
- # Rule. This field is only used for internal load balancing.
9694
+ # [Output Only] The internal fully qualified service name for this forwarding
9695
+ # rule. This field is only used for internal load balancing.
9589
9696
  # Corresponds to the JSON property `serviceName`
9590
9697
  # @return [String]
9591
9698
  attr_accessor :service_name
9592
9699
 
9593
- # If not empty, this Forwarding Rule will only forward the traffic when the
9700
+ # If not empty, this forwarding rule will only forward the traffic when the
9594
9701
  # source IP address matches one of the IP addresses or CIDR ranges set here.
9595
- # Note that a Forwarding Rule can only have up to 64 source IP ranges, and this
9596
- # field can only be used with a regional Forwarding Rule whose scheme is
9702
+ # Note that a forwarding rule can only have up to 64 source IP ranges, and this
9703
+ # field can only be used with a regional forwarding rule whose scheme is
9597
9704
  # EXTERNAL. Each source_ip_range entry should be either an IP address (for
9598
9705
  # example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
9599
9706
  # Corresponds to the JSON property `sourceIpRanges`
@@ -9601,10 +9708,11 @@ module Google
9601
9708
  attr_accessor :source_ip_ranges
9602
9709
 
9603
9710
  # This field identifies the subnetwork that the load balanced IP should belong
9604
- # to for this Forwarding Rule, used in internal load balancing and network load
9605
- # balancing with IPv6. If the network specified is in auto subnet mode, this
9606
- # field is optional. However, a subnetwork must be specified if the network is
9607
- # in custom subnet mode or when creating external forwarding rule with IPv6.
9711
+ # to for this forwarding rule, used with internal load balancers and external
9712
+ # passthrough Network Load Balancers with IPv6. If the network specified is in
9713
+ # auto subnet mode, this field is optional. However, a subnetwork must be
9714
+ # specified if the network is in custom subnet mode or when creating external
9715
+ # forwarding rule with IPv6.
9608
9716
  # Corresponds to the JSON property `subnetwork`
9609
9717
  # @return [String]
9610
9718
  attr_accessor :subnetwork
@@ -9928,9 +10036,9 @@ module Google
9928
10036
  end
9929
10037
  end
9930
10038
 
9931
- # Describes the auto-registration of the Forwarding Rule to Service Directory.
10039
+ # Describes the auto-registration of the forwarding rule to Service Directory.
9932
10040
  # The region and project of the Service Directory resource generated from this
9933
- # registration will be the same as this Forwarding Rule.
10041
+ # registration will be the same as this forwarding rule.
9934
10042
  class ForwardingRuleServiceDirectoryRegistration
9935
10043
  include Google::Apis::Core::Hashable
9936
10044
 
@@ -9946,7 +10054,7 @@ module Google
9946
10054
 
9947
10055
  # [Optional] Service Directory region to register this global forwarding rule
9948
10056
  # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
9949
- # for Google APIs Forwarding Rules on the same network should use the same
10057
+ # for Google APIs forwarding rules on the same network should use the same
9950
10058
  # Service Directory region.
9951
10059
  # Corresponds to the JSON property `serviceDirectoryRegion`
9952
10060
  # @return [String]
@@ -10081,7 +10189,7 @@ module Google
10081
10189
 
10082
10190
  # Specifies how a port is selected for health checking. Can be one of the
10083
10191
  # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
10084
- # port field in the health check. Supported by backend services for pass-through
10192
+ # port field in the health check. Supported by backend services for passthrough
10085
10193
  # load balancers and backend services for proxy load balancers. Not supported by
10086
10194
  # target pools. The health check supports all backends supported by the backend
10087
10195
  # service provided the backend can be health checked. For example, GCE_VM_IP
@@ -10089,13 +10197,13 @@ module Google
10089
10197
  # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
10090
10198
  # indirect method of specifying the health check port by referring to the
10091
10199
  # backend service. Only supported by backend services for proxy load balancers.
10092
- # Not supported by target pools. Not supported by backend services for pass-
10093
- # through load balancers. Supports all backends that can be health checked; for
10094
- # example, GCE_VM_IP_PORT network endpoint groups and instance group backends.
10095
- # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the
10096
- # port number specified for each endpoint in the network endpoint group. For
10097
- # instance group backends, the health check uses the port number determined by
10098
- # looking up the backend service's named port in the instance group's list of
10200
+ # Not supported by target pools. Not supported by backend services for
10201
+ # passthrough load balancers. Supports all backends that can be health checked;
10202
+ # for example, GCE_VM_IP_PORT network endpoint groups and instance group
10203
+ # backends. For GCE_VM_IP_PORT network endpoint group backends, the health check
10204
+ # uses the port number specified for each endpoint in the network endpoint group.
10205
+ # For instance group backends, the health check uses the port number determined
10206
+ # by looking up the backend service's named port in the instance group's list of
10099
10207
  # named ports.
10100
10208
  # Corresponds to the JSON property `portSpecification`
10101
10209
  # @return [String]
@@ -10486,7 +10594,7 @@ module Google
10486
10594
 
10487
10595
  # Specifies how a port is selected for health checking. Can be one of the
10488
10596
  # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
10489
- # port field in the health check. Supported by backend services for pass-through
10597
+ # port field in the health check. Supported by backend services for passthrough
10490
10598
  # load balancers and backend services for proxy load balancers. Not supported by
10491
10599
  # target pools. The health check supports all backends supported by the backend
10492
10600
  # service provided the backend can be health checked. For example, GCE_VM_IP
@@ -10494,13 +10602,13 @@ module Google
10494
10602
  # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
10495
10603
  # indirect method of specifying the health check port by referring to the
10496
10604
  # backend service. Only supported by backend services for proxy load balancers.
10497
- # Not supported by target pools. Not supported by backend services for pass-
10498
- # through load balancers. Supports all backends that can be health checked; for
10499
- # example, GCE_VM_IP_PORT network endpoint groups and instance group backends.
10500
- # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the
10501
- # port number specified for each endpoint in the network endpoint group. For
10502
- # instance group backends, the health check uses the port number determined by
10503
- # looking up the backend service's named port in the instance group's list of
10605
+ # Not supported by target pools. Not supported by backend services for
10606
+ # passthrough load balancers. Supports all backends that can be health checked;
10607
+ # for example, GCE_VM_IP_PORT network endpoint groups and instance group
10608
+ # backends. For GCE_VM_IP_PORT network endpoint group backends, the health check
10609
+ # uses the port number specified for each endpoint in the network endpoint group.
10610
+ # For instance group backends, the health check uses the port number determined
10611
+ # by looking up the backend service's named port in the instance group's list of
10504
10612
  # named ports.
10505
10613
  # Corresponds to the JSON property `portSpecification`
10506
10614
  # @return [String]
@@ -10568,7 +10676,7 @@ module Google
10568
10676
 
10569
10677
  # Specifies how a port is selected for health checking. Can be one of the
10570
10678
  # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
10571
- # port field in the health check. Supported by backend services for pass-through
10679
+ # port field in the health check. Supported by backend services for passthrough
10572
10680
  # load balancers and backend services for proxy load balancers. Also supported
10573
10681
  # in legacy HTTP health checks for target pools. The health check supports all
10574
10682
  # backends supported by the backend service provided the backend can be health
@@ -10650,7 +10758,7 @@ module Google
10650
10758
 
10651
10759
  # Specifies how a port is selected for health checking. Can be one of the
10652
10760
  # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
10653
- # port field in the health check. Supported by backend services for pass-through
10761
+ # port field in the health check. Supported by backend services for passthrough
10654
10762
  # load balancers and backend services for proxy load balancers. Not supported by
10655
10763
  # target pools. The health check supports all backends supported by the backend
10656
10764
  # service provided the backend can be health checked. For example, GCE_VM_IP
@@ -10658,13 +10766,13 @@ module Google
10658
10766
  # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
10659
10767
  # indirect method of specifying the health check port by referring to the
10660
10768
  # backend service. Only supported by backend services for proxy load balancers.
10661
- # Not supported by target pools. Not supported by backend services for pass-
10662
- # through load balancers. Supports all backends that can be health checked; for
10663
- # example, GCE_VM_IP_PORT network endpoint groups and instance group backends.
10664
- # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the
10665
- # port number specified for each endpoint in the network endpoint group. For
10666
- # instance group backends, the health check uses the port number determined by
10667
- # looking up the backend service's named port in the instance group's list of
10769
+ # Not supported by target pools. Not supported by backend services for
10770
+ # passthrough load balancers. Supports all backends that can be health checked;
10771
+ # for example, GCE_VM_IP_PORT network endpoint groups and instance group
10772
+ # backends. For GCE_VM_IP_PORT network endpoint group backends, the health check
10773
+ # uses the port number specified for each endpoint in the network endpoint group.
10774
+ # For instance group backends, the health check uses the port number determined
10775
+ # by looking up the backend service's named port in the instance group's list of
10668
10776
  # named ports.
10669
10777
  # Corresponds to the JSON property `portSpecification`
10670
10778
  # @return [String]
@@ -10710,18 +10818,13 @@ module Google
10710
10818
  # resources: * [Regional](/compute/docs/reference/rest/v1/regionHealthChecks) * [
10711
10819
  # Global](/compute/docs/reference/rest/v1/healthChecks) These health check
10712
10820
  # resources can be used for load balancing and for autohealing VMs in a managed
10713
- # instance group (MIG). **Load balancing** The following load balancer can use
10714
- # either regional or global health check: * Internal TCP/UDP load balancer The
10715
- # following load balancers require regional health check: * Internal HTTP(S)
10716
- # load balancer * Backend service-based network load balancer Traffic Director
10717
- # and the following load balancers require global health check: * External HTTP(
10718
- # S) load balancer * TCP proxy load balancer * SSL proxy load balancer The
10719
- # following load balancer require [legacy HTTP health checks](/compute/docs/
10720
- # reference/rest/v1/httpHealthChecks): * Target pool-based network load balancer
10721
- # **Autohealing in MIGs** The health checks that you use for autohealing VMs in
10722
- # a MIG can be either regional or global. For more information, see Set up an
10723
- # application health check and autohealing. For more information, see Health
10724
- # checks overview.
10821
+ # instance group (MIG). **Load balancing** Health check requirements vary
10822
+ # depending on the type of load balancer. For details about the type of health
10823
+ # check supported for each load balancer and corresponding backend type, see
10824
+ # Health checks overview: Load balancer guide. **Autohealing in MIGs** The
10825
+ # health checks that you use for autohealing VMs in a MIG can be either regional
10826
+ # or global. For more information, see Set up an application health check and
10827
+ # autohealing. For more information, see Health checks overview.
10725
10828
  class HealthCheck
10726
10829
  include Google::Apis::Core::Hashable
10727
10830
 
@@ -12907,6 +13010,13 @@ module Google
12907
13010
  # @return [Fixnum]
12908
13011
  attr_accessor :disk_size_gb
12909
13012
 
13013
+ # Whether this image is created from a confidential compute mode disk. [Output
13014
+ # Only]: This field is not set by user, but from source disk.
13015
+ # Corresponds to the JSON property `enableConfidentialCompute`
13016
+ # @return [Boolean]
13017
+ attr_accessor :enable_confidential_compute
13018
+ alias_method :enable_confidential_compute?, :enable_confidential_compute
13019
+
12910
13020
  # The name of the image family to which this image belongs. The image family
12911
13021
  # name can be from a publicly managed image family provided by Compute Engine,
12912
13022
  # or from a custom image family you create. For example, centos-stream-9 is a
@@ -13108,6 +13218,7 @@ module Google
13108
13218
  @deprecated = args[:deprecated] if args.key?(:deprecated)
13109
13219
  @description = args[:description] if args.key?(:description)
13110
13220
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
13221
+ @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
13111
13222
  @family = args[:family] if args.key?(:family)
13112
13223
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
13113
13224
  @id = args[:id] if args.key?(:id)
@@ -13573,6 +13684,12 @@ module Google
13573
13684
  # @return [Google::Apis::ComputeV1::ResourceStatus]
13574
13685
  attr_accessor :resource_status
13575
13686
 
13687
+ # [Output Only] Reserved for future use.
13688
+ # Corresponds to the JSON property `satisfiesPzi`
13689
+ # @return [Boolean]
13690
+ attr_accessor :satisfies_pzi
13691
+ alias_method :satisfies_pzi?, :satisfies_pzi
13692
+
13576
13693
  # [Output Only] Reserved for future use.
13577
13694
  # Corresponds to the JSON property `satisfiesPzs`
13578
13695
  # @return [Boolean]
@@ -13690,6 +13807,7 @@ module Google
13690
13807
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
13691
13808
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
13692
13809
  @resource_status = args[:resource_status] if args.key?(:resource_status)
13810
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
13693
13811
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
13694
13812
  @scheduling = args[:scheduling] if args.key?(:scheduling)
13695
13813
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -30824,6 +30942,13 @@ module Google
30824
30942
  class Reservation
30825
30943
  include Google::Apis::Core::Hashable
30826
30944
 
30945
+ # This reservation type is specified by total resource amounts (e.g. total count
30946
+ # of CPUs) and can account for multiple instance SKUs. In other words, one can
30947
+ # create instances of varying shapes against this reservation.
30948
+ # Corresponds to the JSON property `aggregateReservation`
30949
+ # @return [Google::Apis::ComputeV1::AllocationAggregateReservation]
30950
+ attr_accessor :aggregate_reservation
30951
+
30827
30952
  # [Output Only] Full or partial URL to a parent commitment. This field displays
30828
30953
  # for reservations that are tied to a commitment.
30829
30954
  # Corresponds to the JSON property `commitment`
@@ -30923,6 +31048,7 @@ module Google
30923
31048
 
30924
31049
  # Update properties of this object
30925
31050
  def update!(**args)
31051
+ @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation)
30926
31052
  @commitment = args[:commitment] if args.key?(:commitment)
30927
31053
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
30928
31054
  @description = args[:description] if args.key?(:description)
@@ -32269,6 +32395,11 @@ module Google
32269
32395
  # @return [String]
32270
32396
  attr_accessor :physical_host
32271
32397
 
32398
+ # Upcoming Maintenance notification information.
32399
+ # Corresponds to the JSON property `upcomingMaintenance`
32400
+ # @return [Google::Apis::ComputeV1::UpcomingMaintenance]
32401
+ attr_accessor :upcoming_maintenance
32402
+
32272
32403
  def initialize(**args)
32273
32404
  update!(**args)
32274
32405
  end
@@ -32276,6 +32407,7 @@ module Google
32276
32407
  # Update properties of this object
32277
32408
  def update!(**args)
32278
32409
  @physical_host = args[:physical_host] if args.key?(:physical_host)
32410
+ @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
32279
32411
  end
32280
32412
  end
32281
32413
 
@@ -33605,6 +33737,12 @@ module Google
33605
33737
  # @return [Fixnum]
33606
33738
  attr_accessor :tcp_transitory_idle_timeout_sec
33607
33739
 
33740
+ # Indicates whether this NAT is used for public or private IP translation. If
33741
+ # unspecified, it defaults to PUBLIC.
33742
+ # Corresponds to the JSON property `type`
33743
+ # @return [String]
33744
+ attr_accessor :type
33745
+
33608
33746
  # Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
33609
33747
  # Corresponds to the JSON property `udpIdleTimeoutSec`
33610
33748
  # @return [Fixnum]
@@ -33634,6 +33772,7 @@ module Google
33634
33772
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
33635
33773
  @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
33636
33774
  @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
33775
+ @type = args[:type] if args.key?(:type)
33637
33776
  @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
33638
33777
  end
33639
33778
  end
@@ -33725,6 +33864,13 @@ module Google
33725
33864
  # @return [Array<String>]
33726
33865
  attr_accessor :source_nat_active_ips
33727
33866
 
33867
+ # A list of URLs of the subnetworks used as source ranges for this NAT Rule.
33868
+ # These subnetworks must have purpose set to PRIVATE_NAT. This field is used for
33869
+ # private NAT.
33870
+ # Corresponds to the JSON property `sourceNatActiveRanges`
33871
+ # @return [Array<String>]
33872
+ attr_accessor :source_nat_active_ranges
33873
+
33728
33874
  # A list of URLs of the IP resources to be drained. These IPs must be valid
33729
33875
  # static external IPs that have been assigned to the NAT. These IPs should be
33730
33876
  # used for updating/patching a NAT rule only. This field is used for public NAT.
@@ -33732,6 +33878,14 @@ module Google
33732
33878
  # @return [Array<String>]
33733
33879
  attr_accessor :source_nat_drain_ips
33734
33880
 
33881
+ # A list of URLs of subnetworks representing source ranges to be drained. This
33882
+ # is only supported on patch/update, and these subnetworks must have previously
33883
+ # been used as active ranges in this NAT Rule. This field is used for private
33884
+ # NAT.
33885
+ # Corresponds to the JSON property `sourceNatDrainRanges`
33886
+ # @return [Array<String>]
33887
+ attr_accessor :source_nat_drain_ranges
33888
+
33735
33889
  def initialize(**args)
33736
33890
  update!(**args)
33737
33891
  end
@@ -33739,7 +33893,9 @@ module Google
33739
33893
  # Update properties of this object
33740
33894
  def update!(**args)
33741
33895
  @source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
33896
+ @source_nat_active_ranges = args[:source_nat_active_ranges] if args.key?(:source_nat_active_ranges)
33742
33897
  @source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
33898
+ @source_nat_drain_ranges = args[:source_nat_drain_ranges] if args.key?(:source_nat_drain_ranges)
33743
33899
  end
33744
33900
  end
33745
33901
 
@@ -34269,7 +34425,7 @@ module Google
34269
34425
 
34270
34426
  # Specifies how a port is selected for health checking. Can be one of the
34271
34427
  # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
34272
- # port field in the health check. Supported by backend services for pass-through
34428
+ # port field in the health check. Supported by backend services for passthrough
34273
34429
  # load balancers and backend services for proxy load balancers. Not supported by
34274
34430
  # target pools. The health check supports all backends supported by the backend
34275
34431
  # service provided the backend can be health checked. For example, GCE_VM_IP
@@ -34277,13 +34433,13 @@ module Google
34277
34433
  # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
34278
34434
  # indirect method of specifying the health check port by referring to the
34279
34435
  # backend service. Only supported by backend services for proxy load balancers.
34280
- # Not supported by target pools. Not supported by backend services for pass-
34281
- # through load balancers. Supports all backends that can be health checked; for
34282
- # example, GCE_VM_IP_PORT network endpoint groups and instance group backends.
34283
- # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the
34284
- # port number specified for each endpoint in the network endpoint group. For
34285
- # instance group backends, the health check uses the port number determined by
34286
- # looking up the backend service's named port in the instance group's list of
34436
+ # Not supported by target pools. Not supported by backend services for
34437
+ # passthrough load balancers. Supports all backends that can be health checked;
34438
+ # for example, GCE_VM_IP_PORT network endpoint groups and instance group
34439
+ # backends. For GCE_VM_IP_PORT network endpoint group backends, the health check
34440
+ # uses the port number specified for each endpoint in the network endpoint group.
34441
+ # For instance group backends, the health check uses the port number determined
34442
+ # by looking up the backend service's named port in the instance group's list of
34287
34443
  # named ports.
34288
34444
  # Corresponds to the JSON property `portSpecification`
34289
34445
  # @return [String]
@@ -35220,6 +35376,12 @@ module Google
35220
35376
  # @return [String]
35221
35377
  attr_accessor :log_level
35222
35378
 
35379
+ # An optional list of case-insensitive request header names to use for resolving
35380
+ # the callers client IP address.
35381
+ # Corresponds to the JSON property `userIpRequestHeaders`
35382
+ # @return [Array<String>]
35383
+ attr_accessor :user_ip_request_headers
35384
+
35223
35385
  def initialize(**args)
35224
35386
  update!(**args)
35225
35387
  end
@@ -35229,6 +35391,7 @@ module Google
35229
35391
  @json_custom_config = args[:json_custom_config] if args.key?(:json_custom_config)
35230
35392
  @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
35231
35393
  @log_level = args[:log_level] if args.key?(:log_level)
35394
+ @user_ip_request_headers = args[:user_ip_request_headers] if args.key?(:user_ip_request_headers)
35232
35395
  end
35233
35396
  end
35234
35397
 
@@ -35610,6 +35773,12 @@ module Google
35610
35773
  # @return [Google::Apis::ComputeV1::Expr]
35611
35774
  attr_accessor :expr
35612
35775
 
35776
+ # The configuration options available when specifying a user defined CEVAL
35777
+ # expression (i.e., 'expr').
35778
+ # Corresponds to the JSON property `exprOptions`
35779
+ # @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcherExprOptions]
35780
+ attr_accessor :expr_options
35781
+
35613
35782
  # Preconfigured versioned expression. If this field is specified, config must
35614
35783
  # also be specified. Available preconfigured expressions along with their
35615
35784
  # requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range
@@ -35626,6 +35795,7 @@ module Google
35626
35795
  def update!(**args)
35627
35796
  @config = args[:config] if args.key?(:config)
35628
35797
  @expr = args[:expr] if args.key?(:expr)
35798
+ @expr_options = args[:expr_options] if args.key?(:expr_options)
35629
35799
  @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr)
35630
35800
  end
35631
35801
  end
@@ -35649,6 +35819,55 @@ module Google
35649
35819
  end
35650
35820
  end
35651
35821
 
35822
+ #
35823
+ class SecurityPolicyRuleMatcherExprOptions
35824
+ include Google::Apis::Core::Hashable
35825
+
35826
+ # reCAPTCHA configuration options to be applied for the rule. If the rule does
35827
+ # not evaluate reCAPTCHA tokens, this field will have no effect.
35828
+ # Corresponds to the JSON property `recaptchaOptions`
35829
+ # @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions]
35830
+ attr_accessor :recaptcha_options
35831
+
35832
+ def initialize(**args)
35833
+ update!(**args)
35834
+ end
35835
+
35836
+ # Update properties of this object
35837
+ def update!(**args)
35838
+ @recaptcha_options = args[:recaptcha_options] if args.key?(:recaptcha_options)
35839
+ end
35840
+ end
35841
+
35842
+ #
35843
+ class SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions
35844
+ include Google::Apis::Core::Hashable
35845
+
35846
+ # A list of site keys to be used during the validation of reCAPTCHA action-
35847
+ # tokens. The provided site keys need to be created from reCAPTCHA API under the
35848
+ # same project where the security policy is created.
35849
+ # Corresponds to the JSON property `actionTokenSiteKeys`
35850
+ # @return [Array<String>]
35851
+ attr_accessor :action_token_site_keys
35852
+
35853
+ # A list of site keys to be used during the validation of reCAPTCHA session-
35854
+ # tokens. The provided site keys need to be created from reCAPTCHA API under the
35855
+ # same project where the security policy is created.
35856
+ # Corresponds to the JSON property `sessionTokenSiteKeys`
35857
+ # @return [Array<String>]
35858
+ attr_accessor :session_token_site_keys
35859
+
35860
+ def initialize(**args)
35861
+ update!(**args)
35862
+ end
35863
+
35864
+ # Update properties of this object
35865
+ def update!(**args)
35866
+ @action_token_site_keys = args[:action_token_site_keys] if args.key?(:action_token_site_keys)
35867
+ @session_token_site_keys = args[:session_token_site_keys] if args.key?(:session_token_site_keys)
35868
+ end
35869
+ end
35870
+
35652
35871
  # Represents a match condition that incoming network traffic is evaluated
35653
35872
  # against.
35654
35873
  class SecurityPolicyRuleNetworkMatcher
@@ -35889,7 +36108,13 @@ module Google
35889
36108
  # is truncated to the first 128 bytes. - SNI: Server name indication in the TLS
35890
36109
  # session of the HTTPS request. The key value is truncated to the first 128
35891
36110
  # bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The
35892
- # country/region from which the request originates.
36111
+ # country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3
36112
+ # TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If
36113
+ # not available, the key type defaults to ALL. - USER_IP: The IP address of the
36114
+ # originating client, which is resolved based on "userIpRequestHeaders"
36115
+ # configured with the security policy. If there is no "userIpRequestHeaders"
36116
+ # configuration or an IP address cannot be resolved from it, the key type
36117
+ # defaults to IP.
35893
36118
  # Corresponds to the JSON property `enforceOnKey`
35894
36119
  # @return [String]
35895
36120
  attr_accessor :enforce_on_key
@@ -35978,7 +36203,13 @@ module Google
35978
36203
  # is truncated to the first 128 bytes. - SNI: Server name indication in the TLS
35979
36204
  # session of the HTTPS request. The key value is truncated to the first 128
35980
36205
  # bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The
35981
- # country/region from which the request originates.
36206
+ # country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3
36207
+ # TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If
36208
+ # not available, the key type defaults to ALL. - USER_IP: The IP address of the
36209
+ # originating client, which is resolved based on "userIpRequestHeaders"
36210
+ # configured with the security policy. If there is no "userIpRequestHeaders"
36211
+ # configuration or an IP address cannot be resolved from it, the key type
36212
+ # defaults to IP.
35982
36213
  # Corresponds to the JSON property `enforceOnKeyType`
35983
36214
  # @return [String]
35984
36215
  attr_accessor :enforce_on_key_type
@@ -37112,6 +37343,20 @@ module Google
37112
37343
  # @return [Fixnum]
37113
37344
  attr_accessor :download_bytes
37114
37345
 
37346
+ # Whether this snapshot is created from a confidential compute mode disk. [
37347
+ # Output Only]: This field is not set by user, but from source disk.
37348
+ # Corresponds to the JSON property `enableConfidentialCompute`
37349
+ # @return [Boolean]
37350
+ attr_accessor :enable_confidential_compute
37351
+ alias_method :enable_confidential_compute?, :enable_confidential_compute
37352
+
37353
+ # [Output Only] A list of features to enable on the guest operating system.
37354
+ # Applicable only for bootable images. Read Enabling guest operating system
37355
+ # features to see a list of available options.
37356
+ # Corresponds to the JSON property `guestOsFeatures`
37357
+ # @return [Array<Google::Apis::ComputeV1::GuestOsFeature>]
37358
+ attr_accessor :guest_os_features
37359
+
37115
37360
  # [Output Only] The unique identifier for the resource. This identifier is
37116
37361
  # defined by the server.
37117
37362
  # Corresponds to the JSON property `id`
@@ -37272,6 +37517,8 @@ module Google
37272
37517
  @description = args[:description] if args.key?(:description)
37273
37518
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
37274
37519
  @download_bytes = args[:download_bytes] if args.key?(:download_bytes)
37520
+ @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
37521
+ @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
37275
37522
  @id = args[:id] if args.key?(:id)
37276
37523
  @kind = args[:kind] if args.key?(:kind)
37277
37524
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
@@ -38526,9 +38773,10 @@ module Google
38526
38773
  end
38527
38774
  end
38528
38775
 
38529
- # Represents an SSL Policy resource. Use SSL policies to control the SSL
38530
- # features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy
38531
- # load balancer. For more information, read SSL Policy Concepts.
38776
+ # Represents an SSL Policy resource. Use SSL policies to control SSL features,
38777
+ # such as versions and cipher suites, that are offered by Application Load
38778
+ # Balancers and proxy Network Load Balancers. For more information, read SSL
38779
+ # policies overview.
38532
38780
  class SslPolicy
38533
38781
  include Google::Apis::Core::Hashable
38534
38782
 
@@ -39594,7 +39842,7 @@ module Google
39594
39842
 
39595
39843
  # Specifies how a port is selected for health checking. Can be one of the
39596
39844
  # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
39597
- # port field in the health check. Supported by backend services for pass-through
39845
+ # port field in the health check. Supported by backend services for passthrough
39598
39846
  # load balancers and backend services for proxy load balancers. Not supported by
39599
39847
  # target pools. The health check supports all backends supported by the backend
39600
39848
  # service provided the backend can be health checked. For example, GCE_VM_IP
@@ -39602,13 +39850,13 @@ module Google
39602
39850
  # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
39603
39851
  # indirect method of specifying the health check port by referring to the
39604
39852
  # backend service. Only supported by backend services for proxy load balancers.
39605
- # Not supported by target pools. Not supported by backend services for pass-
39606
- # through load balancers. Supports all backends that can be health checked; for
39607
- # example, GCE_VM_IP_PORT network endpoint groups and instance group backends.
39608
- # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the
39609
- # port number specified for each endpoint in the network endpoint group. For
39610
- # instance group backends, the health check uses the port number determined by
39611
- # looking up the backend service's named port in the instance group's list of
39853
+ # Not supported by target pools. Not supported by backend services for
39854
+ # passthrough load balancers. Supports all backends that can be health checked;
39855
+ # for example, GCE_VM_IP_PORT network endpoint groups and instance group
39856
+ # backends. For GCE_VM_IP_PORT network endpoint group backends, the health check
39857
+ # uses the port number specified for each endpoint in the network endpoint group.
39858
+ # For instance group backends, the health check uses the port number determined
39859
+ # by looking up the backend service's named port in the instance group's list of
39612
39860
  # named ports.
39613
39861
  # Corresponds to the JSON property `portSpecification`
39614
39862
  # @return [String]
@@ -41294,10 +41542,10 @@ module Google
41294
41542
  end
41295
41543
  end
41296
41544
 
41297
- # Represents a Target Pool resource. Target pools are used for network TCP/UDP
41298
- # load balancing. A target pool references member instances, an associated
41299
- # legacy HttpHealthCheck resource, and, optionally, a backup target pool. For
41300
- # more information, read Using target pools.
41545
+ # Represents a Target Pool resource. Target pools are used with external
41546
+ # passthrough Network Load Balancers. A target pool references member instances,
41547
+ # an associated legacy HttpHealthCheck resource, and, optionally, a backup
41548
+ # target pool. For more information, read Using target pools.
41301
41549
  class TargetPool
41302
41550
  include Google::Apis::Core::Hashable
41303
41551
 
@@ -41967,9 +42215,9 @@ module Google
41967
42215
  end
41968
42216
 
41969
42217
  # Represents a Target SSL Proxy resource. A target SSL proxy is a component of a
41970
- # SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy,
41971
- # and the target proxy then references an external backend service. For more
41972
- # information, read Using Target Proxies.
42218
+ # Proxy Network Load Balancer. The forwarding rule references the target SSL
42219
+ # proxy, and the target proxy then references a backend service. For more
42220
+ # information, read Proxy Network Load Balancer overview.
41973
42221
  class TargetSslProxy
41974
42222
  include Google::Apis::Core::Hashable
41975
42223
 
@@ -42314,9 +42562,9 @@ module Google
42314
42562
  end
42315
42563
 
42316
42564
  # Represents a Target TCP Proxy resource. A target TCP proxy is a component of a
42317
- # TCP Proxy load balancer. Global forwarding rules reference target TCP proxy,
42318
- # and the target proxy then references an external backend service. For more
42319
- # information, read TCP Proxy Load Balancing overview.
42565
+ # Proxy Network Load Balancer. The forwarding rule references the target TCP
42566
+ # proxy, and the target proxy then references a backend service. For more
42567
+ # information, read Proxy Network Load Balancer overview.
42320
42568
  class TargetTcpProxy
42321
42569
  include Google::Apis::Core::Hashable
42322
42570
 
@@ -43234,6 +43482,59 @@ module Google
43234
43482
  end
43235
43483
  end
43236
43484
 
43485
+ # Upcoming Maintenance notification information.
43486
+ class UpcomingMaintenance
43487
+ include Google::Apis::Core::Hashable
43488
+
43489
+ # Indicates if the maintenance can be customer triggered.
43490
+ # Corresponds to the JSON property `canReschedule`
43491
+ # @return [Boolean]
43492
+ attr_accessor :can_reschedule
43493
+ alias_method :can_reschedule?, :can_reschedule
43494
+
43495
+ # The latest time for the planned maintenance window to start. This timestamp
43496
+ # value is in RFC3339 text format.
43497
+ # Corresponds to the JSON property `latestWindowStartTime`
43498
+ # @return [String]
43499
+ attr_accessor :latest_window_start_time
43500
+
43501
+ #
43502
+ # Corresponds to the JSON property `maintenanceStatus`
43503
+ # @return [String]
43504
+ attr_accessor :maintenance_status
43505
+
43506
+ # Defines the type of maintenance.
43507
+ # Corresponds to the JSON property `type`
43508
+ # @return [String]
43509
+ attr_accessor :type
43510
+
43511
+ # The time by which the maintenance disruption will be completed. This timestamp
43512
+ # value is in RFC3339 text format.
43513
+ # Corresponds to the JSON property `windowEndTime`
43514
+ # @return [String]
43515
+ attr_accessor :window_end_time
43516
+
43517
+ # The current start time of the maintenance window. This timestamp value is in
43518
+ # RFC3339 text format.
43519
+ # Corresponds to the JSON property `windowStartTime`
43520
+ # @return [String]
43521
+ attr_accessor :window_start_time
43522
+
43523
+ def initialize(**args)
43524
+ update!(**args)
43525
+ end
43526
+
43527
+ # Update properties of this object
43528
+ def update!(**args)
43529
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
43530
+ @latest_window_start_time = args[:latest_window_start_time] if args.key?(:latest_window_start_time)
43531
+ @maintenance_status = args[:maintenance_status] if args.key?(:maintenance_status)
43532
+ @type = args[:type] if args.key?(:type)
43533
+ @window_end_time = args[:window_end_time] if args.key?(:window_end_time)
43534
+ @window_start_time = args[:window_start_time] if args.key?(:window_start_time)
43535
+ end
43536
+ end
43537
+
43237
43538
  # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
43238
43539
  # Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
43239
43540
  # reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain