google-apis-compute_alpha 0.106.0 → 0.108.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -578,8 +578,7 @@ module Google
578
578
  # @return [String]
579
579
  attr_accessor :public_ptr_domain_name
580
580
 
581
- # [Output Only] The resource URL for the security policy associated with this
582
- # access config.
581
+ # The resource URL for the security policy associated with this access config.
583
582
  # Corresponds to the JSON property `securityPolicy`
584
583
  # @return [String]
585
584
  attr_accessor :security_policy
@@ -1945,7 +1944,9 @@ module Google
1945
1944
  # disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage
1946
1945
  # or disks.source is required. To create a disk with a snapshot that you created,
1947
1946
  # specify the snapshot name in the following format: global/snapshots/my-backup
1948
- # If the source snapshot is deleted later, this field will not be set.
1947
+ # If the source snapshot is deleted later, this field will not be set. Note: You
1948
+ # cannot create VMs in bulk using a snapshot as the source. Use an image instead
1949
+ # when you create VMs using the bulk insert method.
1949
1950
  # Corresponds to the JSON property `sourceSnapshot`
1950
1951
  # @return [String]
1951
1952
  attr_accessor :source_snapshot
@@ -3304,7 +3305,8 @@ module Google
3304
3305
  # CACHE_ALL_STATIC Automatically cache static content, including common image
3305
3306
  # formats, media (video and audio), and web assets (JavaScript and CSS).
3306
3307
  # Requests and responses that are marked as uncacheable, as well as dynamic
3307
- # content (including HTML), will not be cached.
3308
+ # content (including HTML), will not be cached. If no value is provided for
3309
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
3308
3310
  # Corresponds to the JSON property `cacheMode`
3309
3311
  # @return [String]
3310
3312
  attr_accessor :cache_mode
@@ -4448,7 +4450,8 @@ module Google
4448
4450
  # CACHE_ALL_STATIC Automatically cache static content, including common image
4449
4451
  # formats, media (video and audio), and web assets (JavaScript and CSS).
4450
4452
  # Requests and responses that are marked as uncacheable, as well as dynamic
4451
- # content (including HTML), will not be cached.
4453
+ # content (including HTML), will not be cached. If no value is provided for
4454
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
4452
4455
  # Corresponds to the JSON property `cacheMode`
4453
4456
  # @return [String]
4454
4457
  attr_accessor :cache_mode
@@ -5553,6 +5556,25 @@ module Google
5553
5556
  end
5554
5557
  end
5555
5558
 
5559
+ #
5560
+ class BackendServicesGetEffectiveSecurityPoliciesResponse
5561
+ include Google::Apis::Core::Hashable
5562
+
5563
+ # Effective security policies for the backend service.
5564
+ # Corresponds to the JSON property `securityPolicies`
5565
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicy>]
5566
+ attr_accessor :security_policies
5567
+
5568
+ def initialize(**args)
5569
+ update!(**args)
5570
+ end
5571
+
5572
+ # Update properties of this object
5573
+ def update!(**args)
5574
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
5575
+ end
5576
+ end
5577
+
5556
5578
  #
5557
5579
  class BackendServicesScopedList
5558
5580
  include Google::Apis::Core::Hashable
@@ -6317,6 +6339,11 @@ module Google
6317
6339
  class CacheInvalidationRule
6318
6340
  include Google::Apis::Core::Hashable
6319
6341
 
6342
+ # Not implemented.
6343
+ # Corresponds to the JSON property `cacheTags`
6344
+ # @return [Array<String>]
6345
+ attr_accessor :cache_tags
6346
+
6320
6347
  # If set, this invalidation rule will only apply to requests with a Host header
6321
6348
  # matching host.
6322
6349
  # Corresponds to the JSON property `host`
@@ -6334,6 +6361,7 @@ module Google
6334
6361
 
6335
6362
  # Update properties of this object
6336
6363
  def update!(**args)
6364
+ @cache_tags = args[:cache_tags] if args.key?(:cache_tags)
6337
6365
  @host = args[:host] if args.key?(:host)
6338
6366
  @path = args[:path] if args.key?(:path)
6339
6367
  end
@@ -6408,6 +6436,74 @@ module Google
6408
6436
  end
6409
6437
  end
6410
6438
 
6439
+ # A request to recommend the best way to consume the specified resources in the
6440
+ # future.
6441
+ class CalendarModeAdviceRequest
6442
+ include Google::Apis::Core::Hashable
6443
+
6444
+ # Specification of resources to create in the future. The key of the map is an
6445
+ # arbitrary string specified by the caller. Value of the map is a specification
6446
+ # of required resources and their constraints. Currently only one value is
6447
+ # allowed in this map.
6448
+ # Corresponds to the JSON property `futureResourcesSpecs`
6449
+ # @return [Hash<String,Google::Apis::ComputeAlpha::FutureResourcesSpec>]
6450
+ attr_accessor :future_resources_specs
6451
+
6452
+ def initialize(**args)
6453
+ update!(**args)
6454
+ end
6455
+
6456
+ # Update properties of this object
6457
+ def update!(**args)
6458
+ @future_resources_specs = args[:future_resources_specs] if args.key?(:future_resources_specs)
6459
+ end
6460
+ end
6461
+
6462
+ # A response containing the recommended way of creating the specified resources
6463
+ # in the future. It contains (will contain) multiple recommendations that can be
6464
+ # analyzed by the customer and the best one can be picked.
6465
+ class CalendarModeAdviceResponse
6466
+ include Google::Apis::Core::Hashable
6467
+
6468
+ # Recommendations where, how and when to create the requested resources in order
6469
+ # to maximize their obtainability and minimize cost.
6470
+ # Corresponds to the JSON property `recommendations`
6471
+ # @return [Array<Google::Apis::ComputeAlpha::CalendarModeRecommendation>]
6472
+ attr_accessor :recommendations
6473
+
6474
+ def initialize(**args)
6475
+ update!(**args)
6476
+ end
6477
+
6478
+ # Update properties of this object
6479
+ def update!(**args)
6480
+ @recommendations = args[:recommendations] if args.key?(:recommendations)
6481
+ end
6482
+ end
6483
+
6484
+ # A single recommendation to create requested resources. Contains detailed
6485
+ # recommendations for every future resources specification specified in
6486
+ # CalendarModeAdviceRequest.
6487
+ class CalendarModeRecommendation
6488
+ include Google::Apis::Core::Hashable
6489
+
6490
+ # Recommendations for every future resource specification passed in
6491
+ # CalendarModeAdviceRequest. Keys of the map correspond to keys specified in the
6492
+ # request.
6493
+ # Corresponds to the JSON property `recommendationsPerSpec`
6494
+ # @return [Hash<String,Google::Apis::ComputeAlpha::FutureResourcesRecommendation>]
6495
+ attr_accessor :recommendations_per_spec
6496
+
6497
+ def initialize(**args)
6498
+ update!(**args)
6499
+ end
6500
+
6501
+ # Update properties of this object
6502
+ def update!(**args)
6503
+ @recommendations_per_spec = args[:recommendations_per_spec] if args.key?(:recommendations_per_spec)
6504
+ end
6505
+ end
6506
+
6411
6507
  # [Deprecated] gRPC call credentials to access the SDS server. gRPC call
6412
6508
  # credentials to access the SDS server.
6413
6509
  class CallCredentials
@@ -8702,10 +8798,10 @@ module Google
8702
8798
  # replication after starting the replication. -
8703
8799
  # ASYNC_REPLICATION_STATE_REPLICATING_HEALTHY: The primary disk is healthily
8704
8800
  # replicating to the secondary device i.e. last_replication_time is within RPO. -
8705
- # ASYNC_REPLICATION_STATE_REPLICATING_BEHIND: The replication is lagging above
8706
- # the SLO limit due to some internal issue. -
8707
- # ASYNC_REPLICATION_STATE_REPLICATING_UNHEALTHY: The replication is lagging, and
8708
- # the RPO is not being met due to some internal issue. . -
8801
+ # ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_HIGH_CHURN: The replication is
8802
+ # lagging above the SLO limit due to some internal issue. -
8803
+ # ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_SYSTEM_LAGGING: The replication is
8804
+ # lagging, and the RPO is not being met due to some internal issue. -
8709
8805
  # ASYNC_REPLICATION_STATE_REPLICATION_STUCK: The replication is completely stuck
8710
8806
  # due to some internal error. - ASYNC_REPLICATION_STATE_STOPPING: The
8711
8807
  # replication is under the process of being stopped. This is a transient state. -
@@ -9661,12 +9757,12 @@ module Google
9661
9757
  # @return [String]
9662
9758
  attr_accessor :domain
9663
9759
 
9664
- # Additional structured details about this error. Keys must match /a-z+/ but
9665
- # should ideally be lowerCamelCase. Also they must be limited to 64 characters
9666
- # in length. When identifying the current value of an exceeded limit, the units
9667
- # should be contained in the key, not the value. For example, rather than `"
9668
- # instanceLimit": "100/request"`, should be returned as, `"
9669
- # instanceLimitPerRequest": "100"`, if the client exceeds the number of
9760
+ # Additional structured details about this error. Keys must match a regular
9761
+ # expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be
9762
+ # limited to 64 characters in length. When identifying the current value of an
9763
+ # exceeded limit, the units should be contained in the key, not the value. For
9764
+ # example, rather than ``"instanceLimit": "100/request"``, should be returned as,
9765
+ # ``"instanceLimitPerRequest": "100"``, if the client exceeds the number of
9670
9766
  # instances that can be created in a single (batch) request.
9671
9767
  # Corresponds to the JSON property `metadatas`
9672
9768
  # @return [Hash<String,String>]
@@ -10641,6 +10737,97 @@ module Google
10641
10737
  end
10642
10738
  end
10643
10739
 
10740
+ #
10741
+ class FirewallPoliciesScopedList
10742
+ include Google::Apis::Core::Hashable
10743
+
10744
+ # A list of firewall policies contained in this scope.
10745
+ # Corresponds to the JSON property `firewallPolicies`
10746
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicy>]
10747
+ attr_accessor :firewall_policies
10748
+
10749
+ # Informational warning which replaces the list of firewall policies when the
10750
+ # list is empty.
10751
+ # Corresponds to the JSON property `warning`
10752
+ # @return [Google::Apis::ComputeAlpha::FirewallPoliciesScopedList::Warning]
10753
+ attr_accessor :warning
10754
+
10755
+ def initialize(**args)
10756
+ update!(**args)
10757
+ end
10758
+
10759
+ # Update properties of this object
10760
+ def update!(**args)
10761
+ @firewall_policies = args[:firewall_policies] if args.key?(:firewall_policies)
10762
+ @warning = args[:warning] if args.key?(:warning)
10763
+ end
10764
+
10765
+ # Informational warning which replaces the list of firewall policies when the
10766
+ # list is empty.
10767
+ class Warning
10768
+ include Google::Apis::Core::Hashable
10769
+
10770
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10771
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10772
+ # Corresponds to the JSON property `code`
10773
+ # @return [String]
10774
+ attr_accessor :code
10775
+
10776
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10777
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10778
+ # Corresponds to the JSON property `data`
10779
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPoliciesScopedList::Warning::Datum>]
10780
+ attr_accessor :data
10781
+
10782
+ # [Output Only] A human-readable description of the warning code.
10783
+ # Corresponds to the JSON property `message`
10784
+ # @return [String]
10785
+ attr_accessor :message
10786
+
10787
+ def initialize(**args)
10788
+ update!(**args)
10789
+ end
10790
+
10791
+ # Update properties of this object
10792
+ def update!(**args)
10793
+ @code = args[:code] if args.key?(:code)
10794
+ @data = args[:data] if args.key?(:data)
10795
+ @message = args[:message] if args.key?(:message)
10796
+ end
10797
+
10798
+ #
10799
+ class Datum
10800
+ include Google::Apis::Core::Hashable
10801
+
10802
+ # [Output Only] A key that provides more detail on the warning being returned.
10803
+ # For example, for warnings where there are no results in a list request for a
10804
+ # particular zone, this key might be scope and the key value might be the zone
10805
+ # name. Other examples might be a key indicating a deprecated resource and a
10806
+ # suggested replacement, or a warning about invalid network settings (for
10807
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10808
+ # for IP forwarding).
10809
+ # Corresponds to the JSON property `key`
10810
+ # @return [String]
10811
+ attr_accessor :key
10812
+
10813
+ # [Output Only] A warning data value corresponding to the key.
10814
+ # Corresponds to the JSON property `value`
10815
+ # @return [String]
10816
+ attr_accessor :value
10817
+
10818
+ def initialize(**args)
10819
+ update!(**args)
10820
+ end
10821
+
10822
+ # Update properties of this object
10823
+ def update!(**args)
10824
+ @key = args[:key] if args.key?(:key)
10825
+ @value = args[:value] if args.key?(:value)
10826
+ end
10827
+ end
10828
+ end
10829
+ end
10830
+
10644
10831
  # Represents a Firewall Policy resource.
10645
10832
  class FirewallPolicy
10646
10833
  include Google::Apis::Core::Hashable
@@ -11314,6 +11501,58 @@ module Google
11314
11501
  end
11315
11502
  end
11316
11503
 
