google-apis-compute_beta 0.79.0 → 0.81.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1203,6 +1203,91 @@ module Google
1203
1203
  end
1204
1204
  end
1205
1205
 
1206
+ # This reservation type is specified by total resource amounts (e.g. total count
1207
+ # of CPUs) and can account for multiple instance SKUs. In other words, one can
1208
+ # create instances of varying shapes against this reservation.
1209
+ class AllocationAggregateReservation
1210
+ include Google::Apis::Core::Hashable
1211
+
1212
+ # [Output only] List of resources currently in use.
1213
+ # Corresponds to the JSON property `inUseResources`
1214
+ # @return [Array<Google::Apis::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