google-apis-compute_beta 0.78.0 → 0.80.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
@@ -2729,7 +2814,7 @@ module Google
2729
2814
  attr_accessor :schedule
2730
2815
 
2731
2816
  # The time zone to use when interpreting the schedule. The value of this field
2732
- # must be a time zone name from the tz database: http://en.wikipedia.org/wiki/
2817
+ # must be a time zone name from the tz database: https://en.wikipedia.org/wiki/
2733
2818
  # Tz_database. This field is assigned a default value of “UTC” if left empty.
2734
2819
  # Corresponds to the JSON property `timeZone`
2735
2820
  # @return [String]
@@ -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
@@ -13548,8 +13775,8 @@ module Google
13548
13775
  # weightedBackendServices, service must not be set. Conversely if service is set,
13549
13776
  # routeAction cannot contain any weightedBackendServices. Only one of
13550
13777
  # urlRedirect, service or routeAction.weightedBackendService must be set. URL
13551
- # maps for Classic external HTTP(S) load balancers only support the urlRewrite
13552
- # action within a route rule's routeAction.
13778
+ # maps for classic Application Load Balancers only support the urlRewrite action
13779
+ # within a route rule's routeAction.
13553
13780
  # Corresponds to the JSON property `routeAction`
13554
13781
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
13555
13782
  attr_accessor :route_action
@@ -15439,6 +15666,13 @@ module Google
15439
15666
  # @return [Fixnum]
15440
15667
  attr_accessor :id
15441
15668
 
15669
+ # Instance flexibility allowing MIG to create VMs from multiple types of
15670
+ # machines. Instance flexibility configuration on MIG overrides instance
15671
+ # template configuration.
15672
+ # Corresponds to the JSON property `instanceFlexibilityPolicy`
15673
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagerInstanceFlexibilityPolicy]
15674
+ attr_accessor :instance_flexibility_policy
15675
+
15442
15676
  # [Output Only] The URL of the Instance Group resource.
15443
15677
  # Corresponds to the JSON property `instanceGroup`
15444
15678
  # @return [String]
@@ -15564,6 +15798,7 @@ module Google
15564
15798
  @failover_action = args[:failover_action] if args.key?(:failover_action)
15565
15799
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
15566
15800
  @id = args[:id] if args.key?(:id)
15801
+ @instance_flexibility_policy = args[:instance_flexibility_policy] if args.key?(:instance_flexibility_policy)
15567
15802
  @instance_group = args[:instance_group] if args.key?(:instance_group)
15568
15803
  @instance_lifecycle_policy = args[:instance_lifecycle_policy] if args.key?(:instance_lifecycle_policy)
15569
15804
  @instance_template = args[:instance_template] if args.key?(:instance_template)
@@ -15873,6 +16108,54 @@ module Google
15873
16108
  end
15874
16109
  end
15875
16110
 
16111
+ #
16112
+ class InstanceGroupManagerInstanceFlexibilityPolicy
16113
+ include Google::Apis::Core::Hashable
16114
+
16115
+ # Named instance selections configuring properties that the group will use when
16116
+ # creating new VMs.
16117
+ # Corresponds to the JSON property `instanceSelectionLists`
16118
+ # @return [Hash<String,Google::Apis::ComputeBeta::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection>]
16119
+ attr_accessor :instance_selection_lists
16120
+
16121
+ def initialize(**args)
16122
+ update!(**args)
16123
+ end
16124
+
16125
+ # Update properties of this object
16126
+ def update!(**args)
16127
+ @instance_selection_lists = args[:instance_selection_lists] if args.key?(:instance_selection_lists)
16128
+ end
16129
+ end
16130
+
16131
+ #
16132
+ class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection
16133
+ include Google::Apis::Core::Hashable
16134
+
16135
+ # Full machine-type names, e.g. "n1-standard-16".
16136
+ # Corresponds to the JSON property `machineTypes`
16137
+ # @return [Array<String>]
16138
+ attr_accessor :machine_types
16139
+
16140
+ # Preference of this instance selection. Lower number means higher preference.
16141
+ # MIG will first try to create a VM based on the machine-type with lowest rank
16142
+ # and fallback to next rank based on availability. Machine types and instance
16143
+ # selections with the same rank have the same preference.
16144
+ # Corresponds to the JSON property `rank`
16145
+ # @return [Fixnum]
16146
+ attr_accessor :rank
16147
+
16148
+ def initialize(**args)
16149
+ update!(**args)
16150
+ end
16151
+
16152
+ # Update properties of this object
16153
+ def update!(**args)
16154
+ @machine_types = args[:machine_types] if args.key?(:machine_types)
16155
+ @rank = args[:rank] if args.key?(:rank)
16156
+ end
16157
+ end
16158
+
15876
16159
  #
