google-apis-compute_v1 0.116.0 → 0.118.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.
@@ -1324,6 +1324,16 @@ module Google
1324
1324
  class AllocationResourceStatus
1325
1325
  include Google::Apis::Core::Hashable
1326
1326
 
1327
+ # The number of reservation blocks associated with this reservation.
1328
+ # Corresponds to the JSON property `reservationBlockCount`
1329
+ # @return [Fixnum]
1330
+ attr_accessor :reservation_block_count
1331
+
1332
+ # Maintenance Info for ReservationBlocks.
1333
+ # Corresponds to the JSON property `reservationMaintenance`
1334
+ # @return [Google::Apis::ComputeV1::GroupMaintenanceInfo]
1335
+ attr_accessor :reservation_maintenance
1336
+
1327
1337
  # Contains Properties set for the reservation.
1328
1338
  # Corresponds to the JSON property `specificSkuAllocation`
1329
1339
  # @return [Google::Apis::ComputeV1::AllocationResourceStatusSpecificSkuAllocation]
@@ -1335,6 +1345,8 @@ module Google
1335
1345
 
1336
1346
  # Update properties of this object
1337
1347
  def update!(**args)
1348
+ @reservation_block_count = args[:reservation_block_count] if args.key?(:reservation_block_count)
1349
+ @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
1338
1350
  @specific_sku_allocation = args[:specific_sku_allocation] if args.key?(:specific_sku_allocation)
1339
1351
  end
1340
1352
  end
@@ -2807,7 +2819,8 @@ module Google
2807
2819
  # the [Backend services overview](https://cloud.google.com/load-balancing/docs/
2808
2820
  # backend-service#backends). You must use the *fully-qualified* URL (starting
2809
2821
  # with https://www.googleapis.com/) to specify the instance group or NEG.
2810
- # Partial URLs are not supported.
2822
+ # Partial URLs are not supported. If haPolicy is specified, backends must refer
2823
+ # to NEG resources of type GCE_VM_IP.
2811
2824
  # Corresponds to the JSON property `group`
2812
2825
  # @return [String]
2813
2826
  attr_accessor :group
@@ -3044,7 +3057,7 @@ module Google
3044
3057
  attr_accessor :client_ttl
3045
3058
 
3046
3059
  # Specifies the default TTL for cached content served by this origin for
3047
- # responses that do not have an existing valid TTL (max-age or s-max-age).
3060
+ # responses that do not have an existing valid TTL (max-age or s-maxage).
3048
3061
  # Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
3049
3062
  # be set to a value greater than that of maxTTL, but can be equal. When the
3050
3063
  # cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
@@ -3108,7 +3121,7 @@ module Google
3108
3121
  # that do not specify a max-stale directive. Stale responses that exceed the TTL
3109
3122
  # configured here will not be served. The default limit (max-stale) is 86400s (1
3110
3123
  # day), which will allow stale content to be served up to this limit beyond the
3111
- # max-age (or s-max-age) of a cached response. The maximum allowed value is
3124
+ # max-age (or s-maxage) of a cached response. The maximum allowed value is
3112
3125
  # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
3113
3126
  # Corresponds to the JSON property `serveWhileStale`
3114
3127
  # @return [Fixnum]
@@ -3512,6 +3525,32 @@ module Google
3512
3525
  attr_accessor :enable_cdn
3513
3526
  alias_method :enable_cdn?, :enable_cdn
3514
3527
 
3528
+ # Specifies the canary migration state. Possible values are PREPARE,
3529
+ # TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL
3530
+ # to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be
3531
+ # changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to
3532
+ # EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to
3533
+ # migrate traffic by percentage using externalManagedMigrationTestingPercentage.
3534
+ # Rolling back a migration requires the states to be set in reverse order. So
3535
+ # changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be
3536
+ # set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE
3537
+ # state can be used to migrate some traffic back to EXTERNAL or PREPARE can be
3538
+ # used to migrate all traffic back to EXTERNAL.
3539
+ # Corresponds to the JSON property `externalManagedMigrationState`
3540
+ # @return [String]
3541
+ attr_accessor :external_managed_migration_state
3542
+
3543
+ # Determines the fraction of requests that should be processed by the Global
3544
+ # external Application Load Balancer. The value of this field must be in the
3545
+ # range [0, 100]. Session affinity options will slightly affect this routing
3546
+ # behavior, for more details, see: Session Affinity. This value can only be set
3547
+ # if the loadBalancingScheme in the BackendService is set to EXTERNAL (when
3548
+ # using the classic Application Load Balancer) and the migration state is
3549
+ # TEST_BY_PERCENTAGE.
3550
+ # Corresponds to the JSON property `externalManagedMigrationTestingPercentage`
3551
+ # @return [Float]
3552
+ attr_accessor :external_managed_migration_testing_percentage
3553
+
3515
3554
  # For load balancers that have configurable failover: [Internal passthrough
3516
3555
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
3517
3556
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -3537,13 +3576,35 @@ module Google
3537
3576
  # @return [String]
3538
3577
  attr_accessor :fingerprint
3539
3578
 
3579
+ # Configures self-managed High Availability (HA) for External and Internal
3580
+ # Protocol Forwarding. The backends of this regional backend service must only
3581
+ # specify zonal network endpoint groups (NEGs) of type GCE_VM_IP. When haPolicy
3582
+ # is set for an Internal Passthrough Network Load Balancer, the regional backend
3583
+ # service must set the network field. All zonal NEGs must belong to the same
3584
+ # network. However, individual NEGs can belong to different subnetworks of that
3585
+ # network. When haPolicy is specified, the set of attached network endpoints
3586
+ # across all backends comprise an High Availability domain from which one
3587
+ # endpoint is selected as the active endpoint (the leader) that receives all
3588
+ # traffic. haPolicy can be added only at backend service creation time. Once set
3589
+ # up, it cannot be deleted. Note that haPolicy is not for load balancing, and
3590
+ # therefore cannot be specified with sessionAffinity, connectionTrackingPolicy,
3591
+ # and failoverPolicy. haPolicy requires customers to be responsible for tracking
3592
+ # backend endpoint health and electing a leader among the healthy endpoints.
3593
+ # Therefore, haPolicy cannot be specified with healthChecks. haPolicy can only
3594
+ # be specified for External Passthrough Network Load Balancers and Internal
3595
+ # Passthrough Network Load Balancers.
3596
+ # Corresponds to the JSON property `haPolicy`
3597
+ # @return [Google::Apis::ComputeV1::BackendServiceHaPolicy]
3598
+ attr_accessor :ha_policy
3599
+
3540
3600
  # The list of URLs to the healthChecks, httpHealthChecks (legacy), or
