google-apis-compute_alpha 0.106.0 → 0.107.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.
@@ -3304,7 +3304,8 @@ module Google
3304
3304
  # CACHE_ALL_STATIC Automatically cache static content, including common image
3305
3305
  # formats, media (video and audio), and web assets (JavaScript and CSS).
3306
3306
  # Requests and responses that are marked as uncacheable, as well as dynamic
3307
- # content (including HTML), will not be cached.
3307
+ # content (including HTML), will not be cached. If no value is provided for
3308
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
3308
3309
  # Corresponds to the JSON property `cacheMode`
3309
3310
  # @return [String]
3310
3311
  attr_accessor :cache_mode
@@ -4448,7 +4449,8 @@ module Google
4448
4449
  # CACHE_ALL_STATIC Automatically cache static content, including common image
4449
4450
  # formats, media (video and audio), and web assets (JavaScript and CSS).
4450
4451
  # Requests and responses that are marked as uncacheable, as well as dynamic
4451
- # content (including HTML), will not be cached.
4452
+ # content (including HTML), will not be cached. If no value is provided for
4453
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
4452
4454
  # Corresponds to the JSON property `cacheMode`
4453
4455
  # @return [String]
4454
4456
  attr_accessor :cache_mode
@@ -5553,6 +5555,25 @@ module Google
5553
5555
  end
5554
5556
  end
5555
5557
 
5558
+ #
5559
+ class BackendServicesGetEffectiveSecurityPoliciesResponse
5560
+ include Google::Apis::Core::Hashable
5561
+
5562
+ # Effective security policies for the backend service.
5563
+ # Corresponds to the JSON property `securityPolicies`
5564
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicy>]
5565
+ attr_accessor :security_policies
5566
+
5567
+ def initialize(**args)
5568
+ update!(**args)
5569
+ end
5570
+
5571
+ # Update properties of this object
5572
+ def update!(**args)
5573
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
5574
+ end
5575
+ end
5576
+
5556
5577
  #
5557
5578
  class BackendServicesScopedList
5558
5579
  include Google::Apis::Core::Hashable
@@ -6317,6 +6338,11 @@ module Google
6317
6338
  class CacheInvalidationRule
6318
6339
  include Google::Apis::Core::Hashable
6319
6340
 
6341
+ # Not implemented.
6342
+ # Corresponds to the JSON property `cacheTags`
6343
+ # @return [Array<String>]
6344
+ attr_accessor :cache_tags
6345
+
6320
6346
  # If set, this invalidation rule will only apply to requests with a Host header
6321
6347
  # matching host.
6322
6348
  # Corresponds to the JSON property `host`
@@ -6334,6 +6360,7 @@ module Google
6334
6360
 
6335
6361
  # Update properties of this object
6336
6362
  def update!(**args)
6363
+ @cache_tags = args[:cache_tags] if args.key?(:cache_tags)
6337
6364
  @host = args[:host] if args.key?(:host)
6338
6365
  @path = args[:path] if args.key?(:path)
6339
6366
  end
@@ -8702,10 +8729,10 @@ module Google
8702
8729
  # replication after starting the replication. -
8703
8730
  # ASYNC_REPLICATION_STATE_REPLICATING_HEALTHY: The primary disk is healthily
8704
8731
  # 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. . -
8732
+ # ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_HIGH_CHURN: The replication is
8733
+ # lagging above the SLO limit due to some internal issue. -
8734
+ # ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_SYSTEM_LAGGING: The replication is
8735
+ # lagging, and the RPO is not being met due to some internal issue. -
8709
8736
  # ASYNC_REPLICATION_STATE_REPLICATION_STUCK: The replication is completely stuck
8710
8737
  # due to some internal error. - ASYNC_REPLICATION_STATE_STOPPING: The
8711
8738
  # replication is under the process of being stopped. This is a transient state. -
@@ -12157,6 +12184,13 @@ module Google
12157
12184
  class FutureReservation
12158
12185
  include Google::Apis::Core::Hashable
12159
12186
 
12187
+ # This reservation type is specified by total resource amounts (e.g. total count
12188
+ # of CPUs) and can account for multiple instance SKUs. In other words, one can
12189
+ # create instances of varying shapes against this reservation.
12190
+ # Corresponds to the JSON property `aggregateReservation`
12191
+ # @return [Google::Apis::ComputeAlpha::AllocationAggregateReservation]
12192
+ attr_accessor :aggregate_reservation
12193
+
12160
12194
  # Future timestamp when the FR auto-created reservations will be deleted by
12161
12195
  # Compute Engine. Format of this field must be a valid href="https://www.ietf.
12162
12196
  # org/rfc/rfc3339.txt">RFC3339 value.
@@ -12206,25 +12240,12 @@ module Google
12206
12240
  # @return [String]
12207
12241
  attr_accessor :description
12208
12242
 
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
12243
  # [Output Only] A unique identifier for this future reservation. The server
12218
12244
  # defines this identifier.
12219
12245
  # Corresponds to the JSON property `id`
12220
12246
  # @return [Fixnum]
12221
12247
  attr_accessor :id
12222
12248
 
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
12249
  # [Output Only] Type of the resource. Always compute#futureReservation for
12229
12250
  # future reservations.
12230
12251
  # Corresponds to the JSON property `kind`
@@ -12254,6 +12275,12 @@ module Google
12254
12275
  # @return [String]
12255
12276
  attr_accessor :planning_status
12256
12277
 
12278
+ # The reservation mode which determines reservation-termination behavior and
12279
+ # expected pricing.
12280
+ # Corresponds to the JSON property `reservationMode`
12281
+ # @return [String]
12282
+ attr_accessor :reservation_mode
12283
+
12257
12284
  # Name of reservations where the capacity is provisioned at the time of delivery
12258
12285
  # of future reservations. If the reservation with the given name does not exist
12259
12286
  # already, it is created automatically at the time of Approval with INACTIVE