15877
16160
  class InstanceGroupManagerInstanceLifecyclePolicy
15878
16161
  include Google::Apis::Core::Hashable
@@ -24959,9 +25242,8 @@ module Google
24959
25242
 
24960
25243
  # Represents a collection of network endpoints. A network endpoint group (NEG)
24961
25244
  # defines how a set of endpoints should be reached, whether they are reachable,
24962
- # and where they are located. For more information about using NEGs, see Setting
24963
- # up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs,
24964
- # or Setting up external HTTP(S) Load Balancing with serverless NEGs.
25245
+ # and where they are located. For more information about using NEGs for
25246
+ # different use cases, see Network endpoint groups overview.
24965
25247
  class NetworkEndpointGroup
24966
25248
  include Google::Apis::Core::Hashable
24967
25249
 
@@ -30066,8 +30348,8 @@ module Google
30066
30348
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
30067
30349
  # must not be set. Conversely if defaultService is set, defaultRouteAction
30068
30350
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
30069
- # defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load
30070
- # balancers only support the urlRewrite action within a path matcher's
30351
+ # defaultUrlRedirect must be set. URL maps for classic Application Load
30352
+ # Balancers only support the urlRewrite action within a path matcher's
30071
30353
  # defaultRouteAction.
30072
30354
  # Corresponds to the JSON property `defaultRouteAction`
30073
30355
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
@@ -30174,9 +30456,8 @@ module Google
30174
30456
  # the request to the selected backend. If routeAction specifies any
30175
30457
  # weightedBackendServices, service must not be set. Conversely if service is set,
30176
30458
  # routeAction cannot contain any weightedBackendServices. Only one of
30177
- # routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S)
30178
- # load balancers only support the urlRewrite action within a path rule's
30179
- # routeAction.
30459
+ # routeAction or urlRedirect must be set. URL maps for classic Application Load
30460
+ # Balancers only support the urlRewrite action within a path rule's routeAction.
30180
30461
  # Corresponds to the JSON property `routeAction`
30181
30462
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
30182
30463
  attr_accessor :route_action
@@ -33342,17 +33623,19 @@ module Google
33342
33623
  # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
33343
33624
  # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
33344
33625
  # certain types of cloud load balancers and Traffic Director: * urlMaps are used
33345
- # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
33346
- # used by internal HTTP(S) load balancers. For a list of supported URL map
33347
- # features by the load balancer type, see the Load balancing features: Routing
33348
- # and traffic management table. For a list of supported URL map features for
33349
- # Traffic Director, see the Traffic Director features: Routing and traffic
33350
- # management table. This resource defines mappings from hostnames and URL paths
33351
- # to either a backend service or a backend bucket. To use the global urlMaps
33352
- # resource, the backend service must have a loadBalancingScheme of either
33353
- # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
33354
- # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
33355
- # information, read URL Map Concepts.
33626
+ # by global external Application Load Balancers, classic Application Load
33627
+ # Balancers, and cross-region internal Application Load Balancers. *
33628
+ # regionUrlMaps are used by internal Application Load Balancers, regional
33629
+ # external Application Load Balancers and regional internal Application Load
33630
+ # Balancers. For a list of supported URL map features by the load balancer type,
33631
+ # see the Load balancing features: Routing and traffic management table. For a
33632
+ # list of supported URL map features for Traffic Director, see the Traffic
33633
+ # Director features: Routing and traffic management table. This resource defines
33634
+ # mappings from hostnames and URL paths to either a backend service or a backend
33635
+ # bucket. To use the global urlMaps resource, the backend service must have a
33636
+ # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
33637
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
33638
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
33356
33639
  # Corresponds to the JSON property `resource`
33357
33640
  # @return [Google::Apis::ComputeBeta::UrlMap]
33358
33641
  attr_accessor :resource
@@ -33399,6 +33682,13 @@ module Google
33399
33682
  class Reservation
33400
33683
  include Google::Apis::Core::Hashable
33401
33684
 