3541
3601
  # httpsHealthChecks (legacy) resource for health checking this backend service.
3542
3602
  # Not all backend services support legacy health checks. See Load balancer guide.
3543
3603
  # Currently, at most one health check can be specified for each backend service.
3544
3604
  # Backend services with instance group or zonal NEG backends must have a health
3545
- # check. Backend services with internet or serverless NEG backends must not have
3546
- # a health check.
3605
+ # check unless haPolicy is specified. Backend services with internet or
3606
+ # serverless NEG backends must not have a health check. healthChecks[] cannot be
3607
+ # specified with haPolicy.
3547
3608
  # Corresponds to the JSON property `healthChecks`
3548
3609
  # @return [Array<String>]
3549
3610
  attr_accessor :health_checks
@@ -3631,6 +3692,7 @@ module Google
3631
3692
  # default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH
3632
3693
  # are supported when the backend service is referenced by a URL map that is
3633
3694
  # bound to target gRPC proxy that has validateForProxyless field set to true.
3695
+ # localityLbPolicy cannot be specified with haPolicy.
3634
3696
  # Corresponds to the JSON property `localityLbPolicy`
3635
3697
  # @return [String]
3636
3698
  attr_accessor :locality_lb_policy
@@ -3665,8 +3727,11 @@ module Google
3665
3727
  # @return [String]
3666
3728
  attr_accessor :name
3667
3729
 
3668
- # The URL of the network to which this backend service belongs. This field can
3669
- # only be specified when the load balancing scheme is set to INTERNAL.
3730
+ # The URL of the network to which this backend service belongs. This field must
3731
+ # be set for Internal Passthrough Network Load Balancers when the haPolicy is
3732
+ # enabled, and for External Passthrough Network Load Balancers when the haPolicy
3733
+ # fastIpMove is enabled. This field can only be specified when the load
3734
+ # balancing scheme is set to INTERNAL.
3670
3735
  # Corresponds to the JSON property `network`
3671
3736
  # @return [String]
3672
3737
  attr_accessor :network
@@ -3746,7 +3811,8 @@ module Google
3746
3811
  # HEADER_FIELD are supported when the backend service is referenced by a URL map
3747
3812
  # that is bound to target gRPC proxy that has validateForProxyless field set to
3748
3813
  # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
3749
- # balancing/docs/backend-service#session_affinity).
3814
+ # balancing/docs/backend-service#session_affinity). sessionAffinity cannot be
3815
+ # specified with haPolicy.
3750
3816
  # Corresponds to the JSON property `sessionAffinity`
3751
3817
  # @return [String]
3752
3818
  attr_accessor :session_affinity
@@ -3801,8 +3867,11 @@ module Google
3801
3867
  @description = args[:description] if args.key?(:description)
3802
3868
  @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
3803
3869
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3870
+ @external_managed_migration_state = args[:external_managed_migration_state] if args.key?(:external_managed_migration_state)
3871
+ @external_managed_migration_testing_percentage = args[:external_managed_migration_testing_percentage] if args.key?(:external_managed_migration_testing_percentage)
3804
3872
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
3805
3873
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
3874
+ @ha_policy = args[:ha_policy] if args.key?(:ha_policy)
3806
3875
  @health_checks = args[:health_checks] if args.key?(:health_checks)
3807
3876
  @iap = args[:iap] if args.key?(:iap)
3808
3877
  @id = args[:id] if args.key?(:id)
@@ -4005,7 +4074,7 @@ module Google
4005
4074
  attr_accessor :client_ttl
4006
4075
 
4007
4076
  # Specifies the default TTL for cached content served by this origin for
4008
- # responses that do not have an existing valid TTL (max-age or s-max-age).
4077
+ # responses that do not have an existing valid TTL (max-age or s-maxage).
4009
4078
  # Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
4010
4079
  # be set to a value greater than that of maxTTL, but can be equal. When the
4011
4080
  # cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
@@ -4069,7 +4138,7 @@ module Google
4069
4138
  # that do not specify a max-stale directive. Stale responses that exceed the TTL
4070
4139
  # configured here will not be served. The default limit (max-stale) is 86400s (1
4071
4140
  # day), which will allow stale content to be served up to this limit beyond the
4072
- # max-age (or s-max-age) of a cached response. The maximum allowed value is
4141
+ # max-age (or s-maxage) of a cached response. The maximum allowed value is
4073
4142
  # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
4074
4143
  # Corresponds to the JSON property `serveWhileStale`
4075
4144
  # @return [Fixnum]
@@ -4354,6 +4423,71 @@ module Google
4354
4423
  end
4355
4424
  end
4356
4425
 
