google-apis-compute_v1 0.117.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
@@ -3045,7 +3057,7 @@ module Google
3045
3057
  attr_accessor :client_ttl
3046
3058
 
3047
3059
  # Specifies the default TTL for cached content served by this origin for
3048
- # 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).
3049
3061
  # Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
3050
3062
  # be set to a value greater than that of maxTTL, but can be equal. When the
3051
3063
  # cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
@@ -3109,7 +3121,7 @@ module Google
3109
3121
  # that do not specify a max-stale directive. Stale responses that exceed the TTL
3110
3122
  # configured here will not be served. The default limit (max-stale) is 86400s (1
3111
3123
  # day), which will allow stale content to be served up to this limit beyond the
3112
- # 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
3113
3125
  # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
3114
3126
  # Corresponds to the JSON property `serveWhileStale`
3115
3127
  # @return [Fixnum]
@@ -3513,6 +3525,32 @@ module Google
3513
3525
  attr_accessor :enable_cdn
3514
3526
  alias_method :enable_cdn?, :enable_cdn
3515
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
+
3516
3554
  # For load balancers that have configurable failover: [Internal passthrough
3517
3555
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
3518
3556
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -3829,6 +3867,8 @@ module Google
3829
3867
  @description = args[:description] if args.key?(:description)
3830
3868
  @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
3831
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)
3832
3872
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
3833
3873
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
3834
3874
  @ha_policy = args[:ha_policy] if args.key?(:ha_policy)
@@ -4034,7 +4074,7 @@ module Google
4034
4074
  attr_accessor :client_ttl
4035
4075
 
4036
4076
  # Specifies the default TTL for cached content served by this origin for
4037
- # 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).
4038
4078
  # Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
4039
4079
  # be set to a value greater than that of maxTTL, but can be equal. When the
4040
4080
  # cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
@@ -4098,7 +4138,7 @@ module Google
4098
4138
  # that do not specify a max-stale directive. Stale responses that exceed the TTL
4099
4139
  # configured here will not be served. The default limit (max-stale) is 86400s (1
4100
4140
  # day), which will allow stale content to be served up to this limit beyond the
4101
- # 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
4102
4142
  # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
4103
4143
  # Corresponds to the JSON property `serveWhileStale`
4104
4144
  # @return [Fixnum]
@@ -4427,12 +4467,13 @@ module Google
4427
4467
  # one of its backends is 64. - The maximum number of backend services with
4428
4468
  # fastIPMove in a VPC in a region is 64. - The network endpoints that are
4429
4469
  # attached to a backend of a backend service with fastIPMove cannot resolve to
4430
- # C3 machines. - Traffic directed to the leader by a static route next hop will
4431
- # not be redirected to a new leader by fast failover. Such traffic will only be
4432
- # redirected once an haPolicy.leader update has taken effect. Only traffic to
4433
- # the forwarding rule's virtual IP will be redirected to a new leader by fast
4434
- # failover. haPolicy.fastIPMove can be set only at backend service creation time.
4435
- # Once set, it cannot be updated. By default, fastIpMove is set to DISABLED.
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.
4436
4477
  # Corresponds to the JSON property `fastIPMove`
4437
4478
  # @return [String]
4438
4479
  attr_accessor :fast_ip_move
@@ -5644,6 +5685,16 @@ module Google
5644
5685
  class CacheInvalidationRule
5645
5686
  include Google::Apis::Core::Hashable
5646
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
+
5647
5698
  # If set, this invalidation rule will only apply to requests with a Host header
5648
5699
  # matching host.
5649
5700
  # Corresponds to the JSON property `host`
@@ -5661,6 +5712,7 @@ module Google
5661
5712
 
5662
5713
  # Update properties of this object
5663
5714
  def update!(**args)
5715
+ @cache_tags = args[:cache_tags] if args.key?(:cache_tags)
5664
5716
  @host = args[:host] if args.key?(:host)
5665
5717
  @path = args[:path] if args.key?(:path)
5666
5718
  end
@@ -11176,6 +11228,45 @@ module Google
11176
11228
  end
11177
11229
  end
11178
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
+
11179
11270
  # A guest attributes entry.
11180
11271
  class GuestAttributes
11181
11272
  include Google::Apis::Core::Hashable
@@ -11285,8 +11376,8 @@ module Google
11285
11376
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
11286
11377
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
11287
11378
  # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE -
11288
- # TDX_CAPABLE - IDPF For more information, see Enabling guest operating system
11289
- # features.
11379
+ # TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE For more information, see Enabling guest
11380
+ # operating system features.
11290
11381
  # Corresponds to the JSON property `type`
11291
11382
  # @return [String]
11292
11383
  attr_accessor :type
@@ -18891,7 +18982,7 @@ module Google
18891
18982
  class InstancesReportHostAsFaultyRequest
18892
18983
  include Google::Apis::Core::Hashable
18893
18984
 