11504
+ # A flexible specification of a time range that has 3 points of flexibility: (1)
11505
+ # a flexible start time, (2) a flexible end time, (3) a flexible duration. It is
11506
+ # possible to specify a contradictory time range that cannot be matched by any
11507
+ # Interval. This causes a validation error.
11508
+ class FlexibleTimeRange
11509
+ include Google::Apis::Core::Hashable
11510
+
11511
+ #
11512
+ # Corresponds to the JSON property `endTimeNotEarlierThan`
11513
+ # @return [String]
11514
+ attr_accessor :end_time_not_earlier_than
11515
+
11516
+ #
11517
+ # Corresponds to the JSON property `endTimeNotLaterThan`
11518
+ # @return [String]
11519
+ attr_accessor :end_time_not_later_than
11520
+
11521
+ #
11522
+ # Corresponds to the JSON property `maxDuration`
11523
+ # @return [String]
11524
+ attr_accessor :max_duration
11525
+
11526
+ #
11527
+ # Corresponds to the JSON property `minDuration`
11528
+ # @return [String]
11529
+ attr_accessor :min_duration
11530
+
11531
+ #
11532
+ # Corresponds to the JSON property `startTimeNotEarlierThan`
11533
+ # @return [String]
11534
+ attr_accessor :start_time_not_earlier_than
11535
+
11536
+ #
11537
+ # Corresponds to the JSON property `startTimeNotLaterThan`
11538
+ # @return [String]
11539
+ attr_accessor :start_time_not_later_than
11540
+
11541
+ def initialize(**args)
11542
+ update!(**args)
11543
+ end
11544
+
11545
+ # Update properties of this object
11546
+ def update!(**args)
11547
+ @end_time_not_earlier_than = args[:end_time_not_earlier_than] if args.key?(:end_time_not_earlier_than)
11548
+ @end_time_not_later_than = args[:end_time_not_later_than] if args.key?(:end_time_not_later_than)
11549
+ @max_duration = args[:max_duration] if args.key?(:max_duration)
11550
+ @min_duration = args[:min_duration] if args.key?(:min_duration)
11551
+ @start_time_not_earlier_than = args[:start_time_not_earlier_than] if args.key?(:start_time_not_earlier_than)
11552
+ @start_time_not_later_than = args[:start_time_not_later_than] if args.key?(:start_time_not_later_than)
11553
+ end
11554
+ end
11555
+
11317
11556
  # Represents a Forwarding Rule resource. Forwarding rule resources in Google
11318
11557
  # Cloud can be either regional or global in scope: * [Global](https://cloud.
11319
11558
  # google.com/compute/docs/reference/rest/alpha/globalForwardingRules) * [
@@ -12157,6 +12396,13 @@ module Google
12157
12396
  class FutureReservation
12158
12397
  include Google::Apis::Core::Hashable
12159
12398
 
12399
+ # This reservation type is specified by total resource amounts (e.g. total count
12400
+ # of CPUs) and can account for multiple instance SKUs. In other words, one can
12401
+ # create instances of varying shapes against this reservation.
12402
+ # Corresponds to the JSON property `aggregateReservation`
12403
+ # @return [Google::Apis::ComputeAlpha::AllocationAggregateReservation]
12404
+ attr_accessor :aggregate_reservation
12405
+
12160
12406
  # Future timestamp when the FR auto-created reservations will be deleted by
12161
12407
  # Compute Engine. Format of this field must be a valid href="https://www.ietf.
12162
12408
  # org/rfc/rfc3339.txt">RFC3339 value.
@@ -12206,25 +12452,12 @@ module Google
12206
12452
  # @return [String]
12207
12453
  attr_accessor :description
12208
12454
 
12209
- # Indicates if this group of VMs have opportunistic maintenance enabled. This
12210
- # will be set on the FR by customers, and will be used for reservation and
12211
- # reservation block maintenance .
12212
- # Corresponds to the JSON property `enableOpportunisticMaintenance`
12213
- # @return [Boolean]
12214
- attr_accessor :enable_opportunistic_maintenance
12215
- alias_method :enable_opportunistic_maintenance?, :enable_opportunistic_maintenance
12216
-
12217
12455
  # [Output Only] A unique identifier for this future reservation. The server
12218
12456
  # defines this identifier.
12219
12457
  # Corresponds to the JSON property `id`
12220
12458
  # @return [Fixnum]
12221
12459
  attr_accessor :id
12222
12460
 
12223
- # Action to take during reservation termination.
12224
- # Corresponds to the JSON property `instanceTerminationAction`
12225
- # @return [String]
12226
- attr_accessor :instance_termination_action
12227
-
12228
12461
  # [Output Only] Type of the resource. Always compute#futureReservation for
12229
12462
  # future reservations.
12230
12463
  # Corresponds to the JSON property `kind`
@@ -12254,6 +12487,12 @@ module Google
12254
12487
  # @return [String]
12255
12488
  attr_accessor :planning_status
12256
12489
 
12490
+ # The reservation mode which determines reservation-termination behavior and
12491
+ # expected pricing.
12492
+ # Corresponds to the JSON property `reservationMode`
12493
+ # @return [String]
12494
+ attr_accessor :reservation_mode
12495
+
12257
12496
  # Name of reservations where the capacity is provisioned at the time of delivery
12258
12497
  # of future reservations. If the reservation with the given name does not exist
12259
12498
  # already, it is created automatically at the time of Approval with INACTIVE
@@ -12318,6 +12557,7 @@ module Google
12318
12557
 
12319
12558
  # Update properties of this object
12320
12559
  def update!(**args)
12560
+ @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation)
12321
12561
  @auto_created_reservations_delete_time = args[:auto_created_reservations_delete_time] if args.key?(:auto_created_reservations_delete_time)
12322
12562
  @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
12323
12563
  @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
@@ -12325,13 +12565,12 @@ module Google
12325
12565
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
12326
12566
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
12327
12567
  @description = args[:description] if args.key?(:description)
12328
- @enable_opportunistic_maintenance = args[:enable_opportunistic_maintenance] if args.key?(:enable_opportunistic_maintenance)
12329
12568
  @id = args[:id] if args.key?(:id)
12330
- @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
12331
12569
  @kind = args[:kind] if args.key?(:kind)
12332
12570
  @name = args[:name] if args.key?(:name)
12333
12571
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
12334
12572
  @planning_status = args[:planning_status] if args.key?(:planning_status)
12573
+ @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
12335
12574
  @reservation_name = args[:reservation_name] if args.key?(:reservation_name)
12336
12575
  @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
12337
12576
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -12349,8 +12588,7 @@ module Google
12349
12588
  class FutureReservationCommitmentInfo
12350
12589
  include Google::Apis::Core::Hashable
12351
12590
 
12352
- # name of the commitment where capacity is being delivered to. In the form of "
12353
- # projects/`project-id`/locations/`region-name`/commitment/`name`"
12591
+ # name of the commitment where capacity is being delivered to.
12354
12592
  # Corresponds to the JSON property `commitmentName`
12355
12593
  # @return [String]
12356
12594
  attr_accessor :commitment_name
@@ -13001,6 +13239,286 @@ module Google
13001
13239
  end
13002
13240
  end
13003
13241
 
13242
+ # Recommendation for single resources specification, to be created in the future.
13243
+ class FutureResourcesRecommendation
13244
+ include Google::Apis::Core::Hashable
13245
+
13246
+ #
13247
+ # Corresponds to the JSON property `endTime`
13248
+ # @return [String]
13249
+ attr_accessor :end_time
13250
+
13251
+ # The advised location for resource usage. When a zone, in format 'zones/'. If
13252
+ # not set, it means that no location is recommended - see other_locations for
13253
+ # details.
13254
+ # Corresponds to the JSON property `location`
13255
+ # @return [String]
13256
+ attr_accessor :location
13257
+
13258
+ # List of locations in the request scope that were not recommended. Keys of the
13259
+ # map are zones, in format 'zones/'. The values are status information
13260
+ # indicating the recommendation status.
13261
+ # Corresponds to the JSON property `otherLocations`
13262
+ # @return [Hash<String,Google::Apis::ComputeAlpha::FutureResourcesRecommendationOtherLocation>]
13263
+ attr_accessor :other_locations
13264
+
13265
+ # Unique id of the recommendation, a UUID string generated by the API.
13266
+ # Corresponds to the JSON property `recommendationId`
13267
+ # @return [String]
13268
+ attr_accessor :recommendation_id
13269
+
13270
+ # Type of recommendation. Currently only FUTURE_RESERVATION is supported.
13271
+ # Corresponds to the JSON property `recommendationType`
13272
+ # @return [String]
13273
+ attr_accessor :recommendation_type
13274
+
13275
+ #
13276
+ # Corresponds to the JSON property `startTime`
13277
+ # @return [String]
13278
+ attr_accessor :start_time
13279
+
13280
+ def initialize(**args)
13281
+ update!(**args)
13282
+ end
13283
+
13284
+ # Update properties of this object
13285
+ def update!(**args)
13286
+ @end_time = args[:end_time] if args.key?(:end_time)
13287
+ @location = args[:location] if args.key?(:location)
13288
+ @other_locations = args[:other_locations] if args.key?(:other_locations)
13289
+ @recommendation_id = args[:recommendation_id] if args.key?(:recommendation_id)
13290
+ @recommendation_type = args[:recommendation_type] if args.key?(:recommendation_type)
13291
+ @start_time = args[:start_time] if args.key?(:start_time)
13292
+ end
13293
+ end
13294
+
13295
+ # Information about recommendation status for locations that were allowed but
13296
+ # not used by the response.
13297
+ class FutureResourcesRecommendationOtherLocation
13298
+ include Google::Apis::Core::Hashable
13299
+
13300
+ # Details (human readable) describing the situation. For example, if status is
13301
+ # CONDITION_NOT_MET, then details contain information about the parameters of
13302
+ # the time window that did not meet the required conditions.
13303
+ # Corresponds to the JSON property `details`
13304
+ # @return [String]
13305
+ attr_accessor :details
13306
+
13307
+ # Status of recommendation in this location.
13308
+ # Corresponds to the JSON property `status`
13309
+ # @return [String]
13310
+ attr_accessor :status
13311
+
13312
+ def initialize(**args)
13313
+ update!(**args)
13314
+ end
13315
+
13316
+ # Update properties of this object
13317
+ def update!(**args)
13318
+ @details = args[:details] if args.key?(:details)
13319
+ @status = args[:status] if args.key?(:status)
13320
+ end
13321
+ end
13322
+
13323
+ # Specification of resources to be created at some time in the future within an
13324
+ # optionally specified set of locations, and within the specified time range.
13325
+ class FutureResourcesSpec
13326
+ include Google::Apis::Core::Hashable
13327
+
13328
+ # Indicates if the reservation allocation strategy is static (DENSE) or dynamic (
13329
+ # STANDARD). Defaults to DENSE.
13330
+ # Corresponds to the JSON property `deploymentType`
13331
+ # @return [String]
13332
+ attr_accessor :deployment_type
13333
+
13334
+ # Specification of locations to create resources in.
13335
+ # Corresponds to the JSON property `locationPolicy`
13336
+ # @return [Google::Apis::ComputeAlpha::FutureResourcesSpecLocationPolicy]
13337
+ attr_accessor :location_policy
13338
+
13339
+ # Specification of reserved resources.
13340
+ # Corresponds to the JSON property `targetResources`
13341
+ # @return [Google::Apis::ComputeAlpha::FutureResourcesSpecTargetResources]
13342
+ attr_accessor :target_resources
13343
+
13344
+ # A flexible specification of a time range that has 3 points of flexibility: (1)
13345
+ # a flexible start time, (2) a flexible end time, (3) a flexible duration. It is
13346
+ # possible to specify a contradictory time range that cannot be matched by any
13347
+ # Interval. This causes a validation error.
13348
+ # Corresponds to the JSON property `timeRangeSpec`
13349
+ # @return [Google::Apis::ComputeAlpha::FlexibleTimeRange]
13350
+ attr_accessor :time_range_spec
13351
+
13352
+ def initialize(**args)
13353
+ update!(**args)
13354
+ end
13355
+
13356
+ # Update properties of this object
13357
+ def update!(**args)
13358
+ @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
13359
+ @location_policy = args[:location_policy] if args.key?(:location_policy)
13360
+ @target_resources = args[:target_resources] if args.key?(:target_resources)
13361
+ @time_range_spec = args[:time_range_spec] if args.key?(:time_range_spec)
13362
+ end
13363
+ end
13364
+
13365
+ #
13366
+ class FutureResourcesSpecAggregateResources
13367
+ include Google::Apis::Core::Hashable
13368
+
13369
+ # Size of the request, in accelerator (chip) count.
13370
+ # Corresponds to the JSON property `acceleratorCount`
13371
+ # @return [Fixnum]
13372
+ attr_accessor :accelerator_count
13373
+
13374
+ # The VM family that all instances scheduled against this reservation must
13375
+ # belong to. Use for TPU reservations.
13376
+ # Corresponds to the JSON property `vmFamily`
13377
+ # @return [String]
13378
+ attr_accessor :vm_family
13379
+
13380
+ # Workload type. Use for TPU reservations.
13381
+ # Corresponds to the JSON property `workloadType`
13382
+ # @return [String]
13383
+ attr_accessor :workload_type
13384
+
13385
+ def initialize(**args)
13386
+ update!(**args)
13387
+ end
13388
+
13389
+ # Update properties of this object
13390
+ def update!(**args)
13391
+ @accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count)
13392
+ @vm_family = args[:vm_family] if args.key?(:vm_family)
13393
+ @workload_type = args[:workload_type] if args.key?(:workload_type)
13394
+ end
13395
+ end
13396
+
13397
+ #
13398
+ class FutureResourcesSpecLocalSsdPartition
13399
+ include Google::Apis::Core::Hashable
13400
+
13401
+ # Disk interface. Defaults to SCSI.
13402
+ # Corresponds to the JSON property `diskInterface`
13403
+ # @return [String]
13404
+ attr_accessor :disk_interface
13405
+
13406
+ # The size of the disk in GB.
13407
+ # Corresponds to the JSON property `diskSizeGb`
13408
+ # @return [Fixnum]
13409
+ attr_accessor :disk_size_gb
13410
+
13411
+ def initialize(**args)
13412
+ update!(**args)
13413
+ end
13414
+
13415
+ # Update properties of this object
13416
+ def update!(**args)
13417
+ @disk_interface = args[:disk_interface] if args.key?(:disk_interface)
13418
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
13419
+ end
13420
+ end
13421
+
13422
+ # Specification of locations to create resources in.
13423
+ class FutureResourcesSpecLocationPolicy
13424
+ include Google::Apis::Core::Hashable
13425
+
13426
+ # Preferences for specified locations. Keys of the map are locations - zones, in
13427
+ # format of 'zones/'. Values are preferences for the zones. If a zone is not
13428
+ # specified in this map, it is ALLOWed.
13429
+ # Corresponds to the JSON property `locations`
13430
+ # @return [Hash<String,Google::Apis::ComputeAlpha::FutureResourcesSpecLocationPolicyLocation>]
13431
+ attr_accessor :locations
13432
+
13433
+ def initialize(**args)
13434
+ update!(**args)
13435
+ end
13436
+
13437
+ # Update properties of this object
13438
+ def update!(**args)
13439
+ @locations = args[:locations] if args.key?(:locations)
13440
+ end
13441
+ end
13442
+
13443
+ # Preference for a single specified location.
13444
+ class FutureResourcesSpecLocationPolicyLocation
13445
+ include Google::Apis::Core::Hashable
13446
+
13447
+ # Preference for this location.
13448
+ # Corresponds to the JSON property `preference`
13449
+ # @return [String]
13450
+ attr_accessor :preference
13451
+
13452
+ def initialize(**args)
13453
+ update!(**args)
13454
+ end
13455
+
13456
+ # Update properties of this object
13457
+ def update!(**args)
13458
+ @preference = args[:preference] if args.key?(:preference)
13459
+ end
13460
+ end
13461
+
13462
+ #
13463
+ class FutureResourcesSpecSpecificSkuResources
13464
+ include Google::Apis::Core::Hashable
13465
+
13466
+ # Size of the request, in instance count.
13467
+ # Corresponds to the JSON property `instanceCount`
13468
+ # @return [Fixnum]
13469
+ attr_accessor :instance_count
13470
+
13471
+ # Local SSD partitions. You do not have to include SSD partitions that are built
13472
+ # in the machine type.
13473
+ # Corresponds to the JSON property `localSsdPartitions`
13474
+ # @return [Array<Google::Apis::ComputeAlpha::FutureResourcesSpecLocalSsdPartition>]
13475
+ attr_accessor :local_ssd_partitions
13476
+
13477
+ # The machine type to use for instances that will use the reservation. This
13478
+ # field only accepts machine type names. e.g. n2-standard-4 and does not accept
13479
+ # machine type full or partial url. e.g. projects/my-l7ilb-project/zones/us-
13480
+ # central1-a/machineTypes/n2-standard-4. Use for GPU reservations.
13481
+ # Corresponds to the JSON property `machineType`
13482
+ # @return [String]
13483
+ attr_accessor :machine_type
13484
+
13485
+ def initialize(**args)
13486
+ update!(**args)
13487
+ end
13488
+
13489
+ # Update properties of this object
13490
+ def update!(**args)
13491
+ @instance_count = args[:instance_count] if args.key?(:instance_count)
13492
+ @local_ssd_partitions = args[:local_ssd_partitions] if args.key?(:local_ssd_partitions)
13493
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
13494
+ end
13495
+ end
13496
+
13497
+ # Specification of reserved resources.
13498
+ class FutureResourcesSpecTargetResources
13499
+ include Google::Apis::Core::Hashable
13500
+
13501
+ #
13502
+ # Corresponds to the JSON property `aggregateResources`
13503
+ # @return [Google::Apis::ComputeAlpha::FutureResourcesSpecAggregateResources]
13504
+ attr_accessor :aggregate_resources
13505
+
13506
+ #
13507
+ # Corresponds to the JSON property `specificSkuResources`
13508
+ # @return [Google::Apis::ComputeAlpha::FutureResourcesSpecSpecificSkuResources]
13509
+ attr_accessor :specific_sku_resources
13510
+
13511
+ def initialize(**args)
13512
+ update!(**args)
13513
+ end
13514
+
13515
+ # Update properties of this object
13516
+ def update!(**args)
13517
+ @aggregate_resources = args[:aggregate_resources] if args.key?(:aggregate_resources)
13518
+ @specific_sku_resources = args[:specific_sku_resources] if args.key?(:specific_sku_resources)
13519
+ end
13520
+ end
13521
+
13004
13522
  #