33685
+ # This reservation type is specified by total resource amounts (e.g. total count
33686
+ # of CPUs) and can account for multiple instance SKUs. In other words, one can
33687
+ # create instances of varying shapes against this reservation.
33688
+ # Corresponds to the JSON property `aggregateReservation`
33689
+ # @return [Google::Apis::ComputeBeta::AllocationAggregateReservation]
33690
+ attr_accessor :aggregate_reservation
33691
+
33402
33692
  # [Output Only] Full or partial URL to a parent commitment. This field displays
33403
33693
  # for reservations that are tied to a commitment.
33404
33694
  # Corresponds to the JSON property `commitment`
@@ -33512,6 +33802,7 @@ module Google
33512
33802
 
33513
33803
  # Update properties of this object
33514
33804
  def update!(**args)
33805
+ @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation)
33515
33806
  @commitment = args[:commitment] if args.key?(:commitment)
33516
33807
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33517
33808
  @delete_after_duration = args[:delete_after_duration] if args.key?(:delete_after_duration)
@@ -34377,6 +34668,16 @@ module Google
34377
34668
  # @return [Fixnum]
34378
34669
  attr_accessor :max_distance
34379
34670
 
34671
+ # Specifies the number of slices in a multislice workload.
34672
+ # Corresponds to the JSON property `sliceCount`
34673
+ # @return [Fixnum]
34674
+ attr_accessor :slice_count
34675
+
34676
+ # Specifies the shape of the TPU slice
34677
+ # Corresponds to the JSON property `tpuTopology`
34678
+ # @return [String]
34679
+ attr_accessor :tpu_topology
34680
+
34380
34681
  # Number of VMs in this placement group. Google does not recommend that you use
34381
34682
  # this field unless you use a compact policy and you want your policy to work
34382
34683
  # only if it contains this exact number of VMs.
@@ -34393,6 +34694,8 @@ module Google
34393
34694
  @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
34394
34695
  @collocation = args[:collocation] if args.key?(:collocation)
34395
34696
  @max_distance = args[:max_distance] if args.key?(:max_distance)
34697
+ @slice_count = args[:slice_count] if args.key?(:slice_count)
34698
+ @tpu_topology = args[:tpu_topology] if args.key?(:tpu_topology)
34396
34699
  @vm_count = args[:vm_count] if args.key?(:vm_count)
34397
34700
  end
34398
34701
  end
@@ -35372,9 +35675,11 @@ module Google
35372
35675
  # @return [Fixnum]
35373
35676
  attr_accessor :id
35374
35677
 
35375
- # Router interfaces. Each interface requires either one linked resource, (for
35376
- # example, linkedVpnTunnel), or IP address and IP address range (for example,
35377
- # ipRange), or both.
35678
+ # Router interfaces. To create a BGP peer that uses a router interface, the
35679
+ # interface must have one of the following fields specified: - linkedVpnTunnel -
35680
+ # linkedInterconnectAttachment - subnetwork You can create a router interface
35681
+ # without any of these fields specified. However, you cannot create a BGP peer
35682
+ # that uses that interface.
35378
35683
  # Corresponds to the JSON property `interfaces`
35379
35684
  # @return [Array<Google::Apis::ComputeBeta::RouterInterface>]
35380
35685
  attr_accessor :interfaces
@@ -35901,14 +36206,14 @@ module Google
35901
36206
 
35902
36207
  # URI of the linked Interconnect attachment. It must be in the same region as
35903
36208
  # the router. Each interface can have one linked resource, which can be a VPN
35904
- # tunnel, an Interconnect attachment, or a virtual machine instance.
36209
+ # tunnel, an Interconnect attachment, or a subnetwork.
35905
36210
  # Corresponds to the JSON property `linkedInterconnectAttachment`
35906
36211
  # @return [String]
35907
36212
  attr_accessor :linked_interconnect_attachment
35908
36213
 
35909
36214
  # URI of the linked VPN tunnel, which must be in the same region as the router.
35910
36215
  # Each interface can have one linked resource, which can be a VPN tunnel, an
35911
- # Interconnect attachment, or a virtual machine instance.
36216
+ # Interconnect attachment, or a subnetwork.
35912
36217
  # Corresponds to the JSON property `linkedVpnTunnel`
35913
36218
  # @return [String]
35914
36219
  attr_accessor :linked_vpn_tunnel
@@ -36109,7 +36414,7 @@ module Google
36109
36414
  attr_accessor :key
36110
36415
 
36111
36416
  # Name used to identify the key. Must be unique within a router. Must be