4426
+ #
4427
+ class BackendServiceHaPolicy
4428
+ include Google::Apis::Core::Hashable
4429
+
4430
+ # Specifies whether fast IP move is enabled, and if so, the mechanism to achieve
4431
+ # it. Supported values are: - DISABLED: Fast IP Move is disabled. You can only
4432
+ # use the haPolicy.leader API to update the leader. - >GARP_RA: Provides a
4433
+ # method to very quickly define a new network endpoint as the leader. This
4434
+ # method is faster than updating the leader using the haPolicy.leader API. Fast
4435
+ # IP move works as follows: The VM hosting the network endpoint that should
4436
+ # become the new leader sends either a Gratuitous ARP (GARP) packet (IPv4) or an
4437
+ # ICMPv6 Router Advertisement(RA) packet (IPv6). Google Cloud immediately but
4438
+ # temporarily associates the forwarding rule IP address with that VM, and both
4439
+ # new and in-flight packets are quickly delivered to that VM. Note the important
4440
+ # properties of the Fast IP Move functionality: - The GARP/RA-initiated re-
4441
+ # routing stays active for approximately 20 minutes. After triggering fast
4442
+ # failover, you must also appropriately set the haPolicy.leader. - The new
4443
+ # leader instance should continue to send GARP/RA packets periodically every 10
4444
+ # seconds until at least 10 minutes after updating the haPolicy.leader (but stop
4445
+ # immediately if it is no longer the leader). - After triggering a fast failover,
4446
+ # we recommend that you wait at least 3 seconds before sending another GARP/RA
4447
+ # packet from a different VM instance to avoid race conditions. - Don't send
4448
+ # GARP/RA packets from different VM instances at the same time. If multiple
4449
+ # instances continue to send GARP/RA packets, traffic might be routed to
4450
+ # different destinations in an alternating order. This condition ceases when a
4451
+ # single instance issues a GARP/RA packet. - The GARP/RA request always takes
4452
+ # priority over the leader API. Using the haPolicy.leader API to change the
4453
+ # leader to a different instance will have no effect until the GARP/RA request
4454
+ # becomes inactive. - The GARP/RA packets should follow the GARP/RA Packet
4455
+ # Specifications.. - When multiple forwarding rules refer to a regional backend
4456
+ # service, you need only send a GARP or RA packet for a single forwarding rule
4457
+ # virtual IP. The virtual IPs for all forwarding rules targeting the same
4458
+ # backend service will also be moved to the sender of the GARP or RA packet. The
4459
+ # following are the Fast IP Move limitations (that is, when fastIPMove is not
4460
+ # DISABLED): - Multiple forwarding rules cannot use the same IP address if one
4461
+ # of them refers to a regional backend service with fastIPMove. - The regional
4462
+ # backend service must set the network field, and all NEGs must belong to that
4463
+ # network. However, individual NEGs can belong to different subnetworks of that
4464
+ # network. - The maximum number of network endpoints across all backends of a
4465
+ # backend service with fastIPMove is 64. - The maximum number of backend
4466
+ # services with fastIPMove that can have the same network endpoint attached to
4467
+ # one of its backends is 64. - The maximum number of backend services with
4468
+ # fastIPMove in a VPC in a region is 64. - The network endpoints that are
4469
+ # attached to a backend of a backend service with fastIPMove cannot resolve to
4470
+ # Gen3+ machines for IPv6. - Traffic directed to the leader by a static route
4471
+ # next hop will not be redirected to a new leader by fast failover. Such traffic
4472
+ # will only be redirected once an haPolicy.leader update has taken effect. Only
4473
+ # traffic to the forwarding rule's virtual IP will be redirected to a new leader
4474
+ # by fast failover. haPolicy.fastIPMove can be set only at backend service
4475
+ # creation time. Once set, it cannot be updated. By default, fastIpMove is set
4476
+ # to DISABLED.
4477
+ # Corresponds to the JSON property `fastIPMove`
4478
+ # @return [String]
4479
+ attr_accessor :fast_ip_move
4480
+
4481
+ def initialize(**args)
4482
+ update!(**args)
4483
+ end
4484
+
4485
+ # Update properties of this object
4486
+ def update!(**args)
4487
+ @fast_ip_move = args[:fast_ip_move] if args.key?(:fast_ip_move)
4488
+ end
4489
+ end
4490
+
4357
4491
  # The HTTP cookie used for stateful session affinity.
4358
4492
  class BackendServiceHttpCookie
4359
4493
  include Google::Apis::Core::Hashable
@@ -5551,6 +5685,16 @@ module Google
5551
5685
  class CacheInvalidationRule
5552
5686
  include Google::Apis::Core::Hashable
5553
5687
 
5688
+ # A list of cache tags used to identify cached objects. - Cache tags are
5689
+ # specified when the response is first cached, by setting the `Cache-Tag`
5690
+ # response header at the origin. - Multiple cache tags in the same invalidation
5691
+ # request are treated as Boolean `OR` - for example, `tag1 OR tag2 OR tag3`. -
5692
+ # If other fields are also specified, these are treated as Boolean `AND` with
5693
+ # any tags. Up to 10 tags can be specified in a single invalidation request.
5694
+ # Corresponds to the JSON property `cacheTags`
5695
+ # @return [Array<String>]
5696
+ attr_accessor :cache_tags
5697
+
5554
5698
  # If set, this invalidation rule will only apply to requests with a Host header
5555
5699
  # matching host.
5556
5700
  # Corresponds to the JSON property `host`
@@ -5568,6 +5712,7 @@ module Google
5568
5712
 
5569
5713
  # Update properties of this object
5570
5714
  def update!(**args)
5715
+ @cache_tags = args[:cache_tags] if args.key?(:cache_tags)
5571
5716
  @host = args[:host] if args.key?(:host)
5572
5717
  @path = args[:path] if args.key?(:path)
5573
5718
  end
@@ -11083,6 +11228,45 @@ module Google
11083
11228
  end
11084
11229
  end
11085
11230
 