13005
13523
  class GrpcHealthCheck
13006
13524
  include Google::Apis::Core::Hashable
@@ -13383,13 +13901,6 @@ module Google
13383
13901
  class GroupMaintenanceInfo
13384
13902
  include Google::Apis::Core::Hashable
13385
13903
 
13386
- # This setting enables or disables opportunistic maintenance. If enabled,
13387
- # maintenance is performed on unused reservations whenever possible.
13388
- # Corresponds to the JSON property `enableOpportunisticMaintenance`
13389
- # @return [Boolean]
13390
- attr_accessor :enable_opportunistic_maintenance
13391
- alias_method :enable_opportunistic_maintenance?, :enable_opportunistic_maintenance
13392
-
13393
13904
  # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
13394
13905
  # of hosts in the block that have ongoing maintenance.
13395
13906
  # Corresponds to the JSON property `maintenanceOngoingCount`
@@ -13418,7 +13929,6 @@ module Google
13418
13929
 
13419
13930
  # Update properties of this object
13420
13931
  def update!(**args)
13421
- @enable_opportunistic_maintenance = args[:enable_opportunistic_maintenance] if args.key?(:enable_opportunistic_maintenance)
13422
13932
  @maintenance_ongoing_count = args[:maintenance_ongoing_count] if args.key?(:maintenance_ongoing_count)
13423
13933
  @maintenance_pending_count = args[:maintenance_pending_count] if args.key?(:maintenance_pending_count)
13424
13934
  @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
@@ -15995,12 +16505,10 @@ module Google
15995
16505
 
15996
16506
  # In response to a matching matchRule, the load balancer performs advanced
15997
16507
  # routing actions, such as URL rewrites and header transformations, before
15998
- # forwarding the request to the selected backend. If routeAction specifies any
15999
- # weightedBackendServices, service must not be set. Conversely if service is set,
16000
- # routeAction cannot contain any weightedBackendServices. Only one of
16001
- # urlRedirect, service or routeAction.weightedBackendService must be set. URL
16002
- # maps for classic Application Load Balancers only support the urlRewrite action
16003
- # within a route rule's routeAction.
16508
+ # forwarding the request to the selected backend. Only one of urlRedirect,
16509
+ # service or routeAction.weightedBackendService can be set. URL maps for classic
16510
+ # Application Load Balancers only support the urlRewrite action within a route
16511
+ # rule's routeAction.
16004
16512
  # Corresponds to the JSON property `routeAction`
16005
16513
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
16006
16514
  attr_accessor :route_action
@@ -16008,10 +16516,8 @@ module Google
16008
16516
  # The full or partial URL of the backend service resource to which traffic is
16009
16517
  # directed if this rule is matched. If routeAction is also specified, advanced
16010
16518
  # routing actions, such as URL rewrites, take effect before sending the request
16011
- # to the backend. However, if service is specified, routeAction cannot contain
16012
- # any weightedBackendServices. Conversely, if routeAction specifies any
16013
- # weightedBackendServices, service must not be specified. Only one of
16014
- # urlRedirect, service or routeAction.weightedBackendService must be set.
16519
+ # to the backend. Only one of urlRedirect, service or routeAction.
16520
+ # weightedBackendService can be set.
16015
16521
  # Corresponds to the JSON property `service`
16016
16522
  # @return [String]
16017
16523
  attr_accessor :service
@@ -18631,11 +19137,12 @@ module Google
18631
19137
  class InstanceGroupManagerInstanceLifecyclePolicy
18632
19138
  include Google::Apis::Core::Hashable
18633
19139
 
18634
- # The action that a MIG performs on a failed or an unhealthy VM. A VM is marked
18635
- # as unhealthy when the application running on that VM fails a health check.
18636
- # Valid values are - REPAIR (default): MIG automatically repairs a failed or an
18637
- # unhealthy VM by recreating it. For more information, see About repairing VMs
18638
- # in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM.
19140
+ # The action that a MIG performs on a failed VM. If the value of the
19141
+ # onFailedHealthCheck field is `DEFAULT_ACTION`, then the same action also
19142
+ # applies to the VMs on which your application fails a health check. Valid
19143
+ # values are - REPAIR (default): MIG automatically repairs a failed VM by
19144
+ # recreating it. For more information, see about repairing VMs in a MIG. -
19145
+ # DO_NOTHING: MIG does not repair a failed VM.
18639
19146
  # Corresponds to the JSON property `defaultActionOnFailure`
18640
19147
  # @return [String]
18641
19148
  attr_accessor :default_action_on_failure
@@ -18665,13 +19172,11 @@ module Google
18665
19172
 
18666
19173
  # The action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy
18667
19174
  # when the application running on that VM fails a health check. Valid values are:
18668
- # - DEFAULT_ACTION (default): The MIG performs the same action as specified in
18669
- # the instanceLifecyclePolicy.defaultActionOnFailure field. If the
18670
- # defaultActionOnFailure field is set to REPAIR, then the MIG repairs unhealthy
18671
- # VMs. If the defaultActionOnFailure field is set to DO_NOTHING, then the MIG
18672
- # doesn't repair unhealthy VMs. - REPAIR: The MIG repairs unhealthy VMs by
18673
- # recreating it. - DO_NOTHING: The MIG doesn't repair unhealthy VMs. For more
18674
- # information, see About repairing VMs in a MIG.
19175
+ # - DEFAULT_ACTION (default): MIG uses the same action configured for
19176
+ # instanceLifecyclePolicy.defaultActionOnFailure field. - REPAIR: MIG
19177
+ # automatically repairs an unhealthy VM by recreating it. - DO_NOTHING: MIG
19178
+ # doesn't repair an unhealthy VM. For more information, see about repairing VMs
19179
+ # in a MIG.
18675
19180
  # Corresponds to the JSON property `onFailedHealthCheck`
18676
19181
  # @return [String]
18677
19182
  attr_accessor :on_failed_health_check
@@ -22150,6 +22655,11 @@ module Google
22150
22655
  # @return [String]
22151
22656
  attr_accessor :name
22152
22657
 
22658
+ # [Output Only] The packet mirroring rules that apply to the instance.
22659
+ # Corresponds to the JSON property `packetMirroringRules`
22660
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
22661
+ attr_accessor :packet_mirroring_rules
22662
+
22153
22663
  # [Output only] Priority of firewall policy association. Not applicable for type=
22154
22664
  # HIERARCHY.
22155
22665
  # Corresponds to the JSON property `priority`
@@ -22182,6 +22692,7 @@ module Google
22182
22692
  def update!(**args)
22183
22693
  @display_name = args[:display_name] if args.key?(:display_name)
22184
22694
  @name = args[:name] if args.key?(:name)
22695
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
22185
22696
  @priority = args[:priority] if args.key?(:priority)
22186
22697
  @rules = args[:rules] if args.key?(:rules)
22187
22698
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -23561,6 +24072,13 @@ module Google
23561
24072
  # @return [String]
23562
24073
  attr_accessor :state
23563
24074
 
24075
+ # [Output Only] A list of the URLs of all CrossSiteNetwork WireGroups configured
24076
+ # to use this Interconnect. The Interconnect cannot be deleted if this list is
24077
+ # non-empty.
24078
+ # Corresponds to the JSON property `wireGroups`
24079
+ # @return [Array<String>]
24080
+ attr_accessor :wire_groups
24081
+
23564
24082
  def initialize(**args)
23565
24083
  update!(**args)
23566
24084
  end
@@ -23601,6 +24119,7 @@ module Google
23601
24119
  @self_link = args[:self_link] if args.key?(:self_link)
23602
24120
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
23603
24121
  @state = args[:state] if args.key?(:state)
24122
+ @wire_groups = args[:wire_groups] if args.key?(:wire_groups)
23604
24123
  end
23605
24124
  end
23606
24125
 
@@ -23729,23 +24248,55 @@ module Google
23729
24248
  # BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M:
23730
24249
  # 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s -
23731
24250
  # BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/
23732
- # s
24251
+ # s - BPS_100G: 100 Gbit/s
23733
24252
  # Corresponds to the JSON property `bandwidth`
23734
24253
  # @return [String]
23735
24254
  attr_accessor :bandwidth
23736
24255
 
24256
+ # Single IPv4 address + prefix length to be configured on the cloud router
24257
+ # interface for this interconnect attachment. - Both
24258
+ # candidate_cloud_router_ip_address and candidate_customer_router_ip_address
24259
+ # fields must be set or both must be unset. - Prefix length of both
24260
+ # candidate_cloud_router_ip_address and candidate_customer_router_ip_address
24261
+ # must be the same. - Max prefix length is 31.
24262
+ # Corresponds to the JSON property `candidateCloudRouterIpAddress`
24263
+ # @return [String]
24264
+ attr_accessor :candidate_cloud_router_ip_address
24265
+
24266
+ # Single IPv6 address + prefix length to be configured on the cloud router
24267
+ # interface for this interconnect attachment. - Both
24268
+ # candidate_cloud_router_ipv6_address and candidate_customer_router_ipv6_address
24269
+ # fields must be set or both must be unset. - Prefix length of both
24270
+ # candidate_cloud_router_ipv6_address and candidate_customer_router_ipv6_address
24271
+ # must be the same. - Max prefix length is 126.
24272
+ # Corresponds to the JSON property `candidateCloudRouterIpv6Address`
24273
+ # @return [String]
24274
+ attr_accessor :candidate_cloud_router_ipv6_address
24275
+
24276
+ # Single IPv4 address + prefix length to be configured on the customer router
24277
+ # interface for this interconnect attachment.
24278
+ # Corresponds to the JSON property `candidateCustomerRouterIpAddress`
24279
+ # @return [String]
24280
+ attr_accessor :candidate_customer_router_ip_address
24281
+
24282
+ # Single IPv6 address + prefix length to be configured on the customer router
24283
+ # interface for this interconnect attachment.
24284
+ # Corresponds to the JSON property `candidateCustomerRouterIpv6Address`
24285
+ # @return [String]
24286
+ attr_accessor :candidate_customer_router_ipv6_address
24287
+
23737
24288
  # This field is not available.
23738
24289
  # Corresponds to the JSON property `candidateIpv6Subnets`
23739
24290
  # @return [Array<String>]
23740
24291
  attr_accessor :candidate_ipv6_subnets
23741
24292
 
23742
- # Up to 16 candidate prefixes that can be used to restrict the allocation of
23743
- # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
23744
- # prefixes must be within link-local address space (169.254.0.0/16) and must be /
23745
- # 29 or shorter (/28, /27, etc). Google will attempt to select an unused /29
23746
- # from the supplied candidate prefix(es). The request will fail if all possible /
23747
- # 29s are in use on Google's edge. If not supplied, Google will randomly select
23748
- # an unused /29 from all of link-local space.
24293
+ # Input only. Up to 16 candidate prefixes that can be used to restrict the
24294
+ # allocation of cloudRouterIpAddress and customerRouterIpAddress for this
24295
+ # attachment. All prefixes must be within link-local address space (169.254.0.0/
24296
+ # 16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select
24297
+ # an unused /29 from the supplied candidate prefix(es). The request will fail if
24298
+ # all possible /29s are in use on Google's edge. If not supplied, Google will
24299
+ # randomly select an unused /29 from all of link-local space.
23749
24300
  # Corresponds to the JSON property `candidateSubnets`
23750
24301
  # @return [Array<String>]
23751
24302
  attr_accessor :candidate_subnets
@@ -23807,8 +24358,8 @@ module Google
23807
24358
  # @return [String]
23808
24359
  attr_accessor :description
23809
24360
 
23810
- # Desired availability domain for the attachment. Only available for type
23811
- # PARTNER, at creation time, and can take one of the following values: -
24361
+ # Input only. Desired availability domain for the attachment. Only available for
24362
+ # type PARTNER, at creation time, and can take one of the following values: -
23812
24363
  # AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For
23813
24364
  # improved reliability, customers should configure a pair of attachments, one
23814
24365
  # per availability domain. The selected availability domain will be provided to
@@ -24020,13 +24571,13 @@ module Google
24020
24571
  # @return [String]
24021
24572
  attr_accessor :state
24022
24573
 
24023
- # Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The
24024
- # default value is 29, except for Cross-Cloud Interconnect connections that use
24025
- # an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal
24026
- # to 30. For example, connections that use an Azure remote location fall into
24027
- # this category. In these cases, the default value is 30, and requesting 29
24028
- # returns an error. Where both 29 and 30 are allowed, 29 is preferred, because
24029
- # it gives Google Cloud Support more debugging visibility.
24574
+ # Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) -
24575
+ # 30 The default value is 29, except for Cross-Cloud Interconnect connections
24576
+ # that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.
24577
+ # min equal to 30. For example, connections that use an Azure remote location
24578
+ # fall into this category. In these cases, the default value is 30, and
24579
+ # requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is
24580
+ # preferred, because it gives Google Cloud Support more debugging visibility.
24030
24581
  # Corresponds to the JSON property `subnetLength`
24031
24582
  # @return [Fixnum]
24032
24583
  attr_accessor :subnet_length
@@ -24055,6 +24606,10 @@ module Google
24055
24606
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
24056
24607
  @attachment_group = args[:attachment_group] if args.key?(:attachment_group)
24057
24608
  @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
24609
+ @candidate_cloud_router_ip_address = args[:candidate_cloud_router_ip_address] if args.key?(:candidate_cloud_router_ip_address)
24610
+ @candidate_cloud_router_ipv6_address = args[:candidate_cloud_router_ipv6_address] if args.key?(:candidate_cloud_router_ipv6_address)
24611
+ @candidate_customer_router_ip_address = args[:candidate_customer_router_ip_address] if args.key?(:candidate_customer_router_ip_address)
24612
+ @candidate_customer_router_ipv6_address = args[:candidate_customer_router_ipv6_address] if args.key?(:candidate_customer_router_ipv6_address)
24058
24613
  @candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
24059
24614
  @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
24060
24615
  @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
@@ -24492,6 +25047,13 @@ module Google
24492
25047
  # @return [Array<String>]
24493
25048
  attr_accessor :metros
24494
25049
 
25050
+ # [Output Only] Regions used to explain this blocker in more detail. These are
25051
+ # region names formatted like "us-central1". This will be set for some blockers (
25052
+ # like INCOMPATIBLE_REGIONS) but does not apply to others.
25053
+ # Corresponds to the JSON property `regions`
25054
+ # @return [Array<String>]
25055
+ attr_accessor :regions
25056
+
24495
25057
  # [Output Only] Zones used to explain this blocker in more detail. Format is "
24496
25058
  # zone1" and/or "zone2". This will be set for some blockers (like MISSING_ZONE)
24497
25059
  # but does not apply to others.
@@ -24510,6 +25072,7 @@ module Google
24510
25072
  @documentation_link = args[:documentation_link] if args.key?(:documentation_link)
24511
25073
  @explanation = args[:explanation] if args.key?(:explanation)
24512
25074
  @metros = args[:metros] if args.key?(:metros)
25075
+ @regions = args[:regions] if args.key?(:regions)
24513
25076
  @zones = args[:zones] if args.key?(:zones)
24514
25077
  end
24515
25078
  end
@@ -24658,6 +25221,31 @@ module Google
24658
25221
  end
24659
25222
  end
24660
25223
 
25224
+ # Response for the InterconnectAttachmentGroupsGetOperationalStatusResponse.
25225
+ class InterconnectAttachmentGroupsGetOperationalStatusResponse
25226
+ include Google::Apis::Core::Hashable
25227
+
25228
+ #
25229
+ # Corresponds to the JSON property `etag`
25230
+ # @return [String]
25231
+ attr_accessor :etag
25232
+
25233
+ #
25234
+ # Corresponds to the JSON property `result`
25235
+ # @return [Google::Apis::ComputeAlpha::InterconnectAttachmentGroupsOperationalStatus]
25236
+ attr_accessor :result
25237
+
25238
+ def initialize(**args)
25239
+ update!(**args)
25240
+ end
25241
+
25242
+ # Update properties of this object
25243
+ def update!(**args)
25244
+ @etag = args[:etag] if args.key?(:etag)
25245
+ @result = args[:result] if args.key?(:result)
25246
+ end
25247
+ end
25248
+
24661
25249
  #
24662
25250
  class InterconnectAttachmentGroupsListResponse
24663
25251
  include Google::Apis::Core::Hashable
@@ -24788,6 +25376,25 @@ module Google
24788
25376
  end
24789
25377
  end
24790
25378
 
25379
+ #
25380
+ class InterconnectAttachmentGroupsOperationalStatus
25381
+ include Google::Apis::Core::Hashable
25382
+
25383
+ # Summarizes the status of the group.
25384
+ # Corresponds to the JSON property `groupStatus`
25385
+ # @return [String]
25386
+ attr_accessor :group_status
25387
+
25388
+ def initialize(**args)
25389
+ update!(**args)
25390
+ end
25391
+
25392
+ # Update properties of this object
25393
+ def update!(**args)
25394
+ @group_status = args[:group_status] if args.key?(:group_status)
25395
+ end
25396
+ end
25397
+
24791
25398
  # Response to the list request, and contains a list of interconnect attachments.
24792
25399
  class InterconnectAttachmentList
24793
25400
  include Google::Apis::Core::Hashable
@@ -25671,6 +26278,31 @@ module Google
25671
26278
  end
25672
26279
  end
25673
26280
 
26281
+ # Response for the InterconnectGroupsGetOperationalStatusResponse.
26282
+ class InterconnectGroupsGetOperationalStatusResponse
26283
+ include Google::Apis::Core::Hashable
26284
+
26285
+ #
26286
+ # Corresponds to the JSON property `etag`
26287
+ # @return [String]
26288
+ attr_accessor :etag
26289
+
26290
+ # Request to get the status of the interconnect group with extra detail.
26291
+ # Corresponds to the JSON property `result`
26292
+ # @return [Google::Apis::ComputeAlpha::InterconnectGroupsOperationalStatus]
26293
+ attr_accessor :result
26294
+
26295
+ def initialize(**args)
26296
+ update!(**args)
26297
+ end
26298
+
26299
+ # Update properties of this object
26300
+ def update!(**args)
26301
+ @etag = args[:etag] if args.key?(:etag)
26302
+ @result = args[:result] if args.key?(:result)
26303
+ end
26304
+ end
26305
+
25674
26306
  #
25675
26307
  class InterconnectGroupsListResponse
25676
26308
  include Google::Apis::Core::Hashable
@@ -25801,6 +26433,94 @@ module Google
25801
26433
  end
25802
26434
  end
25803
26435
 
26436
+ # Request to get the status of the interconnect group with extra detail.
26437
+ class InterconnectGroupsOperationalStatus
26438
+ include Google::Apis::Core::Hashable
26439
+
26440
+ # [Output Only] The status of the group as configured. This has the same
26441
+ # structure as the operational field reported by the OperationalStatus method,
26442
+ # but does not take into account the operational status of each resource.
26443
+ # Corresponds to the JSON property `configured`
26444
+ # @return [Google::Apis::ComputeAlpha::InterconnectGroupConfigured]
26445
+ attr_accessor :configured
26446
+
26447
+ # Summarizes the status of the group.
26448
+ # Corresponds to the JSON property `groupStatus`
26449
+ # @return [String]
26450
+ attr_accessor :group_status
26451
+
26452
+ # The user's intent for this group. This is the only required field besides the
26453
+ # name that must be specified on group creation.
26454
+ # Corresponds to the JSON property `intent`
26455
+ # @return [Google::Apis::ComputeAlpha::InterconnectGroupIntent]
26456
+ attr_accessor :intent
26457
+
26458
+ #
26459
+ # Corresponds to the JSON property `interconnectStatuses`
26460
+ # @return [Array<Google::Apis::ComputeAlpha::InterconnectGroupsOperationalStatusInterconnectStatus>]
26461
+ attr_accessor :interconnect_statuses
26462
+
26463
+ # [Output Only] The status of the group as configured. This has the same
26464
+ # structure as the operational field reported by the OperationalStatus method,
26465
+ # but does not take into account the operational status of each resource.
26466
+ # Corresponds to the JSON property `operational`
26467
+ # @return [Google::Apis::ComputeAlpha::InterconnectGroupConfigured]
26468
+ attr_accessor :operational
26469
+
26470
+ def initialize(**args)
26471
+ update!(**args)
26472
+ end
26473
+
26474
+ # Update properties of this object
26475
+ def update!(**args)
26476
+ @configured = args[:configured] if args.key?(:configured)
26477
+ @group_status = args[:group_status] if args.key?(:group_status)
26478
+ @intent = args[:intent] if args.key?(:intent)
26479
+ @interconnect_statuses = args[:interconnect_statuses] if args.key?(:interconnect_statuses)
26480
+ @operational = args[:operational] if args.key?(:operational)
26481
+ end
26482
+ end
26483
+
26484
+ # The status of one Interconnect in the group. The order is arbitrary.
26485
+ class InterconnectGroupsOperationalStatusInterconnectStatus
26486
+ include Google::Apis::Core::Hashable
26487
+
26488
+ # Whether the Interconnect is enabled.
26489
+ # Corresponds to the JSON property `adminEnabled`
26490
+ # @return [Boolean]
26491
+ attr_accessor :admin_enabled
26492
+ alias_method :admin_enabled?, :admin_enabled
26493
+
26494
+ # Diagnostics information about the Interconnect connection, which contains
26495
+ # detailed and current technical information about Google's side of the
26496
+ # connection.
26497
+ # Corresponds to the JSON property `diagnostics`
26498
+ # @return [Google::Apis::ComputeAlpha::InterconnectDiagnostics]
26499
+ attr_accessor :diagnostics
26500
+
26501
+ # The URL of the Interconnect being described.
26502
+ # Corresponds to the JSON property `interconnect`
26503
+ # @return [String]
26504
+ attr_accessor :interconnect
26505
+
26506
+ # Whether this interconnect is participating in the redundant configuration.
26507
+ # Corresponds to the JSON property `isActive`
26508
+ # @return [String]
26509
+ attr_accessor :is_active
26510
+
26511
+ def initialize(**args)
26512
+ update!(**args)
26513
+ end
26514
+
26515
+ # Update properties of this object
26516
+ def update!(**args)
26517
+ @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
26518
+ @diagnostics = args[:diagnostics] if args.key?(:diagnostics)
26519
+ @interconnect = args[:interconnect] if args.key?(:interconnect)
26520
+ @is_active = args[:is_active] if args.key?(:is_active)
26521
+ end
26522
+ end
26523
+
25804
26524
  # Response to the list request, and contains a list of interconnects.