36112
- # referenced by at least one bgpPeer. Must comply with RFC1035.
36417
+ # referenced by exactly one bgpPeer. Must comply with RFC1035.
36113
36418
  # Corresponds to the JSON property `name`
36114
36419
  # @return [String]
36115
36420
  attr_accessor :name
@@ -36352,8 +36657,8 @@ module Google
36352
36657
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
36353
36658
  # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
36354
36659
  # following example is a valid match expression for private NAT: "nexthop.hub ==
36355
- # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
36356
- # global/hub/hub-1'"
36660
+ # '//networkconnectivity.googleapis.com/projects/my-project/locations/global/
36661
+ # hubs/hub-1'"
36357
36662
  # Corresponds to the JSON property `match`
36358
36663
  # @return [String]
36359
36664
  attr_accessor :match
@@ -40867,17 +41172,20 @@ module Google
40867
41172
  end
40868
41173
  end
40869
41174
 
40870
- # Represents an SSL Certificate resource. Google Compute Engine has two SSL
40871
- # Certificate resources: * [Global](/compute/docs/reference/rest/beta/
41175
+ # Represents an SSL certificate resource. Google Compute Engine has two SSL
41176
+ # certificate resources: * [Global](/compute/docs/reference/rest/beta/
40872
41177
  # sslCertificates) * [Regional](/compute/docs/reference/rest/beta/
40873
- # regionSslCertificates) The sslCertificates are used by: - external HTTPS load
40874
- # balancers - SSL proxy load balancers The regionSslCertificates are used by
40875
- # internal HTTPS load balancers. Optionally, certificate file contents that you
40876
- # upload can contain a set of up to five PEM-encoded certificates. The API call
40877
- # creates an object (sslCertificate) that holds this data. You can use SSL keys
40878
- # and certificates to secure connections to a load balancer. For more
40879
- # information, read Creating and using SSL certificates, SSL certificates quotas
40880
- # and limits, and Troubleshooting SSL certificates.
41178
+ # regionSslCertificates) The global SSL certificates (sslCertificates) are used
41179
+ # by: - Global external Application Load Balancers - Classic Application Load
41180
+ # Balancers - Proxy Network Load Balancers (with target SSL proxies) The
41181
+ # regional SSL certificates (regionSslCertificates) are used by: - Regional
41182
+ # external Application Load Balancers - Regional internal Application Load
41183
+ # Balancers Optionally, certificate file contents that you upload can contain a
41184
+ # set of up to five PEM-encoded certificates. The API call creates an object (
41185
+ # sslCertificate) that holds this data. You can use SSL keys and certificates to
41186
+ # secure connections to a load balancer. For more information, read Creating and
41187
+ # using SSL certificates, SSL certificates quotas and limits, and
41188
+ # Troubleshooting SSL certificates.
40881
41189
  class SslCertificate
40882
41190
  include Google::Apis::Core::Hashable
40883
41191
 
@@ -43257,11 +43565,13 @@ module Google
43257
43565
  # HTTP Proxy resources: * [Global](/compute/docs/reference/rest/beta/
43258
43566
  # targetHttpProxies) * [Regional](/compute/docs/reference/rest/beta/
43259
43567
  # regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load
43260
- # balancers. * targetHttpProxies are used by external HTTP load balancers and
43261
- # Traffic Director. * regionTargetHttpProxies are used by internal HTTP load
43262
- # balancers. Forwarding rules reference a target HTTP proxy, and the target
43263
- # proxy then references a URL map. For more information, read Using Target
43264
- # Proxies and Forwarding rule concepts.
43568
+ # balancers. * targetHttpProxies are used by global external Application Load
43569
+ # Balancers, classic Application Load Balancers, cross-region internal
43570
+ # Application Load Balancers, and Traffic Director. * regionTargetHttpProxies
43571
+ # are used by regional internal Application Load Balancers and regional external
43572
+ # Application Load Balancers. Forwarding rules reference a target HTTP proxy,
43573
+ # and the target proxy then references a URL map. For more information, read
43574
+ # Using Target Proxies and Forwarding rule concepts.
43265
43575
  class TargetHttpProxy
43266
43576
  include Google::Apis::Core::Hashable
43267
43577
 
@@ -43304,10 +43614,10 @@ module Google
43304
43614
 
43305
43615
  # Specifies how long to keep a connection open, after completing a response,