@@ -12318,6 +12345,7 @@ module Google
12318
12345
 
12319
12346
  # Update properties of this object
12320
12347
  def update!(**args)
12348
+ @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation)
12321
12349
  @auto_created_reservations_delete_time = args[:auto_created_reservations_delete_time] if args.key?(:auto_created_reservations_delete_time)
12322
12350
  @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
12323
12351
  @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
@@ -12325,13 +12353,12 @@ module Google
12325
12353
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
12326
12354
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
12327
12355
  @description = args[:description] if args.key?(:description)
12328
- @enable_opportunistic_maintenance = args[:enable_opportunistic_maintenance] if args.key?(:enable_opportunistic_maintenance)
12329
12356
  @id = args[:id] if args.key?(:id)
12330
- @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
12331
12357
  @kind = args[:kind] if args.key?(:kind)
12332
12358
  @name = args[:name] if args.key?(:name)
12333
12359
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
12334
12360
  @planning_status = args[:planning_status] if args.key?(:planning_status)
12361
+ @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
12335
12362
  @reservation_name = args[:reservation_name] if args.key?(:reservation_name)
12336
12363
  @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
12337
12364
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -13383,13 +13410,6 @@ module Google
13383
13410
  class GroupMaintenanceInfo
13384
13411
  include Google::Apis::Core::Hashable
13385
13412
 
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
13413
  # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
13394
13414
  # of hosts in the block that have ongoing maintenance.
13395
13415
  # Corresponds to the JSON property `maintenanceOngoingCount`
@@ -13418,7 +13438,6 @@ module Google
13418
13438
 
13419
13439
  # Update properties of this object
13420
13440
  def update!(**args)
13421
- @enable_opportunistic_maintenance = args[:enable_opportunistic_maintenance] if args.key?(:enable_opportunistic_maintenance)
13422
13441
  @maintenance_ongoing_count = args[:maintenance_ongoing_count] if args.key?(:maintenance_ongoing_count)
13423
13442
  @maintenance_pending_count = args[:maintenance_pending_count] if args.key?(:maintenance_pending_count)
13424
13443
  @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
@@ -15995,12 +16014,10 @@ module Google
15995
16014
 
15996
16015
  # In response to a matching matchRule, the load balancer performs advanced
15997
16016
  # 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.
16017
+ # forwarding the request to the selected backend. Only one of urlRedirect,
16018
+ # service or routeAction.weightedBackendService can be set. URL maps for classic
16019
+ # Application Load Balancers only support the urlRewrite action within a route
16020
+ # rule's routeAction.
16004
16021
  # Corresponds to the JSON property `routeAction`
16005
16022
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
16006
16023
  attr_accessor :route_action
@@ -16008,10 +16025,8 @@ module Google
16008
16025
  # The full or partial URL of the backend service resource to which traffic is
16009
16026
  # directed if this rule is matched. If routeAction is also specified, advanced
16010
16027
  # 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.
16028
+ # to the backend. Only one of urlRedirect, service or routeAction.
16029
+ # weightedBackendService can be set.
16015
16030
  # Corresponds to the JSON property `service`
16016
16031
  # @return [String]
16017
16032
  attr_accessor :service
@@ -18631,11 +18646,12 @@ module Google
18631
18646
  class InstanceGroupManagerInstanceLifecyclePolicy
18632
18647
  include Google::Apis::Core::Hashable
18633
18648
 
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.
18649
+ # The action that a MIG performs on a failed VM. If the value of the
18650
+ # onFailedHealthCheck field is `DEFAULT_ACTION`, then the same action also
18651
+ # applies to the VMs on which your application fails a health check. Valid
18652
+ # values are - REPAIR (default): MIG automatically repairs a failed VM by
18653
+ # recreating it. For more information, see about repairing VMs in a MIG. -
18654
+ # DO_NOTHING: MIG does not repair a failed VM.
18639
18655
  # Corresponds to the JSON property `defaultActionOnFailure`
18640
18656
  # @return [String]
18641
18657
  attr_accessor :default_action_on_failure
@@ -18665,13 +18681,11 @@ module Google
18665
18681
 
18666
18682
  # The action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy
18667
18683
  # 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.
18684
+ # - DEFAULT_ACTION (default): MIG uses the same action configured for
18685
+ # instanceLifecyclePolicy.defaultActionOnFailure field. - REPAIR: MIG
18686
+ # automatically repairs an unhealthy VM by recreating it. - DO_NOTHING: MIG
18687
+ # doesn't repair an unhealthy VM. For more information, see about repairing VMs
18688
+ # in a MIG.
18675
18689
  # Corresponds to the JSON property `onFailedHealthCheck`
18676
18690
  # @return [String]
18677
18691
  attr_accessor :on_failed_health_check
@@ -22150,6 +22164,11 @@ module Google
22150
22164
  # @return [String]
22151
22165
  attr_accessor :name
22152
22166
 
22167
+ # [Output Only] The packet mirroring rules that apply to the instance.
22168
+ # Corresponds to the JSON property `packetMirroringRules`
22169
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
22170
+ attr_accessor :packet_mirroring_rules
22171
+
22153
22172
  # [Output only] Priority of firewall policy association. Not applicable for type=
22154
22173
  # HIERARCHY.
22155
22174
  # Corresponds to the JSON property `priority`
@@ -22182,6 +22201,7 @@ module Google
22182
22201
  def update!(**args)
22183
22202
  @display_name = args[:display_name] if args.key?(:display_name)
22184
22203
  @name = args[:name] if args.key?(:name)
22204
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
22185
22205
  @priority = args[:priority] if args.key?(:priority)
22186
22206
  @rules = args[:rules] if args.key?(:rules)
22187
22207
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -23561,6 +23581,13 @@ module Google
23561
23581
  # @return [String]
23562
23582
  attr_accessor :state
23563
23583
 