25805
26525
  class InterconnectList
25806
26526
  include Google::Apis::Core::Hashable
@@ -25940,7 +26660,7 @@ module Google
25940
26660
  attr_accessor :availability_zone
25941
26661
 
25942
26662
  # [Output only] List of features available at this InterconnectLocation, which
25943
- # can take one of the following values: - MACSEC
26663
+ # can take one of the following values: - IF_MACSEC
25944
26664
  # Corresponds to the JSON property `availableFeatures`
25945
26665
  # @return [Array<String>]
25946
26666
  attr_accessor :available_features
@@ -25969,6 +26689,13 @@ module Google
25969
26689
  # @return [String]
25970
26690
  attr_accessor :creation_timestamp
25971
26691
 
26692
+ # [Output Only] A list of InterconnectLocation.CrossSiteInterconnectInfo objects,
26693
+ # that describe parameters pertaining to the relation between this
26694
+ # InterconnectLocation and various Interconnect metros.
26695
+ # Corresponds to the JSON property `crossSiteInterconnectInfos`
26696
+ # @return [Array<Google::Apis::ComputeAlpha::InterconnectLocationCrossSiteInterconnectInfo>]
26697
+ attr_accessor :cross_site_interconnect_infos
26698
+
25972
26699
  # [Output Only] An optional description of the resource.
25973
26700
  # Corresponds to the JSON property `description`
25974
26701
  # @return [String]
@@ -26052,6 +26779,7 @@ module Google
26052
26779
  @city = args[:city] if args.key?(:city)
26053
26780
  @continent = args[:continent] if args.key?(:continent)
26054
26781
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
26782
+ @cross_site_interconnect_infos = args[:cross_site_interconnect_infos] if args.key?(:cross_site_interconnect_infos)
26055
26783
  @description = args[:description] if args.key?(:description)
26056
26784
  @facility_provider = args[:facility_provider] if args.key?(:facility_provider)
26057
26785
  @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
@@ -26067,6 +26795,33 @@ module Google
26067
26795
  end
26068
26796
  end
26069
26797
 
26798
+ # Information about any potential WireGroups between an Interconnect at a
26799
+ # specific InterconnectLocation, and an Interconnect in another metro.
26800
+ class InterconnectLocationCrossSiteInterconnectInfo
26801
+ include Google::Apis::Core::Hashable
26802
+
26803
+ # Metropolitan area designator
26804
+ # Corresponds to the JSON property `city`
26805
+ # @return [String]
26806
+ attr_accessor :city
26807
+
26808
+ # The maximum gbps for a single flow to this metro. This limits the total
26809
+ # bandwidth which may be configured per wire.
26810
+ # Corresponds to the JSON property `maxSingleFlowGbps`
26811
+ # @return [Fixnum]
26812
+ attr_accessor :max_single_flow_gbps
26813
+
26814
+ def initialize(**args)
26815
+ update!(**args)
26816
+ end
26817
+
26818
+ # Update properties of this object
26819
+ def update!(**args)
26820
+ @city = args[:city] if args.key?(:city)
26821
+ @max_single_flow_gbps = args[:max_single_flow_gbps] if args.key?(:max_single_flow_gbps)
26822
+ end
26823
+ end
26824
+
26070
26825
  # Response to the list request, and contains a list of interconnect locations.
26071
26826
  class InterconnectLocationList
26072
26827
  include Google::Apis::Core::Hashable
@@ -27342,7 +28097,7 @@ module Google
27342
28097
  # @return [Array<String>]
27343
28098
  attr_accessor :required_coattached_licenses
27344
28099
 
27345
- #
28100
+ # [Input Only] Deprecated.
27346
28101
  # Corresponds to the JSON property `resourceRequirements`
27347
28102
  # @return [Google::Apis::ComputeAlpha::LicenseResourceRequirements]
27348
28103
  attr_accessor :resource_requirements
@@ -27614,14 +28369,14 @@ module Google
27614
28369
  class LicenseResourceRequirements
27615
28370
  include Google::Apis::Core::Hashable
27616
28371
 
27617
- # Minimum number of guest cpus required to use the Instance. Enforced at
27618
- # Instance creation and Instance start.
28372
+ # [Input Only] Deprecated. This field no longer reflects the minimum number of
28373
+ # guest cpus required to use the Instance.
27619
28374
  # Corresponds to the JSON property `minGuestCpuCount`
27620
28375
  # @return [Fixnum]
27621
28376
  attr_accessor :min_guest_cpu_count
27622
28377
 
27623
- # Minimum memory required to use the Instance. Enforced at Instance creation and
27624
- # Instance start.
28378
+ # [Input Only] Deprecated. This field no longer reflects the minimum memory
28379
+ # required to use the Instance.
27625
28380
  # Corresponds to the JSON property `minMemoryMb`
27626
28381
  # @return [Fixnum]
27627
28382
  attr_accessor :min_memory_mb
@@ -29454,12 +30209,6 @@ module Google
29454
30209
  # @return [String]
29455
30210
  attr_accessor :kind
29456
30211
 
29457
- # Policy regarding where to create managed instance groups. Initially only zonal
29458
- # managed instance groups in the same zone are supported.
29459
- # Corresponds to the JSON property `locationPolicy`
29460
- # @return [Google::Apis::ComputeAlpha::MultiMigLocationPolicy]
29461
- attr_accessor :location_policy
29462
-
29463
30212
  # The name of the multi-MIG. The name must be 1-63 characters long, and comply
29464
30213
  # with RFC1035. Specifically, the name must be 1-63 characters long and match
29465
30214
  # the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
@@ -29470,13 +30219,6 @@ module Google
29470
30219
  # @return [String]
29471
30220
  attr_accessor :name
29472
30221
 
29473
- # Map of user-provided names associated with their parts. Keys in the map are
29474
- # arbitrary names chosen by the user for parts. Keys need to be alphanumeric and
29475
- # not longer than 64 characters.
29476
- # Corresponds to the JSON property `parts`
29477
- # @return [Hash<String,Google::Apis::ComputeAlpha::MultiMigPart>]
29478
- attr_accessor :parts
29479
-
29480
30222
  # [Output only] The URL of the region where the resource resides. You must
29481
30223
  # specify this field as part of the HTTP request URL. You cannot set the region
29482
30224
  # as a field in the request body.
@@ -29490,11 +30232,6 @@ module Google
29490
30232
  # @return [Google::Apis::ComputeAlpha::MultiMigResourcePolicies]
29491
30233
  attr_accessor :resource_policies
29492
30234
 
29493
- # Policy for handling provisioning and other scheduling-related events.
29494
- # Corresponds to the JSON property `schedulingPolicy`
29495
- # @return [Google::Apis::ComputeAlpha::MultiMigSchedulingPolicy]
29496
- attr_accessor :scheduling_policy
29497
-
29498
30235
  # [Output only] Server-defined URL for the resource.
29499
30236
  # Corresponds to the JSON property `selfLink`
29500
30237
  # @return [String]
@@ -29520,70 +30257,15 @@ module Google
29520
30257
  @description = args[:description] if args.key?(:description)
29521
30258
  @id = args[:id] if args.key?(:id)
29522
30259
  @kind = args[:kind] if args.key?(:kind)
29523
- @location_policy = args[:location_policy] if args.key?(:location_policy)
29524
30260
  @name = args[:name] if args.key?(:name)
29525
- @parts = args[:parts] if args.key?(:parts)
29526
30261
  @region = args[:region] if args.key?(:region)
29527
30262
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
29528
- @scheduling_policy = args[:scheduling_policy] if args.key?(:scheduling_policy)
29529
30263
  @self_link = args[:self_link] if args.key?(:self_link)
29530
30264
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
29531
30265
  @status = args[:status] if args.key?(:status)
29532
30266
  end
29533
30267
  end
29534
30268
 
29535
- # Policy regarding where to create managed instance groups. Initially only zonal
29536
- # managed instance groups in the same zone are supported.
29537
- class MultiMigLocationPolicy
29538
- include Google::Apis::Core::Hashable
29539
-
29540
- # List of zones where managed instance groups will be provisioned. Should be
29541
- # valid RFC1035 name.
29542
- # Corresponds to the JSON property `provisioningZones`
29543
- # @return [Array<String>]
29544
- attr_accessor :provisioning_zones
29545
-
29546
- def initialize(**args)
29547
- update!(**args)
29548
- end
29549
-
29550
- # Update properties of this object
29551
- def update!(**args)
29552
- @provisioning_zones = args[:provisioning_zones] if args.key?(:provisioning_zones)
29553
- end
29554
- end
29555
-
29556
- # Part represents a single managed instance group, either as a reference to an
29557
- # existing one or as a structure containing properties necessary to create one.
29558
- # A multi-MIG can contain zero or more parts.
29559
- class MultiMigPart
29560
- include Google::Apis::Core::Hashable
29561
-
29562
- # The URL of a managed instance group that you want to attach to the multi-MIG.
29563
- # Corresponds to the JSON property `instanceGroupManager`
29564
- # @return [String]
29565
- attr_accessor :instance_group_manager
29566
-
29567
- # Represents a Managed Instance Group resource. An instance group is a
29568
- # collection of VM instances that you can manage as a single entity. For more
29569
- # information, read Instance groups. For zonal Managed Instance Group, use the
29570
- # instanceGroupManagers resource. For regional Managed Instance Group, use the
29571
- # regionInstanceGroupManagers resource.
29572
- # Corresponds to the JSON property `instanceGroupManagerProperties`
29573
- # @return [Google::Apis::ComputeAlpha::InstanceGroupManager]
29574
- attr_accessor :instance_group_manager_properties
29575
-
29576
- def initialize(**args)
29577
- update!(**args)
29578
- end
29579
-
29580
- # Update properties of this object
29581
- def update!(**args)
29582
- @instance_group_manager = args[:instance_group_manager] if args.key?(:instance_group_manager)
29583
- @instance_group_manager_properties = args[:instance_group_manager_properties] if args.key?(:instance_group_manager_properties)
29584
- end
29585
- end
29586
-
29587
30269
  # Resource policies message for a multi-MIG. Specifies the workload policy
29588
30270
  # configuration of the multi-MIG.
29589
30271
  class MultiMigResourcePolicies
@@ -29609,26 +30291,6 @@ module Google
29609
30291
  end
29610
30292
  end
29611
30293
 
29612
- # Policy for handling provisioning and other scheduling-related events.
29613
- class MultiMigSchedulingPolicy
29614
- include Google::Apis::Core::Hashable
29615
-
29616
- # How provisioning of parts (instance group managers) should be scheduled (
29617
- # coordinated or not).
29618
- # Corresponds to the JSON property `provisioning`
29619
- # @return [String]
29620
- attr_accessor :provisioning
29621
-
29622
- def initialize(**args)
29623
- update!(**args)
29624
- end
29625
-
29626
- # Update properties of this object
29627
- def update!(**args)
29628
- @provisioning = args[:provisioning] if args.key?(:provisioning)
29629
- end
29630
- end
29631
-
29632
30294
  #
29633
30295
  class MultiMigStatus
29634
30296
  include Google::Apis::Core::Hashable
@@ -30046,7 +30708,7 @@ module Google
30046
30708
 
30047
30709
  # A full or partial URL of the network profile to apply to this network. This
30048
30710
  # field can be set only at resource creation time. For example, the following
30049
- # are valid URLs: - https://www.googleapis.com/compute/alpha/projects/`
30711
+ # are valid URLs: - https://www.googleapis.com/compute/`api_version`/projects/`
30050
30712
  # project_id`/global/networkProfiles/`network_profile_name` - projects/`
