google-apis-compute_alpha 0.106.0 → 0.108.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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.