11231
+ # Maintenance Info for ReservationBlocks.
11232
+ class GroupMaintenanceInfo
11233
+ include Google::Apis::Core::Hashable
11234
+
11235
+ # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
11236
+ # of hosts in the block that have ongoing maintenance.
11237
+ # Corresponds to the JSON property `maintenanceOngoingCount`
11238
+ # @return [Fixnum]
11239
+ attr_accessor :maintenance_ongoing_count
11240
+
11241
+ # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
11242
+ # of hosts in the block that have pending maintenance.
11243
+ # Corresponds to the JSON property `maintenancePendingCount`
11244
+ # @return [Fixnum]
11245
+ attr_accessor :maintenance_pending_count
11246
+
11247
+ # The type of maintenance for the reservation.
11248
+ # Corresponds to the JSON property `schedulingType`
11249
+ # @return [String]
11250
+ attr_accessor :scheduling_type
11251
+
11252
+ # Upcoming Maintenance notification information.
11253
+ # Corresponds to the JSON property `upcomingGroupMaintenance`
11254
+ # @return [Google::Apis::ComputeV1::UpcomingMaintenance]
11255
+ attr_accessor :upcoming_group_maintenance
11256
+
11257
+ def initialize(**args)
11258
+ update!(**args)
11259
+ end
11260
+
11261
+ # Update properties of this object
11262
+ def update!(**args)
11263
+ @maintenance_ongoing_count = args[:maintenance_ongoing_count] if args.key?(:maintenance_ongoing_count)
11264
+ @maintenance_pending_count = args[:maintenance_pending_count] if args.key?(:maintenance_pending_count)
11265
+ @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
11266
+ @upcoming_group_maintenance = args[:upcoming_group_maintenance] if args.key?(:upcoming_group_maintenance)
11267
+ end
11268
+ end
11269
+
11086
11270
  # A guest attributes entry.
11087
11271
  class GuestAttributes
11088
11272
  include Google::Apis::Core::Hashable
@@ -11192,8 +11376,8 @@ module Google
11192
11376
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
11193
11377
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
11194
11378
  # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE -
11195
- # TDX_CAPABLE - IDPF For more information, see Enabling guest operating system
11196
- # features.
11379
+ # TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE For more information, see Enabling guest
11380
+ # operating system features.
11197
11381
  # Corresponds to the JSON property `type`
11198
11382
  # @return [String]
11199
11383
  attr_accessor :type
@@ -18798,7 +18982,7 @@ module Google
18798
18982
  class InstancesReportHostAsFaultyRequest
18799
18983
  include Google::Apis::Core::Hashable
18800
18984
 
18801
- # The disruption schedule for the VM. Default to IMMEDIATE.
18985
+ # The disruption schedule for the VM. Required field, only allows IMMEDIATE.
18802
18986
  # Corresponds to the JSON property `disruptionSchedule`
18803
18987
  # @return [String]
18804
18988
  attr_accessor :disruption_schedule
@@ -19772,7 +19956,8 @@ module Google
19772
19956
 
19773
19957
  # Type of link requested, which can take one of the following values: -
19774
19958
  # LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics -
19775
- # LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this
19959
+ # LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. -
19960
+ # LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics. Note that this
19776
19961
  # field indicates the speed of each of the links in the bundle, not the speed of
19777
19962
  # the entire bundle.
19778
19963
  # Corresponds to the JSON property `linkType`
@@ -21166,7 +21351,7 @@ module Google
21166
21351
 
21167
21352
  # [Output only] List of link types available at this InterconnectLocation, which
21168
21353
  # can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR -
21169
- # LINK_TYPE_ETHERNET_100G_LR
21354
+ # LINK_TYPE_ETHERNET_100G_LR - LINK_TYPE_ETHERNET_400G_LR4
21170
21355
  # Corresponds to the JSON property `availableLinkTypes`
21171
21356
  # @return [Array<String>]
21172
21357
  attr_accessor :available_link_types
@@ -22579,6 +22764,23 @@ module Google
22579
22764
  # @return [String]
22580
22765
  attr_accessor :kind
22581
22766
 
22767
+ # A fingerprint for the labels being applied to this machine image, which is
22768
+ # essentially a hash of the labels set used for optimistic locking. The
22769
+ # fingerprint is initially generated by Compute Engine and changes after every
22770
+ # request to modify or update labels. You must always provide an up-to-date
22771
+ # fingerprint hash in order to update or change labels. To see the latest
22772
+ # fingerprint, make get() request to the machine image.
22773
+ # Corresponds to the JSON property `labelFingerprint`
22774
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
22775
+ # @return [String]
22776
+ attr_accessor :label_fingerprint
22777
+
22778
+ # Labels to apply to this machine image. These can be later modified by the
22779
+ # setLabels method.
22780
+ # Corresponds to the JSON property `labels`
22781
+ # @return [Hash<String,String>]
22782
+ attr_accessor :labels
22783
+
22582
22784
  # Encrypts the machine image using a customer-supplied encryption key. After you
22583
22785
  # encrypt a machine image using a customer-supplied key, you must provide the
22584
22786
  # same key if you use the machine image later. For example, you must provide the
@@ -22675,6 +22877,8 @@ module Google
22675
22877
  @id = args[:id] if args.key?(:id)
22676
22878
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
22677
22879
  @kind = args[:kind] if args.key?(:kind)
22880
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
22881
+ @labels = args[:labels] if args.key?(:labels)
22678
22882
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
22679
22883
  @name = args[:name] if args.key?(:name)
22680
22884
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
@@ -26231,7 +26435,7 @@ module Google
26231
26435
  # @return [String]
26232
26436
  attr_accessor :network
26233
26437
 
26234
- # Maximum Transmission Unit in bytes.
26438
+ # [Output Only] Maximum Transmission Unit in bytes of the peer network.
26235
26439
  # Corresponds to the JSON property `peerMtu`
26236
26440
  # @return [Fixnum]
26237
26441
  attr_accessor :peer_mtu
@@ -26422,6 +26626,11 @@ module Google
26422
26626
  # @return [String]
26423
26627
  attr_accessor :allow_cloud_router
26424
26628
 
26629
+ # Specifies whether default NIC attachment is allowed.
26630
+ # Corresponds to the JSON property `allowDefaultNicAttachment`
26631
+ # @return [String]
26632
+ attr_accessor :allow_default_nic_attachment
26633
+
26425
26634
  # Specifies whether VMs are allowed to have external IP access on network
26426
26635
  # interfaces connected to this VPC.
26427
26636
  # Corresponds to the JSON property `allowExternalIpAccess`
@@ -26433,6 +26642,11 @@ module Google
26433
26642
  # @return [String]
