google-apis-compute_beta 0.79.0 → 0.81.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.
@@ -1203,6 +1203,91 @@ module Google
1203
1203
  end
1204
1204
  end
1205
1205
 
1206
+ # This reservation type is specified by total resource amounts (e.g. total count
1207
+ # of CPUs) and can account for multiple instance SKUs. In other words, one can
1208
+ # create instances of varying shapes against this reservation.
1209
+ class AllocationAggregateReservation
1210
+ include Google::Apis::Core::Hashable
1211
+
1212
+ # [Output only] List of resources currently in use.
1213
+ # Corresponds to the JSON property `inUseResources`
1214
+ # @return [Array<Google::Apis::ComputeBeta::AllocationAggregateReservationReservedResourceInfo>]
1215
+ attr_accessor :in_use_resources
1216
+
1217
+ # List of reserved resources (CPUs, memory, accelerators).
1218
+ # Corresponds to the JSON property `reservedResources`
1219
+ # @return [Array<Google::Apis::ComputeBeta::AllocationAggregateReservationReservedResourceInfo>]
1220
+ attr_accessor :reserved_resources
1221
+
1222
+ # The VM family that all instances scheduled against this reservation must
1223
+ # belong to.
1224
+ # Corresponds to the JSON property `vmFamily`
1225
+ # @return [String]
1226
+ attr_accessor :vm_family
1227
+
1228
+ # The workload type of the instances that will target this reservation.
1229
+ # Corresponds to the JSON property `workloadType`
1230
+ # @return [String]
1231
+ attr_accessor :workload_type
1232
+
1233
+ def initialize(**args)
1234
+ update!(**args)
1235
+ end
1236
+
1237
+ # Update properties of this object
1238
+ def update!(**args)
1239
+ @in_use_resources = args[:in_use_resources] if args.key?(:in_use_resources)
1240
+ @reserved_resources = args[:reserved_resources] if args.key?(:reserved_resources)
1241
+ @vm_family = args[:vm_family] if args.key?(:vm_family)
1242
+ @workload_type = args[:workload_type] if args.key?(:workload_type)
1243
+ end
1244
+ end
1245
+
1246
+ #
1247
+ class AllocationAggregateReservationReservedResourceInfo
1248
+ include Google::Apis::Core::Hashable
1249
+
1250
+ # Properties of accelerator resources in this reservation.
1251
+ # Corresponds to the JSON property `accelerator`
1252
+ # @return [Google::Apis::ComputeBeta::AllocationAggregateReservationReservedResourceInfoAccelerator]
1253
+ attr_accessor :accelerator
1254
+
1255
+ def initialize(**args)
1256
+ update!(**args)
1257
+ end
1258
+
1259
+ # Update properties of this object
1260
+ def update!(**args)
1261
+ @accelerator = args[:accelerator] if args.key?(:accelerator)
1262
+ end
1263
+ end
1264
+
1265
+ #
1266
+ class AllocationAggregateReservationReservedResourceInfoAccelerator
1267
+ include Google::Apis::Core::Hashable
1268
+
1269
+ # Number of accelerators of specified type.
1270
+ # Corresponds to the JSON property `acceleratorCount`
1271
+ # @return [Fixnum]
1272
+ attr_accessor :accelerator_count
1273
+
1274
+ # Full or partial URL to accelerator type. e.g. "projects/`PROJECT`/zones/`ZONE`/
1275
+ # acceleratorTypes/ct4l"
1276
+ # Corresponds to the JSON property `acceleratorType`
1277
+ # @return [String]
1278
+ attr_accessor :accelerator_type
1279
+
1280
+ def initialize(**args)
1281
+ update!(**args)
1282
+ end
1283
+
1284
+ # Update properties of this object
1285
+ def update!(**args)
1286
+ @accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count)
1287
+ @accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type)
1288
+ end
1289
+ end
1290
+
1206
1291
  # [Output Only] Contains output only fields.
1207
1292
  class AllocationResourceStatus
1208
1293
  include Google::Apis::Core::Hashable
@@ -3519,11 +3604,11 @@ module Google
3519
3604
  # applicable to either: - A regional backend service with the service_protocol
3520
3605
  # set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
3521
3606
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3522
- # set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
3523
- # is not set to MAGLEV or RING_HASH, session affinity settings will not take
3524
- # effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
3525
- # is referenced by a URL map that is bound to target gRPC proxy that has
3526
- # validateForProxyless field set to true.
3607
+ # set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
3608
+ # sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH,
3609
+ # session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH
3610
+ # are supported when the backend service is referenced by a URL map that is
3611
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3527
3612
  # Corresponds to the JSON property `localityLbPolicy`
3528
3613
  # @return [String]
3529
3614
  attr_accessor :locality_lb_policy
@@ -3663,6 +3748,11 @@ module Google
3663
3748
  # @return [Fixnum]
3664
3749
  attr_accessor :timeout_sec
3665
3750
 
3751
+ #
3752
+ # Corresponds to the JSON property `usedBy`
3753
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceUsedBy>]
3754
+ attr_accessor :used_by
3755
+
3666
3756
  def initialize(**args)
3667
3757
  update!(**args)
3668
3758
  end
@@ -3710,6 +3800,7 @@ module Google
3710
3800
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3711
3801
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3712
3802
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3803
+ @used_by = args[:used_by] if args.key?(:used_by)
3713
3804
  end
3714
3805
  end
3715
3806
 