23584
+ # [Output Only] A list of the URLs of all CrossSiteNetwork WireGroups configured
23585
+ # to use this Interconnect. The Interconnect cannot be deleted if this list is
23586
+ # non-empty.
23587
+ # Corresponds to the JSON property `wireGroups`
23588
+ # @return [Array<String>]
23589
+ attr_accessor :wire_groups
23590
+
23564
23591
  def initialize(**args)
23565
23592
  update!(**args)
23566
23593
  end
@@ -23601,6 +23628,7 @@ module Google
23601
23628
  @self_link = args[:self_link] if args.key?(:self_link)
23602
23629
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
23603
23630
  @state = args[:state] if args.key?(:state)
23631
+ @wire_groups = args[:wire_groups] if args.key?(:wire_groups)
23604
23632
  end
23605
23633
  end
23606
23634
 
@@ -25940,7 +25968,7 @@ module Google
25940
25968
  attr_accessor :availability_zone
25941
25969
 
25942
25970
  # [Output only] List of features available at this InterconnectLocation, which
25943
- # can take one of the following values: - MACSEC
25971
+ # can take one of the following values: - IF_MACSEC
25944
25972
  # Corresponds to the JSON property `availableFeatures`
25945
25973
  # @return [Array<String>]
25946
25974
  attr_accessor :available_features
@@ -25969,6 +25997,13 @@ module Google
25969
25997
  # @return [String]
25970
25998
  attr_accessor :creation_timestamp
25971
25999
 
26000
+ # [Output Only] A list of InterconnectLocation.CrossSiteInterconnectInfo objects,
26001
+ # that describe parameters pertaining to the relation between this
26002
+ # InterconnectLocation and various Interconnect metros.
26003
+ # Corresponds to the JSON property `crossSiteInterconnectInfos`
26004
+ # @return [Array<Google::Apis::ComputeAlpha::InterconnectLocationCrossSiteInterconnectInfo>]
26005
+ attr_accessor :cross_site_interconnect_infos
26006
+
25972
26007
  # [Output Only] An optional description of the resource.
25973
26008
  # Corresponds to the JSON property `description`
25974
26009
  # @return [String]
@@ -26052,6 +26087,7 @@ module Google
26052
26087
  @city = args[:city] if args.key?(:city)
26053
26088
  @continent = args[:continent] if args.key?(:continent)
26054
26089
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
26090
+ @cross_site_interconnect_infos = args[:cross_site_interconnect_infos] if args.key?(:cross_site_interconnect_infos)
26055
26091
  @description = args[:description] if args.key?(:description)
26056
26092
  @facility_provider = args[:facility_provider] if args.key?(:facility_provider)
26057
26093
  @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
@@ -26067,6 +26103,33 @@ module Google
26067
26103
  end
26068
26104
  end
26069
26105
 
26106
+ # Information about any potential WireGroups between an Interconnect at a
26107
+ # specific InterconnectLocation, and an Interconnect in another metro.
26108
+ class InterconnectLocationCrossSiteInterconnectInfo
26109
+ include Google::Apis::Core::Hashable
26110
+
26111
+ # Metropolitan area designator
26112
+ # Corresponds to the JSON property `city`
26113
+ # @return [String]
26114
+ attr_accessor :city
26115
+
26116
+ # The maximum gbps for a single flow to this metro. This limits the total
26117
+ # bandwidth which may be configured per wire.
26118
+ # Corresponds to the JSON property `maxSingleFlowGbps`
26119
+ # @return [Fixnum]
26120
+ attr_accessor :max_single_flow_gbps
26121
+
26122
+ def initialize(**args)
26123
+ update!(**args)
26124
+ end
26125
+
26126
+ # Update properties of this object
26127
+ def update!(**args)
26128
+ @city = args[:city] if args.key?(:city)
26129
+ @max_single_flow_gbps = args[:max_single_flow_gbps] if args.key?(:max_single_flow_gbps)
26130
+ end
26131
+ end
26132
+
26070
26133
  # Response to the list request, and contains a list of interconnect locations.
26071
26134
  class InterconnectLocationList
26072
26135
  include Google::Apis::Core::Hashable
@@ -27342,7 +27405,7 @@ module Google
27342
27405
  # @return [Array<String>]
27343
27406
  attr_accessor :required_coattached_licenses
27344
27407
 
27345
- #
27408
+ # [Input Only] Deprecated.
27346
27409
  # Corresponds to the JSON property `resourceRequirements`
27347
27410
  # @return [Google::Apis::ComputeAlpha::LicenseResourceRequirements]
27348
27411
  attr_accessor :resource_requirements
@@ -27614,14 +27677,14 @@ module Google
27614
27677
  class LicenseResourceRequirements
27615
27678
  include Google::Apis::Core::Hashable
27616
27679
 
27617
- # Minimum number of guest cpus required to use the Instance. Enforced at
27618
- # Instance creation and Instance start.
27680
+ # [Input Only] Deprecated. This field no longer reflects the minimum number of
27681
+ # guest cpus required to use the Instance.
27619
27682
  # Corresponds to the JSON property `minGuestCpuCount`
27620
27683
  # @return [Fixnum]
27621
27684
  attr_accessor :min_guest_cpu_count
27622
27685
 
27623
- # Minimum memory required to use the Instance. Enforced at Instance creation and
27624
- # Instance start.
27686
+ # [Input Only] Deprecated. This field no longer reflects the minimum memory
27687
+ # required to use the Instance.
27625
27688
  # Corresponds to the JSON property `minMemoryMb`
27626
27689
  # @return [Fixnum]
27627
27690
  attr_accessor :min_memory_mb
@@ -29454,12 +29517,6 @@ module Google
29454
29517
  # @return [String]
29455
29518
  attr_accessor :kind
29456
29519
 
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
29520
  # The name of the multi-MIG. The name must be 1-63 characters long, and comply
29464
29521
  # with RFC1035. Specifically, the name must be 1-63 characters long and match
29465
29522
  # the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