26434
26643
  attr_accessor :allow_interconnect
26435
26644
 
26645
+ # Specifies whether IP forwarding is allowed.
26646
+ # Corresponds to the JSON property `allowIpForwarding`
26647
+ # @return [String]
26648
+ attr_accessor :allow_ip_forwarding
26649
+
26436
26650
  # Specifies whether cloud load balancing is allowed.
26437
26651
  # Corresponds to the JSON property `allowLoadBalancing`
26438
26652
  # @return [String]
@@ -26443,6 +26657,16 @@ module Google
26443
26657
  # @return [String]
26444
26658
  attr_accessor :allow_multi_nic_in_same_network
26445
26659
 
26660
+ # Specifies whether NCC is allowed.
26661
+ # Corresponds to the JSON property `allowNcc`
26662
+ # @return [String]
26663
+ attr_accessor :allow_ncc
26664
+
26665
+ # Specifies whether VM network migration is allowed.
26666
+ # Corresponds to the JSON property `allowNetworkMigration`
26667
+ # @return [String]
26668
+ attr_accessor :allow_network_migration
26669
+
26446
26670
  # Specifies whether Packet Mirroring 1.0 is supported.
26447
26671
  # Corresponds to the JSON property `allowPacketMirroring`
26448
26672
  # @return [String]
@@ -26499,6 +26723,16 @@ module Google
26499
26723
  # @return [Array<String>]
26500
26724
  attr_accessor :subnet_stack_types
26501
26725
 
26726
+ # Specifies which subnetwork purposes are supported.
26727
+ # Corresponds to the JSON property `subnetworkPurposes`
26728
+ # @return [Array<String>]
26729
+ attr_accessor :subnetwork_purposes
26730
+
26731
+ # Specifies which subnetwork stack types are supported.
26732
+ # Corresponds to the JSON property `subnetworkStackTypes`
26733
+ # @return [Array<String>]
26734
+ attr_accessor :subnetwork_stack_types
26735
+
26502
26736
  # Specifies which type of unicast is supported.
26503
26737
  # Corresponds to the JSON property `unicast`
26504
26738
  # @return [String]
@@ -26516,10 +26750,14 @@ module Google
26516
26750
  @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
26517
26751
  @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat)
26518
26752
  @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router)
26753
+ @allow_default_nic_attachment = args[:allow_default_nic_attachment] if args.key?(:allow_default_nic_attachment)
26519
26754
  @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
26520
26755
  @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect)
26756
+ @allow_ip_forwarding = args[:allow_ip_forwarding] if args.key?(:allow_ip_forwarding)
26521
26757
  @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
26522
26758
  @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
26759
+ @allow_ncc = args[:allow_ncc] if args.key?(:allow_ncc)
26760
+ @allow_network_migration = args[:allow_network_migration] if args.key?(:allow_network_migration)
26523
26761
  @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
26524
26762
  @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access)
26525
26763
  @allow_psc = args[:allow_psc] if args.key?(:allow_psc)
@@ -26531,6 +26769,8 @@ module Google
26531
26769
  @interface_types = args[:interface_types] if args.key?(:interface_types)
26532
26770
  @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
26533
26771
  @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
26772
+ @subnetwork_purposes = args[:subnetwork_purposes] if args.key?(:subnetwork_purposes)
26773
+ @subnetwork_stack_types = args[:subnetwork_stack_types] if args.key?(:subnetwork_stack_types)
26534
26774
  @unicast = args[:unicast] if args.key?(:unicast)
26535
26775
  end
26536
26776
  end
@@ -33929,6 +34169,11 @@ module Google
33929
34169
  # @return [String]
33930
34170
  attr_accessor :creation_timestamp
33931
34171
 
34172
+ # Specifies the deployment strategy for this reservation.
34173
+ # Corresponds to the JSON property `deploymentType`
34174
+ # @return [String]
34175
+ attr_accessor :deployment_type
34176
+
33932
34177
  # An optional description of this resource. Provide this property when you
33933
34178
  # create the resource.
33934
34179
  # Corresponds to the JSON property `description`
@@ -33947,6 +34192,12 @@ module Google
33947
34192
  # @return [String]
33948
34193
  attr_accessor :kind
33949
34194
 
34195
+ # [Output Only] Full or partial URL to parent commitments. This field displays
34196
+ # for reservations that are tied to multiple commitments.
34197
+ # Corresponds to the JSON property `linkedCommitments`
34198
+ # @return [Array<String>]
34199
+ attr_accessor :linked_commitments
34200
+
33950
34201
  # The name of the resource, provided by the client when initially creating the
33951
34202
  # resource. The resource name must be 1-63 characters long, and comply with
33952
34203
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -34028,9 +34279,11 @@ module Google
34028
34279
  @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation)
34029
34280
  @commitment = args[:commitment] if args.key?(:commitment)
34030
34281
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
34282
+ @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
34031
34283
  @description = args[:description] if args.key?(:description)
34032
34284
  @id = args[:id] if args.key?(:id)
34033
34285
  @kind = args[:kind] if args.key?(:kind)
34286
+ @linked_commitments = args[:linked_commitments] if args.key?(:linked_commitments)
34034
34287
  @name = args[:name] if args.key?(:name)
34035
34288
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
34036
34289
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -34206,6 +34459,259 @@ module Google
34206
34459
  end
34207
34460
  end
34208
34461
 