@@ -4204,8 +4295,7 @@ module Google
4204
4295
  include Google::Apis::Core::Hashable
4205
4296
 
4206
4297
  # Whether the serving infrastructure will authenticate and authorize all
4207
- # incoming requests. If true, the oauth2ClientId and oauth2ClientSecret fields
4208
- # must be non-empty.
4298
+ # incoming requests.
4209
4299
  # Corresponds to the JSON property `enabled`
4210
4300
  # @return [Boolean]
4211
4301
  attr_accessor :enabled
@@ -4359,6 +4449,124 @@ module Google
4359
4449
  end
4360
4450
  end
4361
4451
 
4452
+ # Contains a list of usable BackendService resources.
4453
+ class BackendServiceListUsable
4454
+ include Google::Apis::Core::Hashable
4455
+
4456
+ # [Output Only] Unique identifier for the resource; defined by the server.
4457
+ # Corresponds to the JSON property `id`
4458
+ # @return [String]
4459
+ attr_accessor :id
4460
+
4461
+ # A list of BackendService resources.
4462
+ # Corresponds to the JSON property `items`
4463
+ # @return [Array<Google::Apis::ComputeBeta::BackendService>]
4464
+ attr_accessor :items
4465
+
4466
+ # [Output Only] Type of resource. Always compute#usableBackendServiceList for
4467
+ # lists of usable backend services.
4468
+ # Corresponds to the JSON property `kind`
4469
+ # @return [String]
4470
+ attr_accessor :kind
4471
+
4472
+ # [Output Only] This token allows you to get the next page of results for list
4473
+ # requests. If the number of results is larger than maxResults, use the
4474
+ # nextPageToken as a value for the query parameter pageToken in the next list
4475
+ # request. Subsequent list requests will have their own nextPageToken to
4476
+ # continue paging through the results.
4477
+ # Corresponds to the JSON property `nextPageToken`
4478
+ # @return [String]
4479
+ attr_accessor :next_page_token
4480
+
4481
+ # [Output Only] Server-defined URL for this resource.
4482
+ # Corresponds to the JSON property `selfLink`
4483
+ # @return [String]
4484
+ attr_accessor :self_link
4485
+
4486
+ # [Output Only] Informational warning message.
4487
+ # Corresponds to the JSON property `warning`
4488
+ # @return [Google::Apis::ComputeBeta::BackendServiceListUsable::Warning]
4489
+ attr_accessor :warning
4490
+
4491
+ def initialize(**args)
4492
+ update!(**args)
4493
+ end
4494
+
4495
+ # Update properties of this object
4496
+ def update!(**args)
4497
+ @id = args[:id] if args.key?(:id)
4498
+ @items = args[:items] if args.key?(:items)
4499
+ @kind = args[:kind] if args.key?(:kind)
4500
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
4501
+ @self_link = args[:self_link] if args.key?(:self_link)
4502
+ @warning = args[:warning] if args.key?(:warning)
4503
+ end
4504
+
4505
+ # [Output Only] Informational warning message.
4506
+ class Warning
4507
+ include Google::Apis::Core::Hashable
4508
+
4509
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
4510
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
4511
+ # Corresponds to the JSON property `code`
4512
+ # @return [String]
4513
+ attr_accessor :code
4514
+
4515
+ # [Output Only] Metadata about this warning in key: value format. For example: "
4516
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
4517
+ # Corresponds to the JSON property `data`
4518
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceListUsable::Warning::Datum>]
4519
+ attr_accessor :data
4520
+
4521
+ # [Output Only] A human-readable description of the warning code.
4522
+ # Corresponds to the JSON property `message`
4523
+ # @return [String]
4524
+ attr_accessor :message
4525
+
4526
+ def initialize(**args)
4527
+ update!(**args)
4528
+ end
4529
+
4530
+ # Update properties of this object
4531
+ def update!(**args)
4532
+ @code = args[:code] if args.key?(:code)
4533
+ @data = args[:data] if args.key?(:data)
4534
+ @message = args[:message] if args.key?(:message)
4535
+ end
4536
+
4537
+ #
4538
+ class Datum
4539
+ include Google::Apis::Core::Hashable
4540
+
4541
+ # [Output Only] A key that provides more detail on the warning being returned.
4542
+ # For example, for warnings where there are no results in a list request for a
4543
+ # particular zone, this key might be scope and the key value might be the zone
4544
+ # name. Other examples might be a key indicating a deprecated resource and a
4545
+ # suggested replacement, or a warning about invalid network settings (for
4546
+ # example, if an instance attempts to perform IP forwarding but is not enabled
4547
+ # for IP forwarding).
4548
+ # Corresponds to the JSON property `key`
4549
+ # @return [String]
4550
+ attr_accessor :key
4551
+
4552
+ # [Output Only] A warning data value corresponding to the key.
4553
+ # Corresponds to the JSON property `value`
4554
+ # @return [String]
4555
+ attr_accessor :value
4556
+
4557
+ def initialize(**args)
4558
+ update!(**args)
4559
+ end
4560
+
4561
+ # Update properties of this object
4562
+ def update!(**args)
4563
+ @key = args[:key] if args.key?(:key)
4564
+ @value = args[:value] if args.key?(:value)
4565
+ end
4566
+ end
4567
+ end
4568
+ end
4569
+
4362
4570
  # Container for either a built-in LB policy supported by gRPC or Envoy or a
4363
4571
  # custom one implemented by the end user.
4364
4572
  class BackendServiceLocalityLoadBalancingPolicyConfig