@@ -29470,13 +29527,6 @@ module Google
29470
29527
  # @return [String]
29471
29528
  attr_accessor :name
29472
29529
 
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
29530
  # [Output only] The URL of the region where the resource resides. You must
29481
29531
  # specify this field as part of the HTTP request URL. You cannot set the region
29482
29532
  # as a field in the request body.
@@ -29490,11 +29540,6 @@ module Google
29490
29540
  # @return [Google::Apis::ComputeAlpha::MultiMigResourcePolicies]
29491
29541
  attr_accessor :resource_policies
29492
29542
 
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
29543
  # [Output only] Server-defined URL for the resource.
29499
29544
  # Corresponds to the JSON property `selfLink`
29500
29545
  # @return [String]
@@ -29520,70 +29565,15 @@ module Google
29520
29565
  @description = args[:description] if args.key?(:description)
29521
29566
  @id = args[:id] if args.key?(:id)
29522
29567
  @kind = args[:kind] if args.key?(:kind)
29523
- @location_policy = args[:location_policy] if args.key?(:location_policy)
29524
29568
  @name = args[:name] if args.key?(:name)
29525
- @parts = args[:parts] if args.key?(:parts)
29526
29569
  @region = args[:region] if args.key?(:region)
29527
29570
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
29528
- @scheduling_policy = args[:scheduling_policy] if args.key?(:scheduling_policy)
29529
29571
  @self_link = args[:self_link] if args.key?(:self_link)
29530
29572
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
29531
29573
  @status = args[:status] if args.key?(:status)
29532
29574
  end
29533
29575
  end
29534
29576
 
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
29577
  # Resource policies message for a multi-MIG. Specifies the workload policy
29588
29578
  # configuration of the multi-MIG.
29589
29579
  class MultiMigResourcePolicies
@@ -29609,26 +29599,6 @@ module Google
29609
29599
  end
29610
29600
  end
29611
29601
 
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
29602
  #
29633
29603
  class MultiMigStatus
29634
29604
  include Google::Apis::Core::Hashable
@@ -30046,7 +30016,7 @@ module Google
30046
30016
 
30047
30017
  # A full or partial URL of the network profile to apply to this network. This
30048
30018
  # field can be set only at resource creation time. For example, the following
30049
- # are valid URLs: - https://www.googleapis.com/compute/alpha/projects/`
30019
+ # are valid URLs: - https://www.googleapis.com/compute/`api_version`/projects/`
30050
30020
  # project_id`/global/networkProfiles/`network_profile_name` - projects/`
30051
30021
  # project_id`/global/networkProfiles/`network_profile_name`
30052
30022
  # Corresponds to the JSON property `networkProfile`
@@ -32124,8 +32094,7 @@ module Google
32124
32094
  # @return [String]
32125
32095
  attr_accessor :nic_type
32126
32096
 
32127
- # Name of the parent network interface of a VLAN based nic. If this field is
32128
- # specified, vlan must be set.
32097
+ # Name of the parent network interface of a dynamic network interface.
32129
32098
  # Corresponds to the JSON property `parentNicName`
32130
32099
  # @return [String]
32131
32100
  attr_accessor :parent_nic_name
@@ -32165,9 +32134,8 @@ module Google
32165
32134
  # @return [String]
32166
32135
  attr_accessor :subnetwork
32167
32136
 
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.
32137
+ # VLAN tag of a dynamic network interface, must be in range from 2 to 4094
32138
+ # inclusively.
32171
32139
  # Corresponds to the JSON property `vlan`
32172
32140
  # @return [Fixnum]
32173
32141
  attr_accessor :vlan
@@ -32543,6 +32511,11 @@ module Google
32543
32511
  # @return [String]
32544
32512
  attr_accessor :kind
32545
32513
 
32514
+ # [Output Only] Location to which the network is restricted.
32515
+ # Corresponds to the JSON property `location`
32516
+ # @return [Google::Apis::ComputeAlpha::NetworkProfileLocation]
32517
+ attr_accessor :location
32518
+
32546
32519
  # [Output Only] Name of the resource.
32547
32520
  # Corresponds to the JSON property `name`
32548
32521
  # @return [String]
@@ -32574,6 +32547,7 @@ module Google
32574
32547
  @features = args[:features] if args.key?(:features)
32575
32548
  @id = args[:id] if args.key?(:id)
32576
32549
  @kind = args[:kind] if args.key?(:kind)
32550
+ @location = args[:location] if args.key?(:location)
32577
32551
  @name = args[:name] if args.key?(:name)
32578
32552
  @self_link = args[:self_link] if args.key?(:self_link)
32579
32553
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -32581,6 +32555,31 @@ module Google
32581
32555
  end
32582
32556
  end
32583
32557
 
32558
+ #
32559
+ class NetworkProfileLocation
32560
+ include Google::Apis::Core::Hashable
32561
+
32562
+ #
32563
+ # Corresponds to the JSON property `name`
32564
+ # @return [String]
32565
+ attr_accessor :name
32566
+
32567
+ #
32568
+ # Corresponds to the JSON property `scope`
32569
+ # @return [String]
32570
+ attr_accessor :scope
32571
+
32572
+ def initialize(**args)
32573
+ update!(**args)
32574
+ end
32575
+
32576
+ # Update properties of this object
32577
+ def update!(**args)
32578
+ @name = args[:name] if args.key?(:name)
32579
+ @scope = args[:scope] if args.key?(:scope)
32580
+ end
32581
+ end
32582
+
32584
32583
  #
32585
32584
  class NetworkProfileNetworkFeatures
32586
32585
  include Google::Apis::Core::Hashable
@@ -32887,6 +32886,17 @@ module Google
32887
32886
  # @return [String]
32888
32887
  attr_accessor :bgp_inter_region_cost
32889
32888
 