34462
+ # Represents a reservation block resource.
34463
+ class ReservationBlock
34464
+ include Google::Apis::Core::Hashable
34465
+
34466
+ # [Output Only] The number of resources that are allocated in this reservation
34467
+ # block.
34468
+ # Corresponds to the JSON property `count`
34469
+ # @return [Fixnum]
34470
+ attr_accessor :count
34471
+
34472
+ # [Output Only] Creation timestamp in RFC3339 text format.
34473
+ # Corresponds to the JSON property `creationTimestamp`
34474
+ # @return [String]
34475
+ attr_accessor :creation_timestamp
34476
+
34477
+ # [Output Only] The unique identifier for the resource. This identifier is
34478
+ # defined by the server.
34479
+ # Corresponds to the JSON property `id`
34480
+ # @return [Fixnum]
34481
+ attr_accessor :id
34482
+
34483
+ # [Output Only] The number of instances that are currently in use on this
34484
+ # reservation block.
34485
+ # Corresponds to the JSON property `inUseCount`
34486
+ # @return [Fixnum]
34487
+ attr_accessor :in_use_count
34488
+
34489
+ # [Output Only] Type of the resource. Always compute#reservationBlock for
34490
+ # reservation blocks.
34491
+ # Corresponds to the JSON property `kind`
34492
+ # @return [String]
34493
+ attr_accessor :kind
34494
+
34495
+ # [Output Only] The name of this reservation block generated by Google Compute
34496
+ # Engine. The name must be 1-63 characters long, and comply with RFC1035 @
34497
+ # pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
34498
+ # Corresponds to the JSON property `name`
34499
+ # @return [String]
34500
+ attr_accessor :name
34501
+
34502
+ # [Output Only] The physical topology of the reservation block.
34503
+ # Corresponds to the JSON property `physicalTopology`
34504
+ # @return [Google::Apis::ComputeV1::ReservationBlockPhysicalTopology]
34505
+ attr_accessor :physical_topology
34506
+
34507
+ # Maintenance Info for ReservationBlocks.
34508
+ # Corresponds to the JSON property `reservationMaintenance`
34509
+ # @return [Google::Apis::ComputeV1::GroupMaintenanceInfo]
34510
+ attr_accessor :reservation_maintenance
34511
+
34512
+ # [Output Only] Server-defined fully-qualified URL for this resource.
34513
+ # Corresponds to the JSON property `selfLink`
34514
+ # @return [String]
34515
+ attr_accessor :self_link
34516
+
34517
+ # [Output Only] Server-defined URL for this resource with the resource id.
34518
+ # Corresponds to the JSON property `selfLinkWithId`
34519
+ # @return [String]
34520
+ attr_accessor :self_link_with_id
34521
+
34522
+ # [Output Only] Status of the reservation block.
34523
+ # Corresponds to the JSON property `status`
34524
+ # @return [String]
34525
+ attr_accessor :status
34526
+
34527
+ # [Output Only] Zone in which the reservation block resides.
34528
+ # Corresponds to the JSON property `zone`
34529
+ # @return [String]
34530
+ attr_accessor :zone
34531
+
34532
+ def initialize(**args)
34533
+ update!(**args)
34534
+ end
34535
+
34536
+ # Update properties of this object
34537
+ def update!(**args)
34538
+ @count = args[:count] if args.key?(:count)
34539
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
34540
+ @id = args[:id] if args.key?(:id)
34541
+ @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
34542
+ @kind = args[:kind] if args.key?(:kind)
34543
+ @name = args[:name] if args.key?(:name)
34544
+ @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
34545
+ @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
34546
+ @self_link = args[:self_link] if args.key?(:self_link)
34547
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
34548
+ @status = args[:status] if args.key?(:status)
34549
+ @zone = args[:zone] if args.key?(:zone)
34550
+ end
34551
+ end
34552
+
34553
+ #
34554
+ class ReservationBlockPhysicalTopology
34555
+ include Google::Apis::Core::Hashable
34556
+
34557
+ # The hash of the capacity block within the cluster.
34558
+ # Corresponds to the JSON property `block`
34559
+ # @return [String]
34560
+ attr_accessor :block
34561
+
34562
+ # The cluster name of the reservation block.
34563
+ # Corresponds to the JSON property `cluster`
34564
+ # @return [String]
34565
+ attr_accessor :cluster
34566
+
34567
+ def initialize(**args)
34568
+ update!(**args)
34569
+ end
34570
+
34571
+ # Update properties of this object
34572
+ def update!(**args)
34573
+ @block = args[:block] if args.key?(:block)
34574
+ @cluster = args[:cluster] if args.key?(:cluster)
34575
+ end
34576
+ end
34577
+
34578
+ #
34579
+ class ReservationBlocksGetResponse
34580
+ include Google::Apis::Core::Hashable
34581
+
34582
+ # Represents a reservation block resource.
34583
+ # Corresponds to the JSON property `resource`
34584
+ # @return [Google::Apis::ComputeV1::ReservationBlock]
34585
+ attr_accessor :resource
34586
+
34587
+ def initialize(**args)
34588
+ update!(**args)
34589
+ end
34590
+
34591
+ # Update properties of this object
34592
+ def update!(**args)
34593
+ @resource = args[:resource] if args.key?(:resource)
34594
+ end
34595
+ end
34596
+
34597
+ # A list of reservation blocks under a single reservation.
34598
+ class ReservationBlocksListResponse
34599
+ include Google::Apis::Core::Hashable
34600
+
34601
+ # Unique identifier for the resource; defined by the server.
34602
+ # Corresponds to the JSON property `id`
34603
+ # @return [String]
34604
+ attr_accessor :id
34605
+
34606
+ # A list of reservation block resources.
34607
+ # Corresponds to the JSON property `items`
34608
+ # @return [Array<Google::Apis::ComputeV1::ReservationBlock>]
34609
+ attr_accessor :items
34610
+
34611
+ # Type of the resource. Always compute#reservationBlock for a list of
34612
+ # reservation blocks.
34613
+ # Corresponds to the JSON property `kind`
34614
+ # @return [String]
34615
+ attr_accessor :kind
34616
+
34617
+ # This token allows you to get the next page of results for list requests. If
34618
+ # the number of results is larger than maxResults, use the nextPageToken as a
34619
+ # value for the query parameter pageToken in the next list request. Subsequent
34620
+ # list requests will have their own nextPageToken to continue paging through the
34621
+ # results.
34622
+ # Corresponds to the JSON property `nextPageToken`
34623
+ # @return [String]
34624
+ attr_accessor :next_page_token
34625
+
34626
+ # Server-defined URL for this resource.
34627
+ # Corresponds to the JSON property `selfLink`
34628
+ # @return [String]
34629
+ attr_accessor :self_link
34630
+
34631
+ # Informational warning message.
34632
+ # Corresponds to the JSON property `warning`
34633
+ # @return [Google::Apis::ComputeV1::ReservationBlocksListResponse::Warning]
34634
+ attr_accessor :warning
34635
+
34636
+ def initialize(**args)
34637
+ update!(**args)
34638
+ end
34639
+
34640
+ # Update properties of this object
34641
+ def update!(**args)
34642
+ @id = args[:id] if args.key?(:id)
34643
+ @items = args[:items] if args.key?(:items)
34644
+ @kind = args[:kind] if args.key?(:kind)
34645
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
34646
+ @self_link = args[:self_link] if args.key?(:self_link)
34647
+ @warning = args[:warning] if args.key?(:warning)
34648
+ end
34649
+
34650
+ # Informational warning message.
34651
+ class Warning
34652
+ include Google::Apis::Core::Hashable
34653
+
34654
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
34655
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
34656
+ # Corresponds to the JSON property `code`
34657
+ # @return [String]
34658
+ attr_accessor :code
34659
+
34660
+ # [Output Only] Metadata about this warning in key: value format. For example: "
34661
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
34662
+ # Corresponds to the JSON property `data`
34663
+ # @return [Array<Google::Apis::ComputeV1::ReservationBlocksListResponse::Warning::Datum>]
34664
+ attr_accessor :data
34665
+
34666
+ # [Output Only] A human-readable description of the warning code.
34667
+ # Corresponds to the JSON property `message`
34668
+ # @return [String]
34669
+ attr_accessor :message
34670
+
34671
+ def initialize(**args)
34672
+ update!(**args)
34673
+ end
34674
+
34675
+ # Update properties of this object
34676
+ def update!(**args)
34677
+ @code = args[:code] if args.key?(:code)
34678
+ @data = args[:data] if args.key?(:data)
34679
+ @message = args[:message] if args.key?(:message)
34680
+ end
34681
+
34682
+ #
34683
+ class Datum
34684
+ include Google::Apis::Core::Hashable
34685
+
34686
+ # [Output Only] A key that provides more detail on the warning being returned.
34687
+ # For example, for warnings where there are no results in a list request for a
34688
+ # particular zone, this key might be scope and the key value might be the zone
34689
+ # name. Other examples might be a key indicating a deprecated resource and a
34690
+ # suggested replacement, or a warning about invalid network settings (for
34691
+ # example, if an instance attempts to perform IP forwarding but is not enabled
34692
+ # for IP forwarding).
34693
+ # Corresponds to the JSON property `key`
34694
+ # @return [String]
34695
+ attr_accessor :key
34696
+
34697
+ # [Output Only] A warning data value corresponding to the key.
34698
+ # Corresponds to the JSON property `value`
34699
+ # @return [String]
34700
+ attr_accessor :value
34701
+
34702
+ def initialize(**args)
34703
+ update!(**args)
34704
+ end
34705
+
34706
+ # Update properties of this object
34707
+ def update!(**args)
34708
+ @key = args[:key] if args.key?(:key)
34709
+ @value = args[:value] if args.key?(:value)
34710
+ end
34711
+ end
34712
+ end
34713
+ end
34714
+
34209
34715
  #