@@ -4510,6 +4718,25 @@ module Google
4510
4718
  end
4511
4719
  end
4512
4720
 
4721
+ #
4722
+ class BackendServiceUsedBy
4723
+ include Google::Apis::Core::Hashable
4724
+
4725
+ #
4726
+ # Corresponds to the JSON property `reference`
4727
+ # @return [String]
4728
+ attr_accessor :reference
4729
+
4730
+ def initialize(**args)
4731
+ update!(**args)
4732
+ end
4733
+
4734
+ # Update properties of this object
4735
+ def update!(**args)
4736
+ @reference = args[:reference] if args.key?(:reference)
4737
+ end
4738
+ end
4739
+
4513
4740
  #
4514
4741
  class BackendServicesScopedList
4515
4742
  include Google::Apis::Core::Hashable
@@ -5380,7 +5607,7 @@ module Google
5380
5607
  # @return [String]
5381
5608
  attr_accessor :region
5382
5609
 
5383
- # List of reservations in this commitment.
5610
+ # List of create-on-create reseravtions for this commitment.
5384
5611
  # Corresponds to the JSON property `reservations`
5385
5612
  # @return [Array<Google::Apis::ComputeBeta::Reservation>]
5386
5613
  attr_accessor :reservations
@@ -9725,13 +9952,13 @@ module Google
9725
9952
  # @return [String]
9726
9953
  attr_accessor :name
9727
9954
 
9728
- # This field is not used for external load balancing. For Internal TCP/UDP Load
9729
- # Balancing, this field identifies the network that the load balanced IP should
9730
- # belong to for this Forwarding Rule. If the subnetwork is specified, the
9731
- # network of the subnetwork will be used. If neither subnetwork nor this field
9732
- # is specified, the default network will be used. For Private Service Connect
9733
- # forwarding rules that forward traffic to Google APIs, a network must be
9734
- # provided.
9955
+ # This field is not used for global external load balancing. For Internal TCP/
9956
+ # UDP Load Balancing, this field identifies the network that the load balanced
9957
+ # IP should belong to for this Forwarding Rule. If the subnetwork is specified,
9958
+ # the network of the subnetwork will be used. If neither subnetwork nor this
9959
+ # field is specified, the default network will be used. For Private Service
9960
+ # Connect forwarding rules that forward traffic to Google APIs, a network must
9961
+ # be provided.
9735
9962
  # Corresponds to the JSON property `network`
9736
9963
  # @return [String]
9737
9964
  attr_accessor :network
@@ -10320,9 +10547,9 @@ module Google
10320
10547
  attr_accessor :auto_created_reservations_duration
10321
10548
 
10322
10549
  # Setting for enabling or disabling automatic deletion for auto-created
10323
- # reservation. If omitted or set to true, auto-created reservations will be
10324
- # deleted at Future Reservation's end time (default) or at user's defined
10325
- # timestamp if any of the [auto_created_reservations_delete_time,
10550
+ # reservation. If set to true, auto-created reservations will be deleted at
10551
+ # Future Reservation's end time (default) or at user's defined timestamp if any
10552
+ # of the [auto_created_reservations_delete_time,
10326
10553
  # auto_created_reservations_duration] values is specified. For keeping auto-
10327
10554
  # created reservation indefinitely, this value should be set to false.
10328
10555
  # Corresponds to the JSON property `autoDeleteAutoCreatedReservations`
@@ -11670,19 +11897,22 @@ module Google
11670
11897
  end
11671
11898
  end
11672
11899
 
11673
- # Represents a Health Check resource. Google Compute Engine has two Health Check
11674
- # resources: * [Global](/compute/docs/reference/rest/beta/healthChecks) * [
11675
- # Regional](/compute/docs/reference/rest/beta/regionHealthChecks) Internal HTTP(
11676
- # S) load balancers must use regional health checks (`compute.v1.
11677
- # regionHealthChecks`). Traffic Director must use global health checks (`compute.
11678
- # v1.healthChecks`). Internal TCP/UDP load balancers can use either regional or
11679
- # global health checks (`compute.v1.regionHealthChecks` or `compute.v1.
11680
- # healthChecks`). External HTTP(S), TCP proxy, and SSL proxy load balancers as
11681
- # well as managed instance group auto-healing must use global health checks (`
11682
- # compute.v1.healthChecks`). Backend service-based network load balancers must
11683
- # use regional health checks (`compute.v1.regionHealthChecks`). Target pool-
11684
- # based network load balancers must use legacy HTTP health checks (`compute.v1.
11685
- # httpHealthChecks`). For more information, see Health checks overview.
11900
+ # Represents a health check resource. Google Compute Engine has two health check
11901
+ # resources: * [Regional](/compute/docs/reference/rest/beta/regionHealthChecks) *
11902
+ # [Global](/compute/docs/reference/rest/beta/healthChecks) These health check
11903
+ # resources can be used for load balancing and for autohealing VMs in a managed
11904
+ # instance group (MIG). **Load balancing** The following load balancer can use
11905
+ # either regional or global health check: * Internal TCP/UDP load balancer The
11906
+ # following load balancers require regional health check: * Internal HTTP(S)
11907
+ # load balancer * Backend service-based network load balancer Traffic Director
11908
+ # and the following load balancers require global health check: * External HTTP(
11909
+ # S) load balancer * TCP proxy load balancer * SSL proxy load balancer The
11910
+ # following load balancer require [legacy HTTP health checks](/compute/docs/
11911
+ # reference/rest/v1/httpHealthChecks): * Target pool-based network load balancer
11912
+ # **Autohealing in MIGs** The health checks that you use for autohealing VMs in
11913
+ # a MIG can be either regional or global. For more information, see Set up an
11914
+ # application health check and autohealing. For more information, see Health
11915
+ # checks overview.
11686
11916
  class HealthCheck
