google-apis-compute_alpha 0.106.0 → 0.107.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.