34210
34716
  class ReservationList
34211
34717
  include Google::Apis::Core::Hashable
@@ -34325,6 +34831,44 @@ module Google
34325
34831
  end
34326
34832
  end
34327
34833
 
34834
+ #
34835
+ class ReservationsBlocksPerformMaintenanceRequest
34836
+ include Google::Apis::Core::Hashable
34837
+
34838
+ # Specifies if all, running or unused hosts are in scope for this request.
34839
+ # Corresponds to the JSON property `maintenanceScope`
34840
+ # @return [String]
34841
+ attr_accessor :maintenance_scope
34842
+
34843
+ def initialize(**args)
34844
+ update!(**args)
34845
+ end
34846
+
34847
+ # Update properties of this object
34848
+ def update!(**args)
34849
+ @maintenance_scope = args[:maintenance_scope] if args.key?(:maintenance_scope)
34850
+ end
34851
+ end
34852
+
34853
+ #
34854
+ class ReservationsPerformMaintenanceRequest
34855
+ include Google::Apis::Core::Hashable
34856
+
34857
+ # Specifies if all, running or unused hosts are in scope for this request.
34858
+ # Corresponds to the JSON property `maintenanceScope`
34859
+ # @return [String]
34860
+ attr_accessor :maintenance_scope
34861
+
34862
+ def initialize(**args)
34863
+ update!(**args)
34864
+ end
34865
+
34866
+ # Update properties of this object
34867
+ def update!(**args)
34868
+ @maintenance_scope = args[:maintenance_scope] if args.key?(:maintenance_scope)
34869
+ end
34870
+ end
34871
+
34328
34872
  #
34329
34873
  class ReservationsResizeRequest
34330
34874
  include Google::Apis::Core::Hashable
@@ -36918,6 +37462,13 @@ module Google
36918
37462
  # @return [String]
36919
37463
  attr_accessor :name
36920
37464
 
37465
+ # List of Subnetwork resources whose traffic should be translated by NAT64
37466
+ # Gateway. It is used only when LIST_OF_IPV6_SUBNETWORKS is selected for the
37467
+ # SubnetworkIpRangeToNat64Option above.
37468
+ # Corresponds to the JSON property `nat64Subnetworks`
37469
+ # @return [Array<Google::Apis::ComputeV1::RouterNatSubnetworkToNat64>]
37470
+ attr_accessor :nat64_subnetworks
37471
+
36921
37472
  # Specify the NatIpAllocateOption, which can take one of the following values: -
36922
37473
  # MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are
36923
37474
  # not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY:
@@ -36950,6 +37501,18 @@ module Google
36950
37501
  # @return [String]