11687
11917
  include Google::Apis::Core::Hashable
11688
11918
 
@@ -15509,6 +15739,11 @@ module Google
15509
15739
  # @return [String]
15510
15740
  attr_accessor :service_account
15511
15741
 
15742
+ # Standby policy for stopped and suspended instances.
15743
+ # Corresponds to the JSON property `standbyPolicy`
15744
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStandbyPolicy]
15745
+ attr_accessor :standby_policy
15746
+
15512
15747
  # Stateful configuration for this Instanced Group Manager
15513
15748
  # Corresponds to the JSON property `statefulPolicy`
15514
15749
  # @return [Google::Apis::ComputeBeta::StatefulPolicy]
@@ -15533,6 +15768,22 @@ module Google
15533
15768
  # @return [Fixnum]
15534
15769
  attr_accessor :target_size
15535
15770
 
15771
+ # The target number of stopped instances for this managed instance group. This
15772
+ # number changes when you: - Stop instance using the stopInstances method or
15773
+ # start instances using the startInstances method. - Manually change the
15774
+ # targetStoppedSize using the update method.
15775
+ # Corresponds to the JSON property `targetStoppedSize`
15776
+ # @return [Fixnum]
15777
+ attr_accessor :target_stopped_size
15778
+
15779
+ # The target number of suspended instances for this managed instance group. This
15780
+ # number changes when you: - Suspend instance using the suspendInstances method
15781
+ # or resume instances using the resumeInstances method. - Manually change the
15782
+ # targetSuspendedSize using the update method.
15783
+ # Corresponds to the JSON property `targetSuspendedSize`
15784
+ # @return [Fixnum]
15785
+ attr_accessor :target_suspended_size
15786
+
15536
15787
  # The update policy for this managed instance group.
15537
15788
  # Corresponds to the JSON property `updatePolicy`
15538
15789
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerUpdatePolicy]
@@ -15582,10 +15833,13 @@ module Google
15582
15833
  @region = args[:region] if args.key?(:region)
15583
15834
  @self_link = args[:self_link] if args.key?(:self_link)
15584
15835
  @service_account = args[:service_account] if args.key?(:service_account)
15836
+ @standby_policy = args[:standby_policy] if args.key?(:standby_policy)
15585
15837
  @stateful_policy = args[:stateful_policy] if args.key?(:stateful_policy)
15586
15838
  @status = args[:status] if args.key?(:status)
15587
15839
  @target_pools = args[:target_pools] if args.key?(:target_pools)
15588
15840
  @target_size = args[:target_size] if args.key?(:target_size)
15841
+ @target_stopped_size = args[:target_stopped_size] if args.key?(:target_stopped_size)
15842
+ @target_suspended_size = args[:target_suspended_size] if args.key?(:target_suspended_size)
15589
15843
  @update_policy = args[:update_policy] if args.key?(:update_policy)
15590
15844
  @versions = args[:versions] if args.key?(:versions)
15591
15845
  @zone = args[:zone] if args.key?(:zone)
@@ -15885,8 +16139,8 @@ module Google
15885
16139
  class InstanceGroupManagerInstanceFlexibilityPolicy
15886
16140
  include Google::Apis::Core::Hashable
15887
16141
 
15888
- # List of instance selection options that the group will use when creating new
15889
- # VMs.
16142
+ # Named instance selections configuring properties that the group will use when
16143
+ # creating new VMs.
15890
16144
  # Corresponds to the JSON property `instanceSelectionLists`
15891
16145
  # @return [Hash<String,Google::Apis::ComputeBeta::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection>]
15892
16146
  attr_accessor :instance_selection_lists
@@ -16414,6 +16668,31 @@ module Google
16414
16668
  end
16415
16669
  end
16416
16670
 
16671
+ #
16672
+ class InstanceGroupManagerStandbyPolicy
16673
+ include Google::Apis::Core::Hashable
16674
+
16675
+ #
16676
+ # Corresponds to the JSON property `initialDelaySec`
16677
+ # @return [Fixnum]
16678
+ attr_accessor :initial_delay_sec
16679
+
16680
+ # Defines behaviour of using instances from standby pool to resize MIG.
16681
+ # Corresponds to the JSON property `mode`
16682
+ # @return [String]
16683
+ attr_accessor :mode
16684
+
16685
+ def initialize(**args)
16686
+ update!(**args)
16687
+ end
16688
+
16689
+ # Update properties of this object
16690
+ def update!(**args)
16691
+ @initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec)
16692
+ @mode = args[:mode] if args.key?(:mode)
16693
+ end
16694
+ end
16695
+
16417
16696
  #
16418
16697
  class InstanceGroupManagerStatus
16419
16698
  include Google::Apis::Core::Hashable
@@ -17086,6 +17365,26 @@ module Google
17086
17365
  end
17087
17366
  end
17088
17367
 