32889
+ # [Output Only] Effective value of the bgp_always_compare_med field.
32890
+ # Corresponds to the JSON property `effectiveBgpAlwaysCompareMed`
32891
+ # @return [Boolean]
32892
+ attr_accessor :effective_bgp_always_compare_med
32893
+ alias_method :effective_bgp_always_compare_med?, :effective_bgp_always_compare_med
32894
+
32895
+ # [Output Only] Effective value of the bgp_inter_region_cost field.
32896
+ # Corresponds to the JSON property `effectiveBgpInterRegionCost`
32897
+ # @return [String]
32898
+ attr_accessor :effective_bgp_inter_region_cost
32899
+
32890
32900
  # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
32891
32901
  # Routers will only advertise routes with subnets of this network in the same
32892
32902
  # region as the router. If set to GLOBAL, this network's Cloud Routers will
@@ -32904,6 +32914,8 @@ module Google
32904
32914
  @bgp_always_compare_med = args[:bgp_always_compare_med] if args.key?(:bgp_always_compare_med)
32905
32915
  @bgp_best_path_selection_mode = args[:bgp_best_path_selection_mode] if args.key?(:bgp_best_path_selection_mode)
32906
32916
  @bgp_inter_region_cost = args[:bgp_inter_region_cost] if args.key?(:bgp_inter_region_cost)
32917
+ @effective_bgp_always_compare_med = args[:effective_bgp_always_compare_med] if args.key?(:effective_bgp_always_compare_med)
32918
+ @effective_bgp_inter_region_cost = args[:effective_bgp_inter_region_cost] if args.key?(:effective_bgp_inter_region_cost)
32907
32919
  @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
32908
32920
  end
32909
32921
  end
@@ -33020,6 +33032,11 @@ module Google
33020
33032
  # @return [String]
33021
33033
  attr_accessor :name
33022
33034
 
33035
+ # [Output Only] The packet mirroring rules that apply to the network.
33036
+ # Corresponds to the JSON property `packetMirroringRules`
33037
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
33038
+ attr_accessor :packet_mirroring_rules
33039
+
33023
33040
  # [Output only] Priority of firewall policy association. Not applicable for type=
33024
33041
  # HIERARCHY.
33025
33042
  # Corresponds to the JSON property `priority`
@@ -33049,6 +33066,7 @@ module Google
33049
33066
  def update!(**args)
33050
33067
  @display_name = args[:display_name] if args.key?(:display_name)
33051
33068
  @name = args[:name] if args.key?(:name)
33069
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
33052
33070
  @priority = args[:priority] if args.key?(:priority)
33053
33071
  @rules = args[:rules] if args.key?(:rules)
33054
33072
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -34531,6 +34549,11 @@ module Google
34531
34549
  # @return [Fixnum]
34532
34550
  attr_accessor :local_ssd_gb
34533
34551
 
34552
+ # [Output Only] Maximum number of VMs that can be created for this node type.
34553
+ # Corresponds to the JSON property `maxVms`
34554
+ # @return [Fixnum]
34555
+ attr_accessor :max_vms
34556
+
34534
34557
  # [Output Only] The amount of physical memory available to the node type,
34535
34558
  # defined in MB.
34536
34559
  # Corresponds to the JSON property `memoryMb`
@@ -34572,6 +34595,7 @@ module Google
34572
34595
  @id = args[:id] if args.key?(:id)
34573
34596
  @kind = args[:kind] if args.key?(:kind)
34574
34597
  @local_ssd_gb = args[:local_ssd_gb] if args.key?(:local_ssd_gb)
34598
+ @max_vms = args[:max_vms] if args.key?(:max_vms)
34575
34599
  @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
34576
34600
  @name = args[:name] if args.key?(:name)
34577
34601
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -36981,11 +37005,8 @@ module Google
36981
37005
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
36982
37006
  # The load balancer performs advanced routing actions, such as URL rewrites and
36983
37007
  # 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
37008
+ # Only one of defaultUrlRedirect, defaultService or defaultRouteAction.
37009
+ # weightedBackendService can be set. URL maps for classic Application Load
36989
37010
  # Balancers only support the urlRewrite action within a path matcher's
36990
37011
  # defaultRouteAction.
36991
37012
  # Corresponds to the JSON property `defaultRouteAction`
@@ -36999,14 +37020,11 @@ module Google
36999
37020
  # backendService - compute/v1/projects/project/global/backendServices/
37000
37021
  # backendService - global/backendServices/backendService If defaultRouteAction
37001
37022
  # 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
37023
+ # before sending the request to the backend. Only one of defaultUrlRedirect,
37024
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
37025
+ # Authorization requires one or more of the following Google IAM permissions on
37026
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
37027
+ # backendServices.use
37010
37028
  # Corresponds to the JSON property `defaultService`
37011
37029
  # @return [String]
37012
37030
  attr_accessor :default_service
@@ -37090,11 +37108,10 @@ module Google
37090
37108
 
37091
37109
  # In response to a matching path, the load balancer performs advanced routing
37092
37110
  # 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.
37111
+ # the request to the selected backend. Only one of urlRedirect, service or
37112
+ # routeAction.weightedBackendService can be set. URL maps for classic
37113
+ # Application Load Balancers only support the urlRewrite action within a path
37114
+ # rule's routeAction.
37098
37115
  # Corresponds to the JSON property `routeAction`
37099
37116
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
37100
37117
  attr_accessor :route_action
@@ -37102,10 +37119,8 @@ module Google
37102
37119
  # The full or partial URL of the backend service resource to which traffic is
37103
37120
  # directed if this rule is matched. If routeAction is also specified, advanced
37104
37121
  # 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.
37122
+ # to the backend. Only one of urlRedirect, service or routeAction.
37123
+ # weightedBackendService can be set.
37109
37124
  # Corresponds to the JSON property `service`
37110
37125
  # @return [String]
37111
37126
  attr_accessor :service
@@ -37167,7 +37182,7 @@ module Google
37167
37182
  # Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if
37168
37183
  # a per-instance configuration with the same name exists then it will be updated,