36951
37502
  attr_accessor :source_subnetwork_ip_ranges_to_nat
36952
37503
 
37504
+ # Specify the Nat option for NAT64, which can take one of the following values: -
37505
+ # ALL_IPV6_SUBNETWORKS: All of the IP ranges in every Subnetwork are allowed to
37506
+ # Nat. - LIST_OF_IPV6_SUBNETWORKS: A list of Subnetworks are allowed to Nat (
37507
+ # specified in the field nat64_subnetwork below) The default is
37508
+ # NAT64_OPTION_UNSPECIFIED. Note that if this field contains
37509
+ # NAT64_ALL_V6_SUBNETWORKS no other Router.Nat section in this region can also
37510
+ # enable NAT64 for any Subnetworks in this network. Other Router.Nat sections
37511
+ # can still be present to enable NAT44 only.
37512
+ # Corresponds to the JSON property `sourceSubnetworkIpRangesToNat64`
37513
+ # @return [String]
37514
+ attr_accessor :source_subnetwork_ip_ranges_to_nat64
37515
+
36953
37516
  # A list of Subnetwork resources whose traffic should be translated by NAT
36954
37517
  # Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the
36955
37518
  # SubnetworkIpRangeToNatOption above.
@@ -37002,10 +37565,12 @@ module Google
37002
37565
  @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
37003
37566
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
37004
37567
  @name = args[:name] if args.key?(:name)
37568
+ @nat64_subnetworks = args[:nat64_subnetworks] if args.key?(:nat64_subnetworks)
37005
37569
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
37006
37570
  @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
37007
37571
  @rules = args[:rules] if args.key?(:rules)
37008
37572
  @source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
37573
+ @source_subnetwork_ip_ranges_to_nat64 = args[:source_subnetwork_ip_ranges_to_nat64] if args.key?(:source_subnetwork_ip_ranges_to_nat64)
37009
37574
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
37010
37575
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
37011
37576
  @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
@@ -37173,6 +37738,25 @@ module Google
37173
37738
  end
37174
37739
  end
37175
37740
 
37741
+ # Specifies a subnetwork to enable NAT64.
37742
+ class RouterNatSubnetworkToNat64
37743
+ include Google::Apis::Core::Hashable
37744
+
37745
+ # URL for the subnetwork resource that will use NAT64.
37746
+ # Corresponds to the JSON property `name`
37747
+ # @return [String]
37748
+ attr_accessor :name
37749
+
37750
+ def initialize(**args)
37751
+ update!(**args)
37752
+ end
37753
+
37754
+ # Update properties of this object
37755
+ def update!(**args)
37756
+ @name = args[:name] if args.key?(:name)
37757
+ end
37758
+ end
37759
+
37176
37760
  #
37177
37761
  class RouterStatus
37178
37762
  include Google::Apis::Core::Hashable
@@ -40936,7 +41520,7 @@ module Google
40936
41520
 
40937
41521
  # Represents a Persistent Disk Snapshot resource. You can use snapshots to back
40938
41522
  # up data on a regular interval. For more information, read Creating persistent
40939
- # disk snapshots.
41523
+ # disk snapshots. LINT.IfChange
40940
41524
  class Snapshot
40941
41525
  include Google::Apis::Core::Hashable
40942
41526
 
@@ -40996,6 +41580,13 @@ module Google
40996
41580
  attr_accessor :enable_confidential_compute
40997
41581
  alias_method :enable_confidential_compute?, :enable_confidential_compute
40998
41582
 
41583
+ # [Input Only] Whether to attempt an application consistent snapshot by
41584
+ # informing the OS to prepare for the snapshot process.
41585
+ # Corresponds to the JSON property `guestFlush`
41586
+ # @return [Boolean]
41587
+ attr_accessor :guest_flush
41588
+ alias_method :guest_flush?, :guest_flush
41589
+
40999
41590
  # [Output Only] A list of features to enable on the guest operating system.
41000
41591
  # Applicable only for bootable images. Read Enabling guest operating system
41001
41592
  # features to see a list of available options.
@@ -41193,6 +41784,7 @@ module Google
41193
41784
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
41194
41785
  @download_bytes = args[:download_bytes] if args.key?(:download_bytes)
41195
41786
  @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
41787
+ @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
41196
41788
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
41197
41789
  @id = args[:id] if args.key?(:id)
41198
41790
  @kind = args[:kind] if args.key?(:kind)
@@ -44182,20 +44774,7 @@ module Google
44182
44774
  # @return [String]
44183
44775
  attr_accessor :private_ipv6_google_access
44184
44776
 
44185
- # The purpose of the resource. This field can be either PRIVATE,
44186
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
44187
- # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
44188
- # user-created subnets or subnets that are automatically created in auto mode
44189
- # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
44190
- # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
44191
- # Envoy-based load balancers. A subnet with purpose set to
44192
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
44193
- # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
44194
- # migration from one peered VPC to another. A subnet with purpose set to
44195
- # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
44196
- # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
44197
- # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
44198
- # REGIONAL_MANAGED_PROXY.
44777
+ #
44199
44778
  # Corresponds to the JSON property `purpose`
44200
44779
  # @return [String]
44201
44780
  attr_accessor :purpose
@@ -49325,20 +49904,7 @@ module Google
49325
49904
  # @return [String]
49326
49905
  attr_accessor :network
49327
49906
 
49328
- # The purpose of the resource. This field can be either PRIVATE,
49329
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
49330
- # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
49331
- # user-created subnets or subnets that are automatically created in auto mode
49332
- # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
49333
- # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
49334
- # Envoy-based load balancers. A subnet with purpose set to
49335
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
49336
- # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
49337
- # migration from one peered VPC to another. A subnet with purpose set to
49338
- # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
49339
- # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
49340
- # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
49341
- # REGIONAL_MANAGED_PROXY.
49907
+ #
49342
49908
  # Corresponds to the JSON property `purpose`
49343
49909
  # @return [String]
49344
49910
  attr_accessor :purpose