17368
+ #
17369
+ class InstanceGroupManagersResumeInstancesRequest
17370
+ include Google::Apis::Core::Hashable
17371
+
17372
+ # The URLs of one or more instances to resume. This can be a full URL or a
17373
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
17374
+ # Corresponds to the JSON property `instances`
17375
+ # @return [Array<String>]
17376
+ attr_accessor :instances
17377
+
17378
+ def initialize(**args)
17379
+ update!(**args)
17380
+ end
17381
+
17382
+ # Update properties of this object
17383
+ def update!(**args)
17384
+ @instances = args[:instances] if args.key?(:instances)
17385
+ end
17386
+ end
17387
+
17089
17388
  #
17090
17389
  class InstanceGroupManagersScopedList
17091
17390
  include Google::Apis::Core::Hashable
@@ -17253,6 +17552,82 @@ module Google
17253
17552
  end
17254
17553
  end
17255
17554
 
17555
+ #
17556
+ class InstanceGroupManagersStartInstancesRequest
17557
+ include Google::Apis::Core::Hashable
17558
+
17559
+ # The URLs of one or more instances to start. This can be a full URL or a
17560
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
17561
+ # Corresponds to the JSON property `instances`
17562
+ # @return [Array<String>]
17563
+ attr_accessor :instances
17564
+
17565
+ def initialize(**args)
17566
+ update!(**args)
17567
+ end
17568
+
17569
+ # Update properties of this object
17570
+ def update!(**args)
17571
+ @instances = args[:instances] if args.key?(:instances)
17572
+ end
17573
+ end
17574
+
17575
+ #
17576
+ class InstanceGroupManagersStopInstancesRequest
17577
+ include Google::Apis::Core::Hashable
17578
+
17579
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
17580
+ # the instances, skipping initialization on them.
17581
+ # Corresponds to the JSON property `forceStop`
17582
+ # @return [Boolean]
17583
+ attr_accessor :force_stop
17584
+ alias_method :force_stop?, :force_stop
17585
+
17586
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
17587
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
17588
+ # Corresponds to the JSON property `instances`
17589
+ # @return [Array<String>]
17590
+ attr_accessor :instances
17591
+
17592
+ def initialize(**args)
17593
+ update!(**args)
17594
+ end
17595
+
17596
+ # Update properties of this object
17597
+ def update!(**args)
17598
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
17599
+ @instances = args[:instances] if args.key?(:instances)
17600
+ end
17601
+ end
17602
+
17603
+ #
17604
+ class InstanceGroupManagersSuspendInstancesRequest
17605
+ include Google::Apis::Core::Hashable
17606
+
17607
+ # If this flag is set to true, the Instance Group Manager will proceed to
17608
+ # suspend the instances, skipping initialization on them.
17609
+ # Corresponds to the JSON property `forceSuspend`
17610
+ # @return [Boolean]
17611
+ attr_accessor :force_suspend
17612
+ alias_method :force_suspend?, :force_suspend
17613
+
17614
+ # The URLs of one or more instances to suspend. This can be a full URL or a
17615
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
17616
+ # Corresponds to the JSON property `instances`
17617
+ # @return [Array<String>]
17618
+ attr_accessor :instances
17619
+
17620
+ def initialize(**args)
17621
+ update!(**args)
17622
+ end
17623
+
17624
+ # Update properties of this object
17625
+ def update!(**args)
17626
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
17627
+ @instances = args[:instances] if args.key?(:instances)
17628
+ end
17629
+ end
17630
+
17256
17631
  # InstanceGroupManagers.updatePerInstanceConfigs
17257
17632
  class InstanceGroupManagersUpdatePerInstanceConfigsReq
17258
17633
  include Google::Apis::Core::Hashable
@@ -18264,9 +18639,15 @@ module Google
18264
18639
  end
18265
18640
  end
18266
18641
 
18267
- # Represents an Instance Template resource. You can use instance templates to
18268
- # create VM instances and managed instance groups. For more information, read
18269
- # Instance Templates.
18642
+ # Represents an Instance Template resource. Google Compute Engine has two
18643
+ # Instance Template resources: * [Global](/compute/docs/reference/rest/beta/
18644
+ # instanceTemplates) * [Regional](/compute/docs/reference/rest/beta/
18645
+ # regionInstanceTemplates) You can reuse a global instance template in different
18646
+ # regions whereas you can use a regional instance template in a specified region
18647
+ # only. If you want to reduce cross-region dependency or achieve data residency,
18648
+ # use a regional instance template. To create VMs, managed instance groups, and
18649
+ # reservations, you can use either global or regional instance templates. For
18650
+ # more information, read Instance Templates.
18270
18651
  class InstanceTemplate
18271
18652
  include Google::Apis::Core::Hashable
18272
18653
 
@@ -19729,9 +20110,9 @@ module Google
19729
20110
 
19730
20111
  # [Output only] List of features available for this Interconnect connection,
19731
20112
  # which can take one of the following values: - MACSEC If present then the
19732
- # interconnect was created on MACsec capable hardware ports. If not present then
19733
- # the interconnect is provisioned on non-MACsec capable ports and MACsec
19734
- # enablement will fail.
20113
+ # Interconnect connection is provisioned on MACsec capable hardware ports. If
20114
+ # not present then the Interconnect connection is provisioned on non-MACsec
20115
+ # capable ports and MACsec isn't supported and enabling MACsec fails.
19735
20116
  # Corresponds to the JSON property `availableFeatures`
19736
20117
  # @return [Array<String>]
19737
20118
  attr_accessor :available_features
@@ -19837,7 +20218,8 @@ module Google
19837
20218
  attr_accessor :location
19838
20219
 
