google-apis-compute_beta 0.78.0 → 0.80.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
@@ -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