37169
37184
  # 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
37185
+ # An attempt to create a per-instance configuration for a VM instance that
37171
37186
  # either doesn't exist or is not part of the group will result in an error.
37172
37187
  # Corresponds to the JSON property `name`
37173
37188
  # @return [String]
@@ -37654,7 +37669,7 @@ module Google
37654
37669
  # @return [String]
37655
37670
  attr_accessor :description
37656
37671
 
37657
- # Restricted features enabled for use on this project.
37672
+ # An optional list of restricted features enabled for use on this project.
37658
37673
  # Corresponds to the JSON property `enabledFeatures`
37659
37674
  # @return [Array<String>]
37660
37675
  attr_accessor :enabled_features
@@ -41390,6 +41405,11 @@ module Google
41390
41405
  # @return [String]
41391
41406
  attr_accessor :name
41392
41407
 
41408
+ # [Output only] The packet mirroring rules that apply to the network.
41409
+ # Corresponds to the JSON property `packetMirroringRules`
41410
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
41411
+ attr_accessor :packet_mirroring_rules
41412
+
41393
41413
  # [Output only] Priority of firewall policy association. Not applicable for type=
41394
41414
  # HIERARCHY.
41395
41415
  # Corresponds to the JSON property `priority`
@@ -41415,6 +41435,7 @@ module Google
41415
41435
  def update!(**args)
41416
41436
  @display_name = args[:display_name] if args.key?(:display_name)
41417
41437
  @name = args[:name] if args.key?(:name)
41438
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
41418
41439
  @priority = args[:priority] if args.key?(:priority)
41419
41440
  @rules = args[:rules] if args.key?(:rules)
41420
41441
  @type = args[:type] if args.key?(:type)
@@ -41726,12 +41747,6 @@ module Google
41726
41747
  # @return [Fixnum]
41727
41748
  attr_accessor :id
41728
41749
 
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
41750
  # [Output Only] Type of the resource. Always compute#reservations for
41736
41751
  # reservations.
41737
41752
  # Corresponds to the JSON property `kind`
@@ -41829,7 +41844,6 @@ module Google
41829
41844
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
41830
41845
  @description = args[:description] if args.key?(:description)
41831
41846
  @id = args[:id] if args.key?(:id)
41832
- @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
41833
41847
  @kind = args[:kind] if args.key?(:kind)
41834
41848
  @name = args[:name] if args.key?(:name)
41835
41849
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
@@ -42388,6 +42402,44 @@ module Google
42388
42402
  end
42389
42403
  end
42390
42404
 
42405
+ #
42406
+ class ReservationsBlocksPerformMaintenanceRequest
42407
+ include Google::Apis::Core::Hashable
42408
+
42409
+ # Specifies if all, running or unused hosts are in scope for this request.
42410
+ # Corresponds to the JSON property `maintenanceScope`
42411
+ # @return [String]
42412
+ attr_accessor :maintenance_scope
42413
+
42414
+ def initialize(**args)
42415
+ update!(**args)
42416
+ end
42417
+
42418
+ # Update properties of this object
42419
+ def update!(**args)
42420
+ @maintenance_scope = args[:maintenance_scope] if args.key?(:maintenance_scope)
42421
+ end
42422
+ end
42423
+
42424
+ #
42425
+ class ReservationsPerformMaintenanceRequest
42426
+ include Google::Apis::Core::Hashable
42427
+
42428
+ # Specifies if all, running or unused hosts are in scope for this request.
42429
+ # Corresponds to the JSON property `maintenanceScope`
42430
+ # @return [String]
42431
+ attr_accessor :maintenance_scope
42432
+
42433
+ def initialize(**args)
42434
+ update!(**args)
42435
+ end
42436
+
42437
+ # Update properties of this object
42438
+ def update!(**args)
42439
+ @maintenance_scope = args[:maintenance_scope] if args.key?(:maintenance_scope)
42440
+ end
42441
+ end
42442
+
42391
42443
  #
42392
42444
  class ReservationsResizeRequest
42393
42445
  include Google::Apis::Core::Hashable
@@ -43585,7 +43637,9 @@ module Google
43585
43637
  # @return [Google::Apis::ComputeAlpha::ResourceStatusLastInstanceTerminationDetails]
43586
43638
  attr_accessor :last_instance_termination_details
43587
43639
 
43588
- # [Output Only] An opaque ID of the host on which the VM is running.
43640
+ # [Output Only] The precise location of your instance within the zone's data
43641
+ # center, including the block, sub-block, and host. The field is formatted as
43642
+ # follows: blockId/subBlockId/hostId.
43589
43643
  # Corresponds to the JSON property `physicalHost`
43590
43644
  # @return [String]
43591
43645
  attr_accessor :physical_host
@@ -43606,8 +43660,8 @@ module Google
43606
43660
  # @return [Hash<String,Google::Apis::ComputeAlpha::ResourceStatusServiceIntegrationStatus>]
43607
43661
  attr_accessor :service_integration_statuses
43608
43662
 
43609
- # Specifies if the instance is in `SHUTTING_DOWN` state or there is a instance
43610
- # stopping scheduled.
43663
+ # Specifies if the instance is in `PENDING_STOP` state or there is a programmed
43664
+ # stop scheduled.
43611
43665
  # Corresponds to the JSON property `shutdownDetails`
43612
43666
  # @return [Google::Apis::ComputeAlpha::ResourceStatusShutdownDetails]
43613
43667
  attr_accessor :shutdown_details
@@ -43765,22 +43819,27 @@ module Google
43765
43819
  class ResourceStatusPhysicalHostTopology
43766
43820
  include Google::Apis::Core::Hashable
43767
43821
 
43768
- #
43822
+ # [Output Only] The ID of the block in which the running instance is located.
43823
+ # Instances within the same block experience low network latency.
43769
43824
  # Corresponds to the JSON property `block`
43770
43825
  # @return [String]
43771
43826
  attr_accessor :block