19839
20220
  # Configuration information for enabling Media Access Control security (MACsec)
19840
- # on this Interconnect connection between Google and your on-premises router.
20221
+ # on this Cloud Interconnect connection between Google and your on-premises
20222
+ # router.
19841
20223
  # Corresponds to the JSON property `macsec`
19842
20224
  # @return [Google::Apis::ComputeBeta::InterconnectMacsec]
19843
20225
  attr_accessor :macsec
@@ -19899,10 +20281,10 @@ module Google
19899
20281
 
19900
20282
  # Optional. List of features requested for this Interconnect connection, which
19901
20283
  # can take one of the following values: - MACSEC If specified then the
19902
- # interconnect will be created on MACsec capable hardware ports. If not
19903
- # specified, the default value is false, which will allocate non-MACsec capable
19904
- # ports first if available. This parameter can only be provided during
19905
- # interconnect INSERT and cannot be changed using interconnect PATCH.
20284
+ # connection is created on MACsec capable hardware ports. If not specified, the
20285
+ # default value is false, which allocates non-MACsec capable ports first if
20286
+ # available. This parameter can be provided only with Interconnect INSERT. It
20287
+ # isn't valid for Interconnect PATCH.
19906
20288
  # Corresponds to the JSON property `requestedFeatures`
19907
20289
  # @return [Array<String>]
19908
20290
  attr_accessor :requested_features
@@ -21482,7 +21864,8 @@ module Google
21482
21864
  end
21483
21865
 
21484
21866
  # Configuration information for enabling Media Access Control security (MACsec)
21485
- # on this Interconnect connection between Google and your on-premises router.
21867
+ # on this Cloud Interconnect connection between Google and your on-premises
21868
+ # router.
21486
21869
  class InterconnectMacsec
21487
21870
  include Google::Apis::Core::Hashable
21488
21871
 
@@ -21497,8 +21880,8 @@ module Google
21497
21880
  alias_method :fail_open?, :fail_open
21498
21881
 
21499
21882
  # Required. A keychain placeholder describing a set of named key objects along
21500
- # with their start times. A MACsec CKN/CAK will be generated for each key in the
21501
- # key chain. Google router will automatically pick the key with the most recent
21883
+ # with their start times. A MACsec CKN/CAK is generated for each key in the key
21884
+ # chain. Google router automatically picks the key with the most recent
21502
21885
  # startTime when establishing or re-establishing a MACsec secure link.
21503
21886
  # Corresponds to the JSON property `preSharedKeys`
21504
21887
  # @return [Array<Google::Apis::ComputeBeta::InterconnectMacsecPreSharedKey>]
@@ -23495,6 +23878,12 @@ module Google
23495
23878
  # @return [String]
23496
23879
  attr_accessor :instance
23497
23880
 
23881
+ # [Output Only] The overrides to instance properties resulting from
23882
+ # InstanceFlexibilityPolicy.
23883
+ # Corresponds to the JSON property `instanceFlexibilityOverride`
23884
+ # @return [Google::Apis::ComputeBeta::ManagedInstanceInstanceFlexibilityOverride]
23885
+ attr_accessor :instance_flexibility_override
23886
+
23498
23887
  # [Output Only] Health state of the instance per health-check.
23499
23888
  # Corresponds to the JSON property `instanceHealth`
23500
23889
  # @return [Array<Google::Apis::ComputeBeta::ManagedInstanceInstanceHealth>]
@@ -23543,6 +23932,7 @@ module Google
23543
23932
  @current_action = args[:current_action] if args.key?(:current_action)
23544
23933
  @id = args[:id] if args.key?(:id)
23545
23934
  @instance = args[:instance] if args.key?(:instance)
23935
+ @instance_flexibility_override = args[:instance_flexibility_override] if args.key?(:instance_flexibility_override)
23546
23936
  @instance_health = args[:instance_health] if args.key?(:instance_health)
23547
23937
  @instance_status = args[:instance_status] if args.key?(:instance_status)
23548
23938
  @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
@@ -23573,6 +23963,25 @@ module Google
23573
23963
  end
23574
23964
  end
23575
23965
 
23966
+ #
23967
+ class ManagedInstanceInstanceFlexibilityOverride
23968
+ include Google::Apis::Core::Hashable
23969
+
23970
+ # The machine type to be used for this instance.
23971
+ # Corresponds to the JSON property `machineType`
23972
+ # @return [String]
23973
+ attr_accessor :machine_type
23974
+
23975
+ def initialize(**args)
23976
+ update!(**args)
23977
+ end
23978
+
23979
+ # Update properties of this object
23980
+ def update!(**args)
23981
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
23982
+ end
23983
+ end
23984
+
23576
23985
  #
23577
23986
  class ManagedInstanceInstanceHealth
23578
23987
  include Google::Apis::Core::Hashable
@@ -26651,6 +27060,12 @@ module Google
26651
27060
  # @return [String]
26652
27061
  attr_accessor :location_hint
26653
27062
 
27063
+ # Specifies the frequency of planned maintenance events. The accepted values are:
27064
+ # `AS_NEEDED` and `RECURRENT`.
27065
+ # Corresponds to the JSON property `maintenanceInterval`
27066
+ # @return [String]
27067
+ attr_accessor :maintenance_interval
27068
+
26654
27069
  # Specifies how to handle instances when a node in the group undergoes
26655
27070
  # maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or
26656
27071
  # MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information,
@@ -26720,6 +27135,7 @@ module Google
26720
27135
  @id = args[:id] if args.key?(:id)