43306
43616
  # while there is no matching traffic (in seconds). If an HTTP keep-alive is not
43307
- # specified, a default value (610 seconds) will be used. For Global external
43308
- # HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum
43309
- # allowed value is 1200 seconds. For Global external HTTP(S) load balancer (
43310
- # classic), this option is not available publicly.
43617
+ # specified, a default value (610 seconds) will be used. For global external
43618
+ # Application Load Balancers, the minimum allowed value is 5 seconds and the
43619
+ # maximum allowed value is 1200 seconds. For classic Application Load Balancers,
43620
+ # this option is not supported.
43311
43621
  # Corresponds to the JSON property `httpKeepAliveTimeoutSec`
43312
43622
  # @return [Fixnum]
43313
43623
  attr_accessor :http_keep_alive_timeout_sec
@@ -43783,11 +44093,13 @@ module Google
43783
44093
  # HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/
43784
44094
  # targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/
43785
44095
  # regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS
43786
- # load balancers. * targetHttpsProxies are used by external HTTPS load balancers.
43787
- # * regionTargetHttpsProxies are used by internal HTTPS load balancers.
43788
- # Forwarding rules reference a target HTTPS proxy, and the target proxy then
43789
- # references a URL map. For more information, read Using Target Proxies and
43790
- # Forwarding rule concepts.
44096
+ # load balancers. * targetHttpProxies are used by global external Application
44097
+ # Load Balancers, classic Application Load Balancers, cross-region internal
44098
+ # Application Load Balancers, and Traffic Director. * regionTargetHttpProxies
44099
+ # are used by regional internal Application Load Balancers and regional external
44100
+ # Application Load Balancers. Forwarding rules reference a target HTTPS proxy,
44101
+ # and the target proxy then references a URL map. For more information, read
44102
+ # Using Target Proxies and Forwarding rule concepts.
43791
44103
  class TargetHttpsProxy
43792
44104
  include Google::Apis::Core::Hashable
43793
44105
 
@@ -43860,10 +44172,10 @@ module Google
43860
44172
 
43861
44173
  # Specifies how long to keep a connection open, after completing a response,
43862
44174
  # while there is no matching traffic (in seconds). If an HTTP keep-alive is not
43863
- # specified, a default value (610 seconds) will be used. For Global external
43864
- # HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum
43865
- # allowed value is 1200 seconds. For Global external HTTP(S) load balancer (
43866
- # classic), this option is not available publicly.
44175
+ # specified, a default value (610 seconds) will be used. For global external
44176
+ # Application Load Balancers, the minimum allowed value is 5 seconds and the
44177
+ # maximum allowed value is 1200 seconds. For classic Application Load Balancers,
44178
+ # this option is not supported.
43867
44179
  # Corresponds to the JSON property `httpKeepAliveTimeoutSec`
43868
44180
  # @return [Fixnum]
43869
44181
  attr_accessor :http_keep_alive_timeout_sec
@@ -46610,17 +46922,19 @@ module Google
46610
46922
  # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
46611
46923
  # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
46612
46924
  # certain types of cloud load balancers and Traffic Director: * urlMaps are used
46613
- # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
46614
- # used by internal HTTP(S) load balancers. For a list of supported URL map
46615
- # features by the load balancer type, see the Load balancing features: Routing
46616
- # and traffic management table. For a list of supported URL map features for
46617
- # Traffic Director, see the Traffic Director features: Routing and traffic
46618
- # management table. This resource defines mappings from hostnames and URL paths
46619
- # to either a backend service or a backend bucket. To use the global urlMaps
46620
- # resource, the backend service must have a loadBalancingScheme of either
46621
- # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
46622
- # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
46623
- # information, read URL Map Concepts.
46925
+ # by global external Application Load Balancers, classic Application Load
46926
+ # Balancers, and cross-region internal Application Load Balancers. *
46927
+ # regionUrlMaps are used by internal Application Load Balancers, regional
46928
+ # external Application Load Balancers and regional internal Application Load
46929
+ # Balancers. For a list of supported URL map features by the load balancer type,
46930
+ # see the Load balancing features: Routing and traffic management table. For a
46931
+ # list of supported URL map features for Traffic Director, see the Traffic
46932
+ # Director features: Routing and traffic management table. This resource defines
46933
+ # mappings from hostnames and URL paths to either a backend service or a backend
46934
+ # bucket. To use the global urlMaps resource, the backend service must have a
46935
+ # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
46936
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
46937
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
46624
46938
  class UrlMap