18894
- # The disruption schedule for the VM. Default to IMMEDIATE.
18985
+ # The disruption schedule for the VM. Required field, only allows IMMEDIATE.
18895
18986
  # Corresponds to the JSON property `disruptionSchedule`
18896
18987
  # @return [String]
18897
18988
  attr_accessor :disruption_schedule
@@ -21260,7 +21351,7 @@ module Google
21260
21351
 
21261
21352
  # [Output only] List of link types available at this InterconnectLocation, which
21262
21353
  # can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR -
21263
- # LINK_TYPE_ETHERNET_100G_LR
21354
+ # LINK_TYPE_ETHERNET_100G_LR - LINK_TYPE_ETHERNET_400G_LR4
21264
21355
  # Corresponds to the JSON property `availableLinkTypes`
21265
21356
  # @return [Array<String>]
21266
21357
  attr_accessor :available_link_types
@@ -22673,6 +22764,23 @@ module Google
22673
22764
  # @return [String]
22674
22765
  attr_accessor :kind
22675
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
+
22676
22784
  # Encrypts the machine image using a customer-supplied encryption key. After you
22677
22785
  # encrypt a machine image using a customer-supplied key, you must provide the
22678
22786
  # same key if you use the machine image later. For example, you must provide the
@@ -22769,6 +22877,8 @@ module Google
22769
22877
  @id = args[:id] if args.key?(:id)
22770
22878
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
22771
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)
22772
22882
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
22773
22883
  @name = args[:name] if args.key?(:name)
22774
22884
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
@@ -26325,7 +26435,7 @@ module Google
26325
26435
  # @return [String]
26326
26436
  attr_accessor :network
26327
26437
 
26328
- # Maximum Transmission Unit in bytes.
26438
+ # [Output Only] Maximum Transmission Unit in bytes of the peer network.
26329
26439
  # Corresponds to the JSON property `peerMtu`
26330
26440
  # @return [Fixnum]
26331
26441
  attr_accessor :peer_mtu
@@ -26516,6 +26626,11 @@ module Google
26516
26626
  # @return [String]
26517
26627
  attr_accessor :allow_cloud_router
26518
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
+
26519
26634
  # Specifies whether VMs are allowed to have external IP access on network
26520
26635
  # interfaces connected to this VPC.
26521
26636
  # Corresponds to the JSON property `allowExternalIpAccess`
@@ -26527,6 +26642,11 @@ module Google
26527
26642
  # @return [String]
26528
26643
  attr_accessor :allow_interconnect
26529
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
+
26530
26650
  # Specifies whether cloud load balancing is allowed.
26531
26651
  # Corresponds to the JSON property `allowLoadBalancing`
26532
26652
  # @return [String]
@@ -26537,6 +26657,16 @@ module Google
26537
26657
  # @return [String]
26538
26658
  attr_accessor :allow_multi_nic_in_same_network
26539
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
+
26540
26670
  # Specifies whether Packet Mirroring 1.0 is supported.
26541
26671
  # Corresponds to the JSON property `allowPacketMirroring`
26542
26672
  # @return [String]
@@ -26593,6 +26723,16 @@ module Google
26593
26723
  # @return [Array<String>]
26594
26724
  attr_accessor :subnet_stack_types
26595
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
+
26596
26736
  # Specifies which type of unicast is supported.
26597
26737
  # Corresponds to the JSON property `unicast`
26598
26738
  # @return [String]
@@ -26610,10 +26750,14 @@ module Google
26610
26750
  @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
26611
26751
  @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat)
26612
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)
26613
26754
  @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
26614
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)
26615
26757
  @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
26616
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)
26617
26761
  @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
26618
26762
  @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access)
26619
26763
  @allow_psc = args[:allow_psc] if args.key?(:allow_psc)
@@ -26625,6 +26769,8 @@ module Google
26625
26769
  @interface_types = args[:interface_types] if args.key?(:interface_types)
26626
26770
  @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
26627
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)
26628
26774
  @unicast = args[:unicast] if args.key?(:unicast)
26629
26775
  end
26630
26776
  end
@@ -34023,6 +34169,11 @@ module Google
34023
34169
  # @return [String]
34024
34170
  attr_accessor :creation_timestamp
34025
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
+
34026
34177
  # An optional description of this resource. Provide this property when you
34027
34178
  # create the resource.
34028
34179
  # Corresponds to the JSON property `description`
@@ -34041,6 +34192,12 @@ module Google
34041
34192
  # @return [String]
34042
34193
  attr_accessor :kind
34043
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
+
34044
34201
  # The name of the resource, provided by the client when initially creating the
34045
34202
  # resource. The resource name must be 1-63 characters long, and comply with
34046
34203
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -34122,9 +34279,11 @@ module Google
34122
34279
  @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation)
34123
34280
  @commitment = args[:commitment] if args.key?(:commitment)
34124
34281
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
34282
+ @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
34125
34283
  @description = args[:description] if args.key?(:description)
34126
34284
  @id = args[:id] if args.key?(:id)