26721
27136
  @kind = args[:kind] if args.key?(:kind)
26722
27137
  @location_hint = args[:location_hint] if args.key?(:location_hint)
27138
+ @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
26723
27139
  @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
26724
27140
  @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
26725
27141
  @name = args[:name] if args.key?(:name)
@@ -27108,6 +27524,11 @@ module Google
27108
27524
  # @return [Google::Apis::ComputeBeta::InstanceConsumptionInfo]
27109
27525
  attr_accessor :total_resources
27110
27526
 
27527
+ # Upcoming Maintenance notification information.
27528
+ # Corresponds to the JSON property `upcomingMaintenance`
27529
+ # @return [Google::Apis::ComputeBeta::UpcomingMaintenance]
27530
+ attr_accessor :upcoming_maintenance
27531
+
27111
27532
  def initialize(**args)
27112
27533
  update!(**args)
27113
27534
  end
@@ -27127,6 +27548,7 @@ module Google
27127
27548
  @server_id = args[:server_id] if args.key?(:server_id)
27128
27549
  @status = args[:status] if args.key?(:status)
27129
27550
  @total_resources = args[:total_resources] if args.key?(:total_resources)
27551
+ @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
27130
27552
  end
27131
27553
  end
27132
27554
 
@@ -27286,6 +27708,31 @@ module Google
27286
27708
  end
27287
27709
  end
27288
27710
 
27711
+ #
27712
+ class NodeGroupsPerformMaintenanceRequest
27713
+ include Google::Apis::Core::Hashable
27714
+
27715
+ # [Required] List of nodes affected by the call.
27716
+ # Corresponds to the JSON property `nodes`
27717
+ # @return [Array<String>]
27718
+ attr_accessor :nodes
27719
+
27720
+ # The start time of the schedule. The timestamp is an RFC3339 string.
27721
+ # Corresponds to the JSON property `startTime`
27722
+ # @return [String]
27723
+ attr_accessor :start_time
27724
+
27725
+ def initialize(**args)
27726
+ update!(**args)
27727
+ end
27728
+
27729
+ # Update properties of this object
27730
+ def update!(**args)
27731
+ @nodes = args[:nodes] if args.key?(:nodes)
27732
+ @start_time = args[:start_time] if args.key?(:start_time)
27733
+ end
27734
+ end
27735
+
27289
27736
  #
27290
27737
  class NodeGroupsScopedList
27291
27738
  include Google::Apis::Core::Hashable
@@ -32815,6 +33262,26 @@ module Google
32815
33262
  end
32816
33263
  end
32817
33264
 
33265
+ #
33266
+ class RegionInstanceGroupManagersResumeInstancesRequest
33267
+ include Google::Apis::Core::Hashable
33268
+
33269
+ # The URLs of one or more instances to resume. This can be a full URL or a
33270
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
33271
+ # Corresponds to the JSON property `instances`
33272
+ # @return [Array<String>]
33273
+ attr_accessor :instances
33274
+
33275
+ def initialize(**args)
33276
+ update!(**args)
33277
+ end
33278
+
33279
+ # Update properties of this object
33280
+ def update!(**args)
33281
+ @instances = args[:instances] if args.key?(:instances)
33282
+ end
33283
+ end
33284
+
32818
33285
  #
32819
33286
  class RegionInstanceGroupManagersSetAutoHealingRequest
32820
33287
  include Google::Apis::Core::Hashable
@@ -32884,6 +33351,82 @@ module Google
32884
33351
  end
32885
33352
  end
32886
33353
 
33354
+ #
33355
+ class RegionInstanceGroupManagersStartInstancesRequest
33356
+ include Google::Apis::Core::Hashable
33357
+
33358
+ # The URLs of one or more instances to start. This can be a full URL or a
33359
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
33360
+ # Corresponds to the JSON property `instances`
33361
+ # @return [Array<String>]
33362
+ attr_accessor :instances
33363
+
33364
+ def initialize(**args)
33365
+ update!(**args)
33366
+ end
33367
+
33368
+ # Update properties of this object
33369
+ def update!(**args)
33370
+ @instances = args[:instances] if args.key?(:instances)
33371
+ end
33372
+ end
33373
+
33374
+ #
33375
+ class RegionInstanceGroupManagersStopInstancesRequest
33376
+ include Google::Apis::Core::Hashable
33377
+
33378
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
33379
+ # the instances, skipping initialization on them.
33380
+ # Corresponds to the JSON property `forceStop`
33381
+ # @return [Boolean]
33382
+ attr_accessor :force_stop
33383
+ alias_method :force_stop?, :force_stop
33384
+
33385
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
33386
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
33387
+ # Corresponds to the JSON property `instances`
33388
+ # @return [Array<String>]
33389
+ attr_accessor :instances
33390
+
33391
+ def initialize(**args)
33392
+ update!(**args)
33393
+ end
33394
+
33395
+ # Update properties of this object
33396
+ def update!(**args)
33397
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
33398
+ @instances = args[:instances] if args.key?(:instances)
33399
+ end
33400
+ end
33401
+
33402
+ #
33403
+ class RegionInstanceGroupManagersSuspendInstancesRequest
33404
+ include Google::Apis::Core::Hashable
33405
+
33406
+ # If this flag is set to true, the Instance Group Manager will proceed to
33407
+ # suspend the instances, skipping initialization on them.
33408
+ # Corresponds to the JSON property `forceSuspend`
33409
+ # @return [Boolean]
33410
+ attr_accessor :force_suspend
33411
+ alias_method :force_suspend?, :force_suspend
33412
+
33413
+ # The URLs of one or more instances to suspend. This can be a full URL or a
33414
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
33415
+ # Corresponds to the JSON property `instances`
33416
+ # @return [Array<String>]
33417
+ attr_accessor :instances
33418
+
33419
+ def initialize(**args)
33420
+ update!(**args)
33421
+ end
33422
+
33423
+ # Update properties of this object
33424
+ def update!(**args)
33425
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
33426
+ @instances = args[:instances] if args.key?(:instances)
33427
+ end
33428
+ end
33429
+
32887
33430
  #