46625
46939
  include Google::Apis::Core::Hashable
46626
46940
 
@@ -46641,8 +46955,8 @@ module Google
46641
46955
  # defaultRouteAction specifies any weightedBackendServices, defaultService must
46642
46956
  # not be set. Conversely if defaultService is set, defaultRouteAction cannot
46643
46957
  # contain any weightedBackendServices. Only one of defaultRouteAction or
46644
- # defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load
46645
- # balancers only support the urlRewrite action within defaultRouteAction.
46958
+ # defaultUrlRedirect must be set. URL maps for classic Application Load
46959
+ # Balancers only support the urlRewrite action within defaultRouteAction.
46646
46960
  # defaultRouteAction has no effect when the URL map is bound to a target gRPC
46647
46961
  # proxy that has the validateForProxyless field set to true.
46648
46962
  # Corresponds to the JSON property `defaultRouteAction`
@@ -47260,16 +47574,16 @@ module Google
47260
47574
  include Google::Apis::Core::Hashable
47261
47575
 
47262
47576
  # Specifies the load balancer type(s) this validation request is for. Use
47263
- # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
47264
- # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
47265
- # Balancer. Other load balancer types are not supported. For more information,
47266
- # refer to Choosing a load balancer. If unspecified, the load balancing scheme
47267
- # will be inferred from the backend service resources this URL map references.
47268
- # If that can not be inferred (for example, this URL map only references backend
47269
- # buckets, or this Url map is for rewrites and redirects only and doesn't
47270
- # reference any backends), EXTERNAL will be used as the default type. If
47271
- # specified, the scheme(s) must not conflict with the load balancing scheme of
47272
- # the backend service resources this Url map references.
47577
+ # EXTERNAL_MANAGED for global external Application Load Balancers and regional
47578
+ # external Application Load Balancers. Use EXTERNAL for classic Application Load
47579
+ # Balancers. Use INTERNAL_MANAGED for internal Application Load Balancers. For
47580
+ # more information, refer to Choosing a load balancer. If unspecified, the load
47581
+ # balancing scheme will be inferred from the backend service resources this URL
47582
+ # map references. If that can not be inferred (for example, this URL map only
47583
+ # references backend buckets, or this Url map is for rewrites and redirects only
47584
+ # and doesn't reference any backends), EXTERNAL will be used as the default type.
47585
+ # If specified, the scheme(s) must not conflict with the load balancing scheme
47586
+ # of the backend service resources this Url map references.
47273
47587
  # Corresponds to the JSON property `loadBalancingSchemes`
47274
47588
  # @return [Array<String>]
47275
47589
  attr_accessor :load_balancing_schemes
@@ -47278,17 +47592,19 @@ module Google
47278
47592
  # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
47279
47593
  # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
47280
47594
  # certain types of cloud load balancers and Traffic Director: * urlMaps are used
47281
- # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
47282
- # used by internal HTTP(S) load balancers. For a list of supported URL map
47283
- # features by the load balancer type, see the Load balancing features: Routing
47284
- # and traffic management table. For a list of supported URL map features for
47285
- # Traffic Director, see the Traffic Director features: Routing and traffic
47286
- # management table. This resource defines mappings from hostnames and URL paths
47287
- # to either a backend service or a backend bucket. To use the global urlMaps
47288
- # resource, the backend service must have a loadBalancingScheme of either
47289
- # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
47290
- # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
47291
- # information, read URL Map Concepts.
47595
+ # by global external Application Load Balancers, classic Application Load
47596
+ # Balancers, and cross-region internal Application Load Balancers. *
47597
+ # regionUrlMaps are used by internal Application Load Balancers, regional
47598
+ # external Application Load Balancers and regional internal Application Load
47599
+ # Balancers. For a list of supported URL map features by the load balancer type,
47600
+ # see the Load balancing features: Routing and traffic management table. For a
47601
+ # list of supported URL map features for Traffic Director, see the Traffic
47602
+ # Director features: Routing and traffic management table. This resource defines
47603
+ # mappings from hostnames and URL paths to either a backend service or a backend
47604
+ # bucket. To use the global urlMaps resource, the backend service must have a
47605
+ # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
47606
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
47607
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
47292
47608
  # Corresponds to the JSON property `resource`
47293
47609
  # @return [Google::Apis::ComputeBeta::UrlMap]
47294
47610
  attr_accessor :resource