30051
30713
  # project_id`/global/networkProfiles/`network_profile_name`
30052
30714
  # Corresponds to the JSON property `networkProfile`
@@ -32019,6 +32681,130 @@ module Google
32019
32681
  end
32020
32682
  end
32021
32683
 
32684
+ #
32685
+ class NetworkFirewallPolicyAggregatedList
32686
+ include Google::Apis::Core::Hashable
32687
+
32688
+ # [Output Only] Unique identifier for the resource; defined by the server.
32689
+ # Corresponds to the JSON property `id`
32690
+ # @return [String]
32691
+ attr_accessor :id
32692
+
32693
+ # A list of FirewallPoliciesScopedList resources.
32694
+ # Corresponds to the JSON property `items`
32695
+ # @return [Hash<String,Google::Apis::ComputeAlpha::FirewallPoliciesScopedList>]
32696
+ attr_accessor :items
32697
+
32698
+ # [Output Only] Type of resource. Always compute#
32699
+ # networkFirewallPoliciesAggregatedList for lists of network firewall policies.
32700
+ # Corresponds to the JSON property `kind`
32701
+ # @return [String]
32702
+ attr_accessor :kind
32703
+
32704
+ # [Output Only] This token allows you to get the next page of results for list
32705
+ # requests. If the number of results is larger than maxResults, use the
32706
+ # nextPageToken as a value for the query parameter pageToken in the next list
32707
+ # request. Subsequent list requests will have their own nextPageToken to
32708
+ # continue paging through the results.
32709
+ # Corresponds to the JSON property `nextPageToken`
32710
+ # @return [String]
32711
+ attr_accessor :next_page_token
32712
+
32713
+ # [Output Only] Server-defined URL for this resource.
32714
+ # Corresponds to the JSON property `selfLink`
32715
+ # @return [String]
32716
+ attr_accessor :self_link
32717
+
32718
+ # [Output Only] Unreachable resources.
32719
+ # Corresponds to the JSON property `unreachables`
32720
+ # @return [Array<String>]
32721
+ attr_accessor :unreachables
32722
+
32723
+ # [Output Only] Informational warning message.
32724
+ # Corresponds to the JSON property `warning`
32725
+ # @return [Google::Apis::ComputeAlpha::NetworkFirewallPolicyAggregatedList::Warning]
32726
+ attr_accessor :warning
32727
+
32728
+ def initialize(**args)
32729
+ update!(**args)
32730
+ end
32731
+
32732
+ # Update properties of this object
32733
+ def update!(**args)
32734
+ @id = args[:id] if args.key?(:id)
32735
+ @items = args[:items] if args.key?(:items)
32736
+ @kind = args[:kind] if args.key?(:kind)
32737
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
32738
+ @self_link = args[:self_link] if args.key?(:self_link)
32739
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
32740
+ @warning = args[:warning] if args.key?(:warning)
32741
+ end
32742
+
32743
+ # [Output Only] Informational warning message.
32744
+ class Warning
32745
+ include Google::Apis::Core::Hashable
32746
+
32747
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
32748
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
32749
+ # Corresponds to the JSON property `code`
32750
+ # @return [String]
32751
+ attr_accessor :code
32752
+
32753
+ # [Output Only] Metadata about this warning in key: value format. For example: "
32754
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
32755
+ # Corresponds to the JSON property `data`
32756
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkFirewallPolicyAggregatedList::Warning::Datum>]
32757
+ attr_accessor :data
32758
+
32759
+ # [Output Only] A human-readable description of the warning code.
32760
+ # Corresponds to the JSON property `message`
32761
+ # @return [String]
32762
+ attr_accessor :message
32763
+
32764
+ def initialize(**args)
32765
+ update!(**args)
32766
+ end
32767
+
32768
+ # Update properties of this object
32769
+ def update!(**args)
32770
+ @code = args[:code] if args.key?(:code)
32771
+ @data = args[:data] if args.key?(:data)
32772
+ @message = args[:message] if args.key?(:message)
32773
+ end
32774
+
32775
+ #
32776
+ class Datum
32777
+ include Google::Apis::Core::Hashable
32778
+
32779
+ # [Output Only] A key that provides more detail on the warning being returned.
32780
+ # For example, for warnings where there are no results in a list request for a
32781
+ # particular zone, this key might be scope and the key value might be the zone
32782
+ # name. Other examples might be a key indicating a deprecated resource and a
32783
+ # suggested replacement, or a warning about invalid network settings (for
32784
+ # example, if an instance attempts to perform IP forwarding but is not enabled
32785
+ # for IP forwarding).
32786
+ # Corresponds to the JSON property `key`
32787
+ # @return [String]
32788
+ attr_accessor :key
32789
+
32790
+ # [Output Only] A warning data value corresponding to the key.
32791
+ # Corresponds to the JSON property `value`
32792
+ # @return [String]
32793
+ attr_accessor :value
32794
+
32795
+ def initialize(**args)
32796
+ update!(**args)
32797
+ end
32798
+
32799
+ # Update properties of this object
32800
+ def update!(**args)
32801
+ @key = args[:key] if args.key?(:key)
32802
+ @value = args[:value] if args.key?(:value)
32803
+ end
32804
+ end
32805
+ end
32806
+ end
32807
+
32022
32808
  # A network interface resource attached to an instance.
32023
32809
  class NetworkInterface
32024
32810
  include Google::Apis::Core::Hashable
@@ -32124,8 +32910,7 @@ module Google
32124
32910
  # @return [String]
32125
32911
  attr_accessor :nic_type
32126
32912
 
32127
- # Name of the parent network interface of a VLAN based nic. If this field is
32128
- # specified, vlan must be set.
32913
+ # Name of the parent network interface of a dynamic network interface.
32129
32914
  # Corresponds to the JSON property `parentNicName`
32130
32915
  # @return [String]
32131
32916
  attr_accessor :parent_nic_name
@@ -32165,9 +32950,8 @@ module Google
32165
32950
  # @return [String]
32166
32951
  attr_accessor :subnetwork
32167
32952
 
32168
- # VLAN tag of a VLAN based network interface, must be in range from 2 to 4094
32169
- # inclusively. This field is mandatory if the parent network interface name is
32170
- # set.
32953
+ # VLAN tag of a dynamic network interface, must be in range from 2 to 4094
32954
+ # inclusively.
32171
32955
  # Corresponds to the JSON property `vlan`
32172
32956
  # @return [Fixnum]
32173
32957
  attr_accessor :vlan
@@ -32543,6 +33327,11 @@ module Google
32543
33327
  # @return [String]
32544
33328
  attr_accessor :kind
32545
33329
 
33330
+ # [Output Only] Location to which the network is restricted.
33331
+ # Corresponds to the JSON property `location`
33332
+ # @return [Google::Apis::ComputeAlpha::NetworkProfileLocation]
33333
+ attr_accessor :location
33334
+
32546
33335
  # [Output Only] Name of the resource.
32547
33336
  # Corresponds to the JSON property `name`
32548
33337
  # @return [String]
@@ -32574,6 +33363,7 @@ module Google
32574
33363
  @features = args[:features] if args.key?(:features)
32575
33364
  @id = args[:id] if args.key?(:id)
32576
33365
  @kind = args[:kind] if args.key?(:kind)
33366
+ @location = args[:location] if args.key?(:location)
32577
33367
  @name = args[:name] if args.key?(:name)
32578
33368
  @self_link = args[:self_link] if args.key?(:self_link)
32579
33369
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -32581,6 +33371,31 @@ module Google
32581
33371
  end
32582
33372
  end
32583
33373
 
33374
+ #
33375
+ class NetworkProfileLocation
33376
+ include Google::Apis::Core::Hashable
33377
+
33378
+ #
33379
+ # Corresponds to the JSON property `name`
33380
+ # @return [String]
33381
+ attr_accessor :name
33382
+
33383
+ #
33384
+ # Corresponds to the JSON property `scope`
33385
+ # @return [String]
33386
+ attr_accessor :scope
33387
+
33388
+ def initialize(**args)
33389
+ update!(**args)
33390
+ end
33391
+
33392
+ # Update properties of this object
33393
+ def update!(**args)
33394
+ @name = args[:name] if args.key?(:name)
33395
+ @scope = args[:scope] if args.key?(:scope)
33396
+ end
33397
+ end
33398
+
32584
33399
  #
32585
33400
  class NetworkProfileNetworkFeatures
32586
33401
  include Google::Apis::Core::Hashable
@@ -32887,6 +33702,17 @@ module Google
32887
33702
  # @return [String]
32888
33703
  attr_accessor :bgp_inter_region_cost
32889
33704
 
33705
+ # [Output Only] Effective value of the bgp_always_compare_med field.
33706
+ # Corresponds to the JSON property `effectiveBgpAlwaysCompareMed`
33707
+ # @return [Boolean]
33708
+ attr_accessor :effective_bgp_always_compare_med
33709
+ alias_method :effective_bgp_always_compare_med?, :effective_bgp_always_compare_med
33710
+
33711
+ # [Output Only] Effective value of the bgp_inter_region_cost field.
33712
+ # Corresponds to the JSON property `effectiveBgpInterRegionCost`
33713
+ # @return [String]
33714
+ attr_accessor :effective_bgp_inter_region_cost
33715
+
32890
33716
  # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
32891
33717
  # Routers will only advertise routes with subnets of this network in the same
32892
33718
  # region as the router. If set to GLOBAL, this network's Cloud Routers will
@@ -32904,6 +33730,8 @@ module Google
32904
33730
  @bgp_always_compare_med = args[:bgp_always_compare_med] if args.key?(:bgp_always_compare_med)
32905
33731
  @bgp_best_path_selection_mode = args[:bgp_best_path_selection_mode] if args.key?(:bgp_best_path_selection_mode)
32906
33732
  @bgp_inter_region_cost = args[:bgp_inter_region_cost] if args.key?(:bgp_inter_region_cost)
33733
+ @effective_bgp_always_compare_med = args[:effective_bgp_always_compare_med] if args.key?(:effective_bgp_always_compare_med)
33734
+ @effective_bgp_inter_region_cost = args[:effective_bgp_inter_region_cost] if args.key?(:effective_bgp_inter_region_cost)
32907
33735
  @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
32908
33736
  end
32909
33737
  end
@@ -33020,6 +33848,11 @@ module Google
33020
33848
  # @return [String]
33021
33849
  attr_accessor :name
33022
33850
 
33851
+ # [Output Only] The packet mirroring rules that apply to the network.
33852
+ # Corresponds to the JSON property `packetMirroringRules`
33853
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
33854
+ attr_accessor :packet_mirroring_rules
33855
+
33023
33856
  # [Output only] Priority of firewall policy association. Not applicable for type=
33024
33857
  # HIERARCHY.
33025
33858
  # Corresponds to the JSON property `priority`
@@ -33049,6 +33882,7 @@ module Google
33049
33882
  def update!(**args)
33050
33883
  @display_name = args[:display_name] if args.key?(:display_name)
33051
33884
  @name = args[:name] if args.key?(:name)
33885
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
33052
33886
  @priority = args[:priority] if args.key?(:priority)
33053
33887
  @rules = args[:rules] if args.key?(:rules)
33054
33888
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -34531,6 +35365,11 @@ module Google
34531
35365
  # @return [Fixnum]
34532
35366
  attr_accessor :local_ssd_gb
34533
35367
 
35368
+ # [Output Only] Maximum number of VMs that can be created for this node type.
35369
+ # Corresponds to the JSON property `maxVms`
35370
+ # @return [Fixnum]
35371
+ attr_accessor :max_vms
35372
+
34534
35373
  # [Output Only] The amount of physical memory available to the node type,
34535
35374
  # defined in MB.
34536
35375
  # Corresponds to the JSON property `memoryMb`
@@ -34572,6 +35411,7 @@ module Google
34572
35411
  @id = args[:id] if args.key?(:id)
34573
35412
  @kind = args[:kind] if args.key?(:kind)
34574
35413
  @local_ssd_gb = args[:local_ssd_gb] if args.key?(:local_ssd_gb)
35414
+ @max_vms = args[:max_vms] if args.key?(:max_vms)
34575
35415
  @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
34576
35416
  @name = args[:name] if args.key?(:name)
34577
35417
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -36981,11 +37821,8 @@ module Google
36981
37821
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
36982
37822
  # The load balancer performs advanced routing actions, such as URL rewrites and
36983
37823
  # header transformations, before forwarding the request to the selected backend.
36984
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
36985
- # must not be set. Conversely if defaultService is set, defaultRouteAction
36986
- # cannot contain any weightedBackendServices. If defaultRouteAction is specified,
36987
- # don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices
36988
- # is specified, don't set defaultService. URL maps for classic Application Load
37824
+ # Only one of defaultUrlRedirect, defaultService or defaultRouteAction.
37825
+ # weightedBackendService can be set. URL maps for classic Application Load
36989
37826
  # Balancers only support the urlRewrite action within a path matcher's
36990
37827
  # defaultRouteAction.
36991
37828
  # Corresponds to the JSON property `defaultRouteAction`
@@ -36999,14 +37836,11 @@ module Google
36999
37836
  # backendService - compute/v1/projects/project/global/backendServices/
37000
37837
  # backendService - global/backendServices/backendService If defaultRouteAction