32888
33431
  class RegionInstanceGroupsListInstances
32889
33432
  include Google::Apis::Core::Hashable
@@ -33455,6 +33998,13 @@ module Google
33455
33998
  class Reservation
33456
33999
  include Google::Apis::Core::Hashable
33457
34000
 
34001
+ # This reservation type is specified by total resource amounts (e.g. total count
34002
+ # of CPUs) and can account for multiple instance SKUs. In other words, one can
34003
+ # create instances of varying shapes against this reservation.
34004
+ # Corresponds to the JSON property `aggregateReservation`
34005
+ # @return [Google::Apis::ComputeBeta::AllocationAggregateReservation]
34006
+ attr_accessor :aggregate_reservation
34007
+
33458
34008
  # [Output Only] Full or partial URL to a parent commitment. This field displays
33459
34009
  # for reservations that are tied to a commitment.
33460
34010
  # Corresponds to the JSON property `commitment`
@@ -33568,6 +34118,7 @@ module Google
33568
34118
 
33569
34119
  # Update properties of this object
33570
34120
  def update!(**args)
34121
+ @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation)
33571
34122
  @commitment = args[:commitment] if args.key?(:commitment)
33572
34123
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33573
34124
  @delete_after_duration = args[:delete_after_duration] if args.key?(:delete_after_duration)
@@ -36422,8 +36973,8 @@ module Google
36422
36973
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
36423
36974
  # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
36424
36975
  # following example is a valid match expression for private NAT: "nexthop.hub ==
36425
- # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
36426
- # global/hub/hub-1'"
36976
+ # '//networkconnectivity.googleapis.com/projects/my-project/locations/global/
36977
+ # hubs/hub-1'"
36427
36978
  # Corresponds to the JSON property `match`
36428
36979
  # @return [String]
36429
36980
  attr_accessor :match
@@ -39429,7 +39980,7 @@ module Google
39429
39980
  # affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an
39430
39981
  # ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the
39431
39982
  # reject list. For newly created service attachment, this boolean defaults to
39432
- # true.
39983
+ # false.
39433
39984
  # Corresponds to the JSON property `reconcileConnections`
39434
39985
  # @return [Boolean]
39435
39986
  attr_accessor :reconcile_connections
@@ -46683,6 +47234,59 @@ module Google
46683
47234
  end
46684
47235
  end
46685
47236
 
47237
+ # Upcoming Maintenance notification information.
47238
+ class UpcomingMaintenance
47239
+ include Google::Apis::Core::Hashable
47240
+
47241
+ # Indicates if the maintenance can be customer triggered.
47242
+ # Corresponds to the JSON property `canReschedule`
47243
+ # @return [Boolean]
47244
+ attr_accessor :can_reschedule
47245
+ alias_method :can_reschedule?, :can_reschedule
47246
+
47247
+ # The latest time for the planned maintenance window to start. This timestamp
47248
+ # value is in RFC3339 text format.
47249
+ # Corresponds to the JSON property `latestWindowStartTime`
47250
+ # @return [String]
47251
+ attr_accessor :latest_window_start_time
47252
+
47253
+ #
47254
+ # Corresponds to the JSON property `maintenanceStatus`
47255
+ # @return [String]
47256
+ attr_accessor :maintenance_status
47257
+
47258
+ # Defines the type of maintenance.
47259
+ # Corresponds to the JSON property `type`
47260
+ # @return [String]
47261
+ attr_accessor :type
47262
+
47263
+ # The time by which the maintenance disruption will be completed. This timestamp
47264
+ # value is in RFC3339 text format.
47265
+ # Corresponds to the JSON property `windowEndTime`
47266
+ # @return [String]
47267
+ attr_accessor :window_end_time
47268
+
47269
+ # The current start time of the maintenance window. This timestamp value is in
47270
+ # RFC3339 text format.
47271
+ # Corresponds to the JSON property `windowStartTime`
47272
+ # @return [String]
47273
+ attr_accessor :window_start_time
47274
+
47275
+ def initialize(**args)
47276
+ update!(**args)
47277
+ end
47278
+
47279
+ # Update properties of this object
47280
+ def update!(**args)
47281
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
47282
+ @latest_window_start_time = args[:latest_window_start_time] if args.key?(:latest_window_start_time)
47283
+ @maintenance_status = args[:maintenance_status] if args.key?(:maintenance_status)
47284
+ @type = args[:type] if args.key?(:type)
47285
+ @window_end_time = args[:window_end_time] if args.key?(:window_end_time)
47286
+ @window_start_time = args[:window_start_time] if args.key?(:window_start_time)
47287
+ end
47288
+ end
47289
+
46686
47290
  # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
46687
47291
  # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
46688
47292
  # reference/rest/beta/regionUrlMaps) A URL map resource is a component of