43772
43827
 
43773
- #
43828
+ # [Output Only] The global name of the Compute Engine cluster where the running
43829
+ # instance is located.
43774
43830
  # Corresponds to the JSON property `cluster`
43775
43831
  # @return [String]
43776
43832
  attr_accessor :cluster
43777
43833
 
43778
- #
43834
+ # [Output Only] The ID of the host on which the running instance is located.
43835
+ # Instances on the same host experience the lowest possible network latency.
43779
43836
  # Corresponds to the JSON property `host`
43780
43837
  # @return [String]
43781
43838
  attr_accessor :host
43782
43839
 
43783
- #
43840
+ # [Output Only] The ID of the sub-block in which the running instance is located.
43841
+ # Instances in the same sub-block experience lower network latency than
43842
+ # instances in the same block.
43784
43843
  # Corresponds to the JSON property `subblock`
43785
43844
  # @return [String]
43786
43845
  attr_accessor :subblock
@@ -43876,8 +43935,8 @@ module Google
43876
43935
  end
43877
43936
  end
43878
43937
 
43879
- # Specifies if the instance is in `SHUTTING_DOWN` state or there is a instance
43880
- # stopping scheduled.
43938
+ # Specifies if the instance is in `PENDING_STOP` state or there is a programmed
43939
+ # stop scheduled.
43881
43940
  class ResourceStatusShutdownDetails
43882
43941
  include Google::Apis::Core::Hashable
43883
43942
 
@@ -46970,7 +47029,7 @@ module Google
46970
47029
  # @return [Fixnum]
46971
47030
  attr_accessor :current_memory_mb
46972
47031
 
46973
- # Configuration for gracefully shutting down the instance.
47032
+ # The configuration for gracefully shutting down the instance.
46974
47033
  # Corresponds to the JSON property `gracefulShutdown`
46975
47034
  # @return [Google::Apis::ComputeAlpha::SchedulingGracefulShutdown]
46976
47035
  attr_accessor :graceful_shutdown
@@ -47120,7 +47179,7 @@ module Google
47120
47179
  end
47121
47180
  end
47122
47181
 
47123
- # Configuration for gracefully shutting down the instance.
47182
+ # The configuration for gracefully shutting down the instance.
47124
47183
  class SchedulingGracefulShutdown
47125
47184
  include Google::Apis::Core::Hashable
47126
47185
 
@@ -47956,6 +48015,12 @@ module Google
47956
48015
  # @return [String]
47957
48016
  attr_accessor :log_level
47958
48017
 
48018
+ # The maximum request size chosen by the customer with Waf enabled. Currently
48019
+ # only "8KB" and "128KB" are supported. Values are case insensitive.
48020
+ # Corresponds to the JSON property `requestBodyInspectionSize`
48021
+ # @return [String]
48022
+ attr_accessor :request_body_inspection_size
48023
+
47959
48024
  # An optional list of case-insensitive request header names to use for resolving
47960
48025
  # the callers client IP address.
47961
48026
  # Corresponds to the JSON property `userIpRequestHeaders`
@@ -47971,6 +48036,7 @@ module Google
47971
48036
  @json_custom_config = args[:json_custom_config] if args.key?(:json_custom_config)
47972
48037
  @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
47973
48038
  @log_level = args[:log_level] if args.key?(:log_level)
48039
+ @request_body_inspection_size = args[:request_body_inspection_size] if args.key?(:request_body_inspection_size)
47974
48040
  @user_ip_request_headers = args[:user_ip_request_headers] if args.key?(:user_ip_request_headers)
47975
48041
  end
47976
48042
  end
@@ -48929,7 +48995,9 @@ module Google
48929
48995
  # originating client, which is resolved based on "userIpRequestHeaders"
48930
48996
  # configured with the security policy. If there is no "userIpRequestHeaders"
48931
48997
  # configuration or an IP address cannot be resolved from it, the key type
48932
- # defaults to IP.
48998
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
48999
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
49000
+ # defaults to ALL.
48933
49001
  # Corresponds to the JSON property `enforceOnKey`
48934
49002
  # @return [String]
48935
49003
  attr_accessor :enforce_on_key
@@ -49030,7 +49098,9 @@ module Google
49030
49098
  # originating client, which is resolved based on "userIpRequestHeaders"
49031
49099
  # configured with the security policy. If there is no "userIpRequestHeaders"
49032
49100
  # configuration or an IP address cannot be resolved from it, the key type
49033
- # defaults to IP.
49101
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
49102
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
49103
+ # defaults to ALL.
49034
49104
  # Corresponds to the JSON property `enforceOnKeyType`
49035
49105
  # @return [String]
49036
49106
  attr_accessor :enforce_on_key_type
@@ -54209,15 +54279,17 @@ module Google
54209
54279
  attr_accessor :private_ipv6_google_access
54210
54280
 
54211
54281
  # 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.
54282
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
54283
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
54284
+ # subnets or subnets that are automatically created in auto mode networks.
54285
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
54286
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
54287
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
54288
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
54289
+ # used for subnet migration from one peered VPC to another. If unspecified, the
54290
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
54291
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
54292
+ # REGIONAL_MANAGED_PROXY.
54221
54293
  # Corresponds to the JSON property `purpose`
54222
54294
  # @return [String]
54223
54295
  attr_accessor :purpose
@@ -55883,14 +55955,14 @@ module Google
55883
55955
  # Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target
55884
55956
  # HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/
55885
55957
  # 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.
55958
+ # regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud
55959
+ # HTTPS load balancers. * targetHttpProxies are used by global external
55960
+ # Application Load Balancers, classic Application Load Balancers, cross-region
55961
+ # internal Application Load Balancers, and Traffic Director. *
55962
+ # regionTargetHttpProxies are used by regional internal Application Load
55963
+ # Balancers and regional external Application Load Balancers. Forwarding rules
55964
+ # reference a target HTTPS proxy, and the target proxy then references a URL map.
55965
+ # For more information, read Using Target Proxies and Forwarding rule concepts.
55894
55966
  class TargetHttpsProxy