34127
34285
  @kind = args[:kind] if args.key?(:kind)
34286
+ @linked_commitments = args[:linked_commitments] if args.key?(:linked_commitments)
34128
34287
  @name = args[:name] if args.key?(:name)
34129
34288
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
34130
34289
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -34300,6 +34459,259 @@ module Google
34300
34459
  end
34301
34460
  end
34302
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
+
34303
34715
  #
34304
34716
  class ReservationList
34305
34717
  include Google::Apis::Core::Hashable
@@ -34419,6 +34831,44 @@ module Google
34419
34831
  end
34420
34832
  end
34421
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
+
34422
34872
  #
34423
34873
  class ReservationsResizeRequest
34424
34874
  include Google::Apis::Core::Hashable
@@ -37012,6 +37462,13 @@ module Google
37012
37462
  # @return [String]
37013
37463
  attr_accessor :name
37014
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
+
37015
37472
  # Specify the NatIpAllocateOption, which can take one of the following values: -
37016
37473
  # MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are
37017
37474
  # not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY:
@@ -37044,6 +37501,18 @@ module Google
37044
37501
  # @return [String]
37045
37502
  attr_accessor :source_subnetwork_ip_ranges_to_nat
37046
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
+
37047
37516
  # A list of Subnetwork resources whose traffic should be translated by NAT
37048
37517
  # Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the
37049
37518
  # SubnetworkIpRangeToNatOption above.
@@ -37096,10 +37565,12 @@ module Google
37096
37565
  @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
37097
37566
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
37098
37567
  @name = args[:name] if args.key?(:name)
37568
+ @nat64_subnetworks = args[:nat64_subnetworks] if args.key?(:nat64_subnetworks)
37099
37569
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
37100
37570
  @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
37101
37571
  @rules = args[:rules] if args.key?(:rules)
37102
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)
37103
37574
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
37104
37575
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
37105
37576
  @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
@@ -37267,6 +37738,25 @@ module Google
37267
37738
  end
37268
37739
  end
37269
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
+
37270
37760
  #
37271
37761
  class RouterStatus
37272
37762
  include Google::Apis::Core::Hashable
@@ -41030,7 +41520,7 @@ module Google
41030
41520
 
41031
41521
  # Represents a Persistent Disk Snapshot resource. You can use snapshots to back
41032
41522
  # up data on a regular interval. For more information, read Creating persistent
41033
- # disk snapshots.
41523
+ # disk snapshots. LINT.IfChange
41034
41524
  class Snapshot
41035
41525
  include Google::Apis::Core::Hashable
41036
41526
 
@@ -41090,6 +41580,13 @@ module Google
41090
41580
  attr_accessor :enable_confidential_compute
41091
41581
  alias_method :enable_confidential_compute?, :enable_confidential_compute
41092
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
+
41093
41590
  # [Output Only] A list of features to enable on the guest operating system.
41094
41591
  # Applicable only for bootable images. Read Enabling guest operating system
41095
41592
  # features to see a list of available options.
@@ -41287,6 +41784,7 @@ module Google
41287
41784
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
41288
41785
  @download_bytes = args[:download_bytes] if args.key?(:download_bytes)
41289
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)
41290
41788
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
41291
41789
  @id = args[:id] if args.key?(:id)
41292
41790
  @kind = args[:kind] if args.key?(:kind)
@@ -44276,20 +44774,7 @@ module Google
44276
44774
  # @return [String]
44277
44775
  attr_accessor :private_ipv6_google_access
44278
44776
 
44279
- # The purpose of the resource. This field can be either PRIVATE,
44280
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
44281
- # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
44282
- # user-created subnets or subnets that are automatically created in auto mode
44283
- # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
44284
- # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
44285
- # Envoy-based load balancers. A subnet with purpose set to
44286
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
44287
- # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
44288
- # migration from one peered VPC to another. A subnet with purpose set to
44289
- # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
44290
- # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
44291
- # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
44292
- # REGIONAL_MANAGED_PROXY.
44777
+ #
44293
44778
  # Corresponds to the JSON property `purpose`
44294
44779
  # @return [String]
44295
44780
  attr_accessor :purpose
@@ -49419,20 +49904,7 @@ module Google
49419
49904
  # @return [String]
49420
49905
  attr_accessor :network
49421
49906
 
49422
- # The purpose of the resource. This field can be either PRIVATE,
49423
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
49424
- # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
49425
- # user-created subnets or subnets that are automatically created in auto mode
49426
- # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
49427
- # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
49428
- # Envoy-based load balancers. A subnet with purpose set to
49429
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
49430
- # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
49431
- # migration from one peered VPC to another. A subnet with purpose set to
49432
- # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
49433
- # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
49434
- # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
49435
- # REGIONAL_MANAGED_PROXY.
49907
+ #
49436
49908
  # Corresponds to the JSON property `purpose`
49437
49909
  # @return [String]
49438
49910
  attr_accessor :purpose