37001
37838
  # is also specified, advanced routing actions, such as URL rewrites, take effect
37002
- # before sending the request to the backend. However, if defaultService is
37003
- # specified, defaultRouteAction cannot contain any weightedBackendServices.
37004
- # Conversely, if defaultRouteAction specifies any weightedBackendServices,
37005
- # defaultService must not be specified. If defaultService is specified, then set
37006
- # either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't
37007
- # set both. Authorization requires one or more of the following Google IAM
37008
- # permissions on the specified resource default_service: - compute.
37009
- # backendBuckets.use - compute.backendServices.use
37839
+ # before sending the request to the backend. Only one of defaultUrlRedirect,
37840
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
37841
+ # Authorization requires one or more of the following Google IAM permissions on
37842
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
37843
+ # backendServices.use
37010
37844
  # Corresponds to the JSON property `defaultService`
37011
37845
  # @return [String]
37012
37846
  attr_accessor :default_service
@@ -37090,11 +37924,10 @@ module Google
37090
37924
 
37091
37925
  # In response to a matching path, the load balancer performs advanced routing
37092
37926
  # actions, such as URL rewrites and header transformations, before forwarding
37093
- # the request to the selected backend. If routeAction specifies any
37094
- # weightedBackendServices, service must not be set. Conversely if service is set,
37095
- # routeAction cannot contain any weightedBackendServices. Only one of
37096
- # routeAction or urlRedirect must be set. URL maps for classic Application Load
37097
- # Balancers only support the urlRewrite action within a path rule's routeAction.
37927
+ # the request to the selected backend. Only one of urlRedirect, service or
37928
+ # routeAction.weightedBackendService can be set. URL maps for classic
37929
+ # Application Load Balancers only support the urlRewrite action within a path
37930
+ # rule's routeAction.
37098
37931
  # Corresponds to the JSON property `routeAction`
37099
37932
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
37100
37933
  attr_accessor :route_action
@@ -37102,10 +37935,8 @@ module Google
37102
37935
  # The full or partial URL of the backend service resource to which traffic is
37103
37936
  # directed if this rule is matched. If routeAction is also specified, advanced
37104
37937
  # routing actions, such as URL rewrites, take effect before sending the request
37105
- # to the backend. However, if service is specified, routeAction cannot contain
37106
- # any weightedBackendServices. Conversely, if routeAction specifies any
37107
- # weightedBackendServices, service must not be specified. Only one of
37108
- # urlRedirect, service or routeAction.weightedBackendService must be set.
37938
+ # to the backend. Only one of urlRedirect, service or routeAction.
37939
+ # weightedBackendService can be set.
37109
37940
  # Corresponds to the JSON property `service`
37110
37941
  # @return [String]
37111
37942
  attr_accessor :service
@@ -37167,7 +37998,7 @@ module Google
37167
37998
  # Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if
37168
37999
  # a per-instance configuration with the same name exists then it will be updated,
37169
38000
  # otherwise a new one will be created for the VM instance with the same name.
37170
- # An attempt to create a per-instance configconfiguration for a VM instance that
38001
+ # An attempt to create a per-instance configuration for a VM instance that
37171
38002
  # either doesn't exist or is not part of the group will result in an error.
37172
38003
  # Corresponds to the JSON property `name`
37173
38004
  # @return [String]
@@ -37654,7 +38485,7 @@ module Google
37654
38485
  # @return [String]
37655
38486
  attr_accessor :description
37656
38487
 
37657
- # Restricted features enabled for use on this project.
38488
+ # An optional list of restricted features enabled for use on this project.
37658
38489
  # Corresponds to the JSON property `enabledFeatures`
37659
38490
  # @return [Array<String>]
37660
38491
  attr_accessor :enabled_features
@@ -41390,6 +42221,11 @@ module Google
41390
42221
  # @return [String]
41391
42222
  attr_accessor :name
41392
42223
 
42224
+ # [Output only] The packet mirroring rules that apply to the network.
42225
+ # Corresponds to the JSON property `packetMirroringRules`
42226
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
42227
+ attr_accessor :packet_mirroring_rules
42228
+
41393
42229
  # [Output only] Priority of firewall policy association. Not applicable for type=
41394
42230
  # HIERARCHY.
41395
42231
  # Corresponds to the JSON property `priority`
@@ -41415,6 +42251,7 @@ module Google
41415
42251
  def update!(**args)
41416
42252
  @display_name = args[:display_name] if args.key?(:display_name)
41417
42253
  @name = args[:name] if args.key?(:name)
42254
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
41418
42255
  @priority = args[:priority] if args.key?(:priority)
41419
42256
  @rules = args[:rules] if args.key?(:rules)
41420
42257
  @type = args[:type] if args.key?(:type)
@@ -41726,12 +42563,6 @@ module Google
41726
42563
  # @return [Fixnum]
41727
42564
  attr_accessor :id
41728
42565
 
41729
- # Instance termination action is invoked when the reservation is deleted. This
41730
- # only applies to reservations with a Deployment type.
41731
- # Corresponds to the JSON property `instanceTerminationAction`
41732
- # @return [String]
41733
- attr_accessor :instance_termination_action
41734
-
41735
42566
  # [Output Only] Type of the resource. Always compute#reservations for
41736
42567
  # reservations.
41737
42568
  # Corresponds to the JSON property `kind`
@@ -41829,7 +42660,6 @@ module Google
41829
42660
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
41830
42661
  @description = args[:description] if args.key?(:description)
41831
42662
  @id = args[:id] if args.key?(:id)
41832
- @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
41833
42663
  @kind = args[:kind] if args.key?(:kind)
41834
42664
  @name = args[:name] if args.key?(:name)
41835
42665
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
@@ -42388,6 +43218,44 @@ module Google
42388
43218
  end
42389
43219
  end
42390
43220
 
43221
+ #
43222
+ class ReservationsBlocksPerformMaintenanceRequest
43223
+ include Google::Apis::Core::Hashable
43224
+
43225
+ # Specifies if all, running or unused hosts are in scope for this request.
43226
+ # Corresponds to the JSON property `maintenanceScope`
43227
+ # @return [String]
43228
+ attr_accessor :maintenance_scope
43229
+
43230
+ def initialize(**args)
43231
+ update!(**args)
43232
+ end
43233
+
43234
+ # Update properties of this object
43235
+ def update!(**args)
43236
+ @maintenance_scope = args[:maintenance_scope] if args.key?(:maintenance_scope)
43237
+ end
43238
+ end
43239
+
43240
+ #
43241
+ class ReservationsPerformMaintenanceRequest
43242
+ include Google::Apis::Core::Hashable
43243
+
43244
+ # Specifies if all, running or unused hosts are in scope for this request.
43245
+ # Corresponds to the JSON property `maintenanceScope`
43246
+ # @return [String]
43247
+ attr_accessor :maintenance_scope
43248
+
43249
+ def initialize(**args)
43250
+ update!(**args)
43251
+ end
43252
+
43253
+ # Update properties of this object
43254
+ def update!(**args)
43255
+ @maintenance_scope = args[:maintenance_scope] if args.key?(:maintenance_scope)
43256
+ end
43257
+ end
43258
+
42391
43259
  #
42392
43260
  class ReservationsResizeRequest
42393
43261
  include Google::Apis::Core::Hashable
@@ -42966,6 +43834,11 @@ module Google
42966
43834
  # @return [String]
42967
43835
  attr_accessor :collocation
42968
43836
 
43837
+ # Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
43838
+ # Corresponds to the JSON property `gpuTopology`
43839
+ # @return [String]
43840
+ attr_accessor :gpu_topology
43841
+
42969
43842
  # Specifies the number of max logical switches.
42970
43843
  # Corresponds to the JSON property `maxDistance`
42971
43844
  # @return [Fixnum]
@@ -43001,6 +43874,7 @@ module Google
43001
43874
  def update!(**args)
43002
43875
  @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
43003
43876
  @collocation = args[:collocation] if args.key?(:collocation)
43877
+ @gpu_topology = args[:gpu_topology] if args.key?(:gpu_topology)
43004
43878
  @max_distance = args[:max_distance] if args.key?(:max_distance)
43005
43879
  @scope = args[:scope] if args.key?(:scope)
43006
43880
  @slice_count = args[:slice_count] if args.key?(:slice_count)
@@ -43585,7 +44459,9 @@ module Google
43585
44459
  # @return [Google::Apis::ComputeAlpha::ResourceStatusLastInstanceTerminationDetails]
43586
44460
  attr_accessor :last_instance_termination_details
43587
44461
 
43588
- # [Output Only] An opaque ID of the host on which the VM is running.
44462
+ # [Output Only] The precise location of your instance within the zone's data
44463
+ # center, including the block, sub-block, and host. The field is formatted as
44464
+ # follows: blockId/subBlockId/hostId.
43589
44465
  # Corresponds to the JSON property `physicalHost`
43590
44466
  # @return [String]
43591
44467
  attr_accessor :physical_host
@@ -43606,8 +44482,8 @@ module Google
43606
44482
  # @return [Hash<String,Google::Apis::ComputeAlpha::ResourceStatusServiceIntegrationStatus>]
43607
44483
  attr_accessor :service_integration_statuses
43608
44484
 
43609
- # Specifies if the instance is in `SHUTTING_DOWN` state or there is a instance
43610
- # stopping scheduled.
44485
+ # Specifies if the instance is in `PENDING_STOP` state or there is a programmed
44486
+ # stop scheduled.
43611
44487
  # Corresponds to the JSON property `shutdownDetails`
43612
44488
  # @return [Google::Apis::ComputeAlpha::ResourceStatusShutdownDetails]
43613
44489
  attr_accessor :shutdown_details
@@ -43765,22 +44641,27 @@ module Google
43765
44641
  class ResourceStatusPhysicalHostTopology
43766
44642
  include Google::Apis::Core::Hashable
43767
44643
 
43768
- #
44644
+ # [Output Only] The ID of the block in which the running instance is located.
44645
+ # Instances within the same block experience low network latency.
43769
44646
  # Corresponds to the JSON property `block`
43770
44647
  # @return [String]
43771
44648
  attr_accessor :block
43772
44649
 
43773
- #
44650
+ # [Output Only] The global name of the Compute Engine cluster where the running
44651
+ # instance is located.
43774
44652
  # Corresponds to the JSON property `cluster`
43775
44653
  # @return [String]
43776
44654
  attr_accessor :cluster
43777
44655
 
43778
- #
44656
+ # [Output Only] The ID of the host on which the running instance is located.
44657
+ # Instances on the same host experience the lowest possible network latency.
43779
44658
  # Corresponds to the JSON property `host`
43780
44659
  # @return [String]
43781
44660
  attr_accessor :host
43782
44661
 
43783
- #
44662
+ # [Output Only] The ID of the sub-block in which the running instance is located.
44663
+ # Instances in the same sub-block experience lower network latency than
44664
+ # instances in the same block.
43784
44665
  # Corresponds to the JSON property `subblock`
43785
44666
  # @return [String]
43786
44667
  attr_accessor :subblock
@@ -43876,8 +44757,8 @@ module Google
43876
44757
  end
43877
44758
  end
43878
44759
 
43879
- # Specifies if the instance is in `SHUTTING_DOWN` state or there is a instance
43880
- # stopping scheduled.
44760
+ # Specifies if the instance is in `PENDING_STOP` state or there is a programmed
44761
+ # stop scheduled.
43881
44762
  class ResourceStatusShutdownDetails
43882
44763
  include Google::Apis::Core::Hashable
43883
44764
 
@@ -46970,7 +47851,7 @@ module Google
46970
47851
  # @return [Fixnum]
46971
47852
  attr_accessor :current_memory_mb
46972
47853
 
46973
- # Configuration for gracefully shutting down the instance.
47854
+ # The configuration for gracefully shutting down the instance.
46974
47855
  # Corresponds to the JSON property `gracefulShutdown`
46975
47856
  # @return [Google::Apis::ComputeAlpha::SchedulingGracefulShutdown]
46976
47857
  attr_accessor :graceful_shutdown
@@ -47120,7 +48001,7 @@ module Google
47120
48001
  end
47121
48002
  end
47122
48003
 
47123
- # Configuration for gracefully shutting down the instance.
48004
+ # The configuration for gracefully shutting down the instance.
47124
48005
  class SchedulingGracefulShutdown
47125
48006
  include Google::Apis::Core::Hashable
47126
48007
 
@@ -47956,6 +48837,12 @@ module Google
47956
48837
  # @return [String]
47957
48838
  attr_accessor :log_level
47958
48839
 
48840
+ # The maximum request size chosen by the customer with Waf enabled. Currently
48841
+ # only "8KB" and "128KB" are supported. Values are case insensitive.
48842
+ # Corresponds to the JSON property `requestBodyInspectionSize`
48843
+ # @return [String]
48844
+ attr_accessor :request_body_inspection_size
48845
+
47959
48846
  # An optional list of case-insensitive request header names to use for resolving
47960
48847
  # the callers client IP address.
47961
48848
  # Corresponds to the JSON property `userIpRequestHeaders`
@@ -47971,6 +48858,7 @@ module Google
47971
48858
  @json_custom_config = args[:json_custom_config] if args.key?(:json_custom_config)
47972
48859
  @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
47973
48860
  @log_level = args[:log_level] if args.key?(:log_level)
48861
+ @request_body_inspection_size = args[:request_body_inspection_size] if args.key?(:request_body_inspection_size)
47974
48862
  @user_ip_request_headers = args[:user_ip_request_headers] if args.key?(:user_ip_request_headers)
47975
48863
  end
47976
48864
  end
@@ -48929,7 +49817,9 @@ module Google
48929
49817
  # originating client, which is resolved based on "userIpRequestHeaders"
48930
49818
  # configured with the security policy. If there is no "userIpRequestHeaders"
48931
49819
  # configuration or an IP address cannot be resolved from it, the key type
48932
- # defaults to IP.
49820
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
49821
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
49822
+ # defaults to ALL.
48933
49823
  # Corresponds to the JSON property `enforceOnKey`
48934
49824
  # @return [String]
48935
49825
  attr_accessor :enforce_on_key
@@ -49030,7 +49920,9 @@ module Google
49030
49920
  # originating client, which is resolved based on "userIpRequestHeaders"
49031
49921
  # configured with the security policy. If there is no "userIpRequestHeaders"
49032
49922
  # configuration or an IP address cannot be resolved from it, the key type
49033
- # defaults to IP.
49923
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
49924
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
49925
+ # defaults to ALL.
49034
49926
  # Corresponds to the JSON property `enforceOnKeyType`
49035
49927
  # @return [String]
49036
49928
  attr_accessor :enforce_on_key_type
@@ -54209,15 +55101,17 @@ module Google
54209
55101
  attr_accessor :private_ipv6_google_access
54210
55102
 
54211
55103
  # The purpose of the resource. This field can be either PRIVATE,
54212
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
54213
- # PRIVATE is the default purpose for user-created subnets or subnets that are
54214
- # automatically created in auto mode networks. Subnets with purpose set to
54215
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
54216
- # that are reserved for Envoy-based load balancers. A subnet with purpose set to
54217
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
54218
- # Connect. If unspecified, the subnet purpose defaults to PRIVATE. The
54219
- # enableFlowLogs field isn't supported if the subnet purpose field is set to
54220
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
55104
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
55105
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
55106
+ # subnets or subnets that are automatically created in auto mode networks.
55107
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
55108
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
55109
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
55110
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
55111
+ # used for subnet migration from one peered VPC to another. If unspecified, the
55112
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
55113
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
55114
+ # REGIONAL_MANAGED_PROXY.
54221
55115
  # Corresponds to the JSON property `purpose`
54222
55116
  # @return [String]
54223
55117
  attr_accessor :purpose
@@ -55883,14 +56777,14 @@ module Google
55883
56777
  # Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target
55884
56778
  # HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/
55885
56779
  # targetHttpsProxies) * [Regional](/compute/docs/reference/rest/alpha/
55886
- # regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS
55887
- # load balancers. * targetHttpProxies are used by global external Application
55888
- # Load Balancers, classic Application Load Balancers, cross-region internal
55889
- # Application Load Balancers, and Traffic Director. * regionTargetHttpProxies
55890
- # are used by regional internal Application Load Balancers and regional external
55891
- # Application Load Balancers. Forwarding rules reference a target HTTPS proxy,
55892
- # and the target proxy then references a URL map. For more information, read
55893
- # Using Target Proxies and Forwarding rule concepts.
56780
+ # regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud
56781
+ # HTTPS load balancers. * targetHttpProxies are used by global external
56782
+ # Application Load Balancers, classic Application Load Balancers, cross-region
56783
+ # internal Application Load Balancers, and Traffic Director. *
56784
+ # regionTargetHttpProxies are used by regional internal Application Load
56785
+ # Balancers and regional external Application Load Balancers. Forwarding rules
56786
+ # reference a target HTTPS proxy, and the target proxy then references a URL map.
56787
+ # For more information, read Using Target Proxies and Forwarding rule concepts.
55894
56788
  class TargetHttpsProxy
55895
56789
  include Google::Apis::Core::Hashable
55896
56790
 
@@ -56052,14 +56946,15 @@ module Google
56052
56946
  # to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource
56053
56947
  # or Certificate Manager Certificate resource. Mixing Classic Certificates and
56054
56948
  # Certificate Manager Certificates is not allowed. Certificate Manager
56055
- # Certificates must include the certificatemanager API. Certificate Manager
56056
- # Certificates are not supported by Global external Application Load Balancer or
56057
- # Classic Application Load Balancer, use certificate_map instead. Currently, you
56058
- # may specify up to 15 Classic SSL Certificates. Certificate Manager
56059
- # Certificates accepted formats are: - //certificatemanager.googleapis.com/
56060
- # projects/`project`/locations/` location`/certificates/`resourceName`. - https:/
56061
- # /certificatemanager.googleapis.com/v1alpha1/projects/`project `/locations/`
56062
- # location`/certificates/`resourceName`.
56949
+ # Certificates must include the certificatemanager API namespace. Using
56950
+ # Certificate Manager Certificates in this field is not supported by Global
56951
+ # external Application Load Balancer or Classic Application Load Balancer, use
56952
+ # certificate_map instead. Currently, you may specify up to 15 Classic SSL
56953
+ # Certificates or up to 100 Certificate Manager Certificates. Certificate
56954
+ # Manager Certificates accepted formats are: - //certificatemanager.googleapis.
56955
+ # com/projects/`project`/locations/` location`/certificates/`resourceName`. -
56956
+ # https://certificatemanager.googleapis.com/v1alpha1/projects/`project `/
56957
+ # locations/`location`/certificates/`resourceName`.
56063
56958
  # Corresponds to the JSON property `sslCertificates`
56064
56959
  # @return [Array<String>]
56065
56960
  attr_accessor :ssl_certificates
@@ -59053,11 +59948,9 @@ module Google
59053
59948
 
59054
59949
  # defaultRouteAction takes effect when none of the hostRules match. The load
59055
59950
  # balancer performs advanced routing actions, such as URL rewrites and header
59056
- # transformations, before forwarding the request to the selected backend. If
59057
- # defaultRouteAction specifies any weightedBackendServices, defaultService must
59058
- # not be set. Conversely if defaultService is set, defaultRouteAction cannot
59059
- # contain any weightedBackendServices. Only one of defaultRouteAction or
59060
- # defaultUrlRedirect must be set. URL maps for classic Application Load
59951
+ # transformations, before forwarding the request to the selected backend. Only
59952
+ # one of defaultUrlRedirect, defaultService or defaultRouteAction.
59953
+ # weightedBackendService can be set. URL maps for classic Application Load
59061
59954
  # Balancers only support the urlRewrite action within defaultRouteAction.
59062
59955
  # defaultRouteAction has no effect when the URL map is bound to a target gRPC
59063
59956
  # proxy that has the validateForProxyless field set to true.
@@ -59068,14 +59961,10 @@ module Google
59068
59961
  # The full or partial URL of the defaultService resource to which traffic is
59069
59962
  # directed if none of the hostRules match. If defaultRouteAction is also
59070
59963
  # specified, advanced routing actions, such as URL rewrites, take effect before
59071
- # sending the request to the backend. However, if defaultService is specified,
59072
- # defaultRouteAction cannot contain any defaultRouteAction.
59073
- # weightedBackendServices. Conversely, if defaultRouteAction specifies any
59074
- # defaultRouteAction.weightedBackendServices, defaultService must not be
59075
- # specified. If defaultService is specified, then set either defaultUrlRedirect ,
59076
- # or defaultRouteAction.weightedBackendService Don't set both. defaultService
59077
- # has no effect when the URL map is bound to a target gRPC proxy that has the
59078
- # validateForProxyless field set to true.
59964
+ # sending the request to the backend. Only one of defaultUrlRedirect,
59965
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
59966
+ # defaultService has no effect when the URL map is bound to a target gRPC proxy
59967
+ # that has the validateForProxyless field set to true.
59079
59968
  # Corresponds to the JSON property `defaultService`
59080
59969
  # @return [String]
59081
59970
  attr_accessor :default_service
@@ -59838,15 +60727,17 @@ module Google
59838
60727
  attr_accessor :network
59839
60728
 
59840
60729
  # The purpose of the resource. This field can be either PRIVATE,
59841
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
59842
- # PRIVATE is the default purpose for user-created subnets or subnets that are
59843
- # automatically created in auto mode networks. Subnets with purpose set to
59844
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
59845
- # that are reserved for Envoy-based load balancers. A subnet with purpose set to
59846
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
59847
- # Connect. If unspecified, the subnet purpose defaults to PRIVATE. The
59848
- # enableFlowLogs field isn't supported if the subnet purpose field is set to
59849
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
60730
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
60731
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
60732
+ # subnets or subnets that are automatically created in auto mode networks.
60733
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
60734
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
60735
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
60736
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
60737
+ # used for subnet migration from one peered VPC to another. If unspecified, the
60738
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
60739
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
60740
+ # REGIONAL_MANAGED_PROXY.
59850
60741
  # Corresponds to the JSON property `purpose`
59851
60742
  # @return [String]
59852
60743
  attr_accessor :purpose
@@ -59959,7 +60850,7 @@ module Google
59959
60850
 
59960
60851
  # [Output Only] Informational warning messages for failures encountered from
59961
60852
  # scopes.
59962
- # Corresponds to the JSON property `scoped_warnings`
60853
+ # Corresponds to the JSON property `scopedWarnings`
59963
60854
  # @return [Array<Google::Apis::ComputeAlpha::SubnetworksScopedWarning>]
59964
60855
  attr_accessor :scoped_warnings
59965
60856
 
@@ -61804,6 +62695,11 @@ module Google
61804
62695
  # @return [Google::Apis::ComputeAlpha::WireGroupServiceLevel]
61805
62696
  attr_accessor :service_level
61806
62697
 
62698
+ # Topology details for the wire group.
62699
+ # Corresponds to the JSON property `topology`
62700
+ # @return [Google::Apis::ComputeAlpha::WireGroupTopology]
62701
+ attr_accessor :topology
62702
+
61807
62703
  # The properties of a wire group. These properties determine how a group of
61808
62704
  # redundant wires are created and managed.
61809
62705
  # Corresponds to the JSON property `wireGroupProperties`
@@ -61844,6 +62740,7 @@ module Google
61844
62740
  @self_link = args[:self_link] if args.key?(:self_link)
61845
62741
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
61846
62742
  @service_level = args[:service_level] if args.key?(:service_level)
62743
+ @topology = args[:topology] if args.key?(:topology)
61847
62744
  @wire_group_properties = args[:wire_group_properties] if args.key?(:wire_group_properties)
61848
62745
  @wire_inputs = args[:wire_inputs] if args.key?(:wire_inputs)
61849
62746
  @wire_properties = args[:wire_properties] if args.key?(:wire_properties)
@@ -62079,7 +62976,8 @@ module Google
62079
62976
  include Google::Apis::Core::Hashable
62080
62977
 
62081
62978
  # [Output Only] The availability SLA that the wire group qualifies for. One of
62082
- # the following: `NO_AVAILABILITY_SLA`, `AVAILABILITY_99`, or `AVAILABILITY_999`.
62979
+ # the following: `NO_AVAILABILITY_SLA`, `AVAILABILITY_99`, `AVAILABILITY_999`,
62980
+ # or `AVAILABILITY_9995`.
62083
62981
  # Corresponds to the JSON property `availabilityClass`
62084
62982
  # @return [String]
62085
62983
  attr_accessor :availability_class
@@ -62094,6 +62992,51 @@ module Google
62094
62992
  end
62095
62993
  end
62096
62994
 
62995
+ # Topology details for the wire group.
62996
+ class WireGroupTopology
62997
+ include Google::Apis::Core::Hashable
62998
+
62999
+ # Topology details for all endpoints in the wire group.
63000
+ # Corresponds to the JSON property `endpoints`
63001
+ # @return [Array<Google::Apis::ComputeAlpha::WireGroupTopologyEndpoint>]
63002
+ attr_accessor :endpoints
63003
+
63004
+ def initialize(**args)
63005
+ update!(**args)
63006
+ end
63007
+
63008
+ # Update properties of this object
63009
+ def update!(**args)
63010
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
63011
+ end
63012
+ end
63013
+
63014
+ # Topology details for a single wire group endpoint.
63015
+ class WireGroupTopologyEndpoint
63016
+ include Google::Apis::Core::Hashable
63017
+
63018
+ # The InterconnectLocation.city (metropolitan area designator) that all
63019
+ # interconnects are located in.
63020
+ # Corresponds to the JSON property `city`
63021
+ # @return [String]
63022
+ attr_accessor :city
63023
+
63024
+ # Endpoint label from the wire group.
63025
+ # Corresponds to the JSON property `label`
63026
+ # @return [String]
63027
+ attr_accessor :label
63028
+
63029
+ def initialize(**args)
63030
+ update!(**args)
63031
+ end
63032
+
63033
+ # Update properties of this object
63034
+ def update!(**args)
63035
+ @city = args[:city] if args.key?(:city)
63036
+ @label = args[:label] if args.key?(:label)
63037
+ end
63038
+ end
63039
+
62097
63040
  # Optional settings for individual wires. Allows wire-level control that can be
62098
63041
  # useful for migration purposes. If you use this field, you opt-out of the SLA
62099
63042
  # for the wire group.