55895
55967
  include Google::Apis::Core::Hashable
55896
55968
 
@@ -59053,11 +59125,9 @@ module Google
59053
59125
 
59054
59126
  # defaultRouteAction takes effect when none of the hostRules match. The load
59055
59127
  # 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
59128
+ # transformations, before forwarding the request to the selected backend. Only
59129
+ # one of defaultUrlRedirect, defaultService or defaultRouteAction.
59130
+ # weightedBackendService can be set. URL maps for classic Application Load
59061
59131
  # Balancers only support the urlRewrite action within defaultRouteAction.
59062
59132
  # defaultRouteAction has no effect when the URL map is bound to a target gRPC
59063
59133
  # proxy that has the validateForProxyless field set to true.
@@ -59068,14 +59138,10 @@ module Google
59068
59138
  # The full or partial URL of the defaultService resource to which traffic is
59069
59139
  # directed if none of the hostRules match. If defaultRouteAction is also
59070
59140
  # 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.
59141
+ # sending the request to the backend. Only one of defaultUrlRedirect,
59142
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
59143
+ # defaultService has no effect when the URL map is bound to a target gRPC proxy
59144
+ # that has the validateForProxyless field set to true.
59079
59145
  # Corresponds to the JSON property `defaultService`
59080
59146
  # @return [String]
59081
59147
  attr_accessor :default_service
@@ -59838,15 +59904,17 @@ module Google
59838
59904
  attr_accessor :network
59839
59905
 
59840
59906
  # 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.
59907
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
59908
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
59909
+ # subnets or subnets that are automatically created in auto mode networks.
59910
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
59911
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
59912
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
59913
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
59914
+ # used for subnet migration from one peered VPC to another. If unspecified, the
59915
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
59916
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
59917
+ # REGIONAL_MANAGED_PROXY.
59850
59918
  # Corresponds to the JSON property `purpose`
59851
59919
  # @return [String]
59852
59920
  attr_accessor :purpose
@@ -61804,6 +61872,11 @@ module Google
61804
61872
  # @return [Google::Apis::ComputeAlpha::WireGroupServiceLevel]
61805
61873
  attr_accessor :service_level
61806
61874
 
61875
+ # Topology details for the wire group.
61876
+ # Corresponds to the JSON property `topology`
61877
+ # @return [Google::Apis::ComputeAlpha::WireGroupTopology]
61878
+ attr_accessor :topology
61879
+
61807
61880
  # The properties of a wire group. These properties determine how a group of
61808
61881
  # redundant wires are created and managed.
61809
61882
  # Corresponds to the JSON property `wireGroupProperties`
@@ -61844,6 +61917,7 @@ module Google
61844
61917
  @self_link = args[:self_link] if args.key?(:self_link)
61845
61918
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
61846
61919
  @service_level = args[:service_level] if args.key?(:service_level)
61920
+ @topology = args[:topology] if args.key?(:topology)
61847
61921
  @wire_group_properties = args[:wire_group_properties] if args.key?(:wire_group_properties)
61848
61922
  @wire_inputs = args[:wire_inputs] if args.key?(:wire_inputs)
61849
61923
  @wire_properties = args[:wire_properties] if args.key?(:wire_properties)
@@ -62079,7 +62153,8 @@ module Google
62079
62153
  include Google::Apis::Core::Hashable
62080
62154
 
62081
62155
  # [Output Only] The availability SLA that the wire group qualifies for. One of
62082
- # the following: `NO_AVAILABILITY_SLA`, `AVAILABILITY_99`, or `AVAILABILITY_999`.
62156
+ # the following: `NO_AVAILABILITY_SLA`, `AVAILABILITY_99`, `AVAILABILITY_999`,
62157
+ # or `AVAILABILITY_9995`.
62083
62158
  # Corresponds to the JSON property `availabilityClass`
62084
62159
  # @return [String]
62085
62160
  attr_accessor :availability_class
@@ -62094,6 +62169,51 @@ module Google
62094
62169
  end
62095
62170
  end
62096
62171
 
62172
+ # Topology details for the wire group.
62173
+ class WireGroupTopology
62174
+ include Google::Apis::Core::Hashable
62175
+
62176
+ # Topology details for all endpoints in the wire group.
62177
+ # Corresponds to the JSON property `endpoints`
62178
+ # @return [Array<Google::Apis::ComputeAlpha::WireGroupTopologyEndpoint>]
62179
+ attr_accessor :endpoints
62180
+
62181
+ def initialize(**args)
62182
+ update!(**args)
62183
+ end
62184
+
62185
+ # Update properties of this object
62186
+ def update!(**args)
62187
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
62188
+ end
62189
+ end
62190
+
62191
+ # Topology details for a single wire group endpoint.
62192
+ class WireGroupTopologyEndpoint
62193
+ include Google::Apis::Core::Hashable
62194
+
62195
+ # The InterconnectLocation.city (metropolitan area designator) that all
62196
+ # interconnects are located in.
62197
+ # Corresponds to the JSON property `city`
62198
+ # @return [String]
62199
+ attr_accessor :city
62200
+
62201
+ # Endpoint label from the wire group.
62202
+ # Corresponds to the JSON property `label`
62203
+ # @return [String]
62204
+ attr_accessor :label
62205
+
62206
+ def initialize(**args)
62207
+ update!(**args)
62208
+ end
62209
+
62210
+ # Update properties of this object
62211
+ def update!(**args)
62212
+ @city = args[:city] if args.key?(:city)
62213
+ @label = args[:label] if args.key?(:label)
62214
+ end
62215
+ end
62216
+
62097
62217
  # Optional settings for individual wires. Allows wire-level control that can be
62098
62218
  # useful for migration purposes. If you use this field, you opt-out of the SLA
62099
62219
  # for the wire group.