google-apis-compute_alpha 0.44.0 → 0.47.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.
@@ -1176,6 +1176,44 @@ module Google
1176
1176
  end
1177
1177
  end
1178
1178
 
1179
+ # [Output Only] Contains output only fields.
1180
+ class AllocationResourceStatus
1181
+ include Google::Apis::Core::Hashable
1182
+
1183
+ # Contains Properties set for the reservation.
1184
+ # Corresponds to the JSON property `specificSkuAllocation`
1185
+ # @return [Google::Apis::ComputeAlpha::AllocationResourceStatusSpecificSkuAllocation]
1186
+ attr_accessor :specific_sku_allocation
1187
+
1188
+ def initialize(**args)
1189
+ update!(**args)
1190
+ end
1191
+
1192
+ # Update properties of this object
1193
+ def update!(**args)
1194
+ @specific_sku_allocation = args[:specific_sku_allocation] if args.key?(:specific_sku_allocation)
1195
+ end
1196
+ end
1197
+
1198
+ # Contains Properties set for the reservation.
1199
+ class AllocationResourceStatusSpecificSkuAllocation
1200
+ include Google::Apis::Core::Hashable
1201
+
1202
+ # ID of the instance template used to populate reservation properties.
1203
+ # Corresponds to the JSON property `sourceInstanceTemplateId`
1204
+ # @return [String]
1205
+ attr_accessor :source_instance_template_id
1206
+
1207
+ def initialize(**args)
1208
+ update!(**args)
1209
+ end
1210
+
1211
+ # Update properties of this object
1212
+ def update!(**args)
1213
+ @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
1214
+ end
1215
+ end
1216
+
1179
1217
  #
1180
1218
  class AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk
1181
1219
  include Google::Apis::Core::Hashable
@@ -1289,6 +1327,11 @@ module Google
1289
1327
  # @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocationReservedInstanceProperties]
1290
1328
  attr_accessor :instance_properties
1291
1329
 
1330
+ # Specific URL of the instance template used in the reservation
1331
+ # Corresponds to the JSON property `sourceInstanceTemplate`
1332
+ # @return [String]
1333
+ attr_accessor :source_instance_template
1334
+
1292
1335
  def initialize(**args)
1293
1336
  update!(**args)
1294
1337
  end
@@ -1299,6 +1342,7 @@ module Google
1299
1342
  @count = args[:count] if args.key?(:count)
1300
1343
  @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
1301
1344
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
1345
+ @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
1302
1346
  end
1303
1347
  end
1304
1348
 
@@ -1592,6 +1636,13 @@ module Google
1592
1636
  # @return [Fixnum]
1593
1637
  attr_accessor :provisioned_iops
1594
1638
 
1639
+ # Indicates how much throughput to provision for the disk. This sets the number
1640
+ # of throughput mb per second that the disk can handle. Values must be between 1
1641
+ # and 7,124.
1642
+ # Corresponds to the JSON property `provisionedThroughput`
1643
+ # @return [Fixnum]
1644
+ attr_accessor :provisioned_throughput
1645
+
1595
1646
  # URLs of the zones where the disk should be replicated to. Only applicable for
1596
1647
  # regional resources.
1597
1648
  # Corresponds to the JSON property `replicaZones`
@@ -1684,6 +1735,7 @@ module Google
1684
1735
  @multi_writer = args[:multi_writer] if args.key?(:multi_writer)
1685
1736
  @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
1686
1737
  @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
1738
+ @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
1687
1739
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
1688
1740
  @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
1689
1741
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -4925,25 +4977,28 @@ module Google
4925
4977
  # anyone who is authenticated with a Google account or a service account. * `
4926
4978
  # user:`emailid``: An email address that represents a specific Google account.
4927
4979
  # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
4928
- # address that represents a service account. For example, `my-other-app@appspot.
4929
- # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
4930
- # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
4931
- # `uniqueid``: An email address (plus unique identifier) representing a user
4932
- # that has been recently deleted. For example, `alice@example.com?uid=
4933
- # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
4934
- # emailid`` and the recovered user retains the role in the binding. * `deleted:
4935
- # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
4936
- # identifier) representing a service account that has been recently deleted. For
4937
- # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
4938
- # If the service account is undeleted, this value reverts to `serviceAccount:`
4939
- # emailid`` and the undeleted service account retains the role in the binding. *
4940
- # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
4941
- # identifier) representing a Google group that has been recently deleted. For
4942
- # example, `admins@example.com?uid=123456789012345678901`. If the group is
4943
- # recovered, this value reverts to `group:`emailid`` and the recovered group
4944
- # retains the role in the binding. * `domain:`domain``: The G Suite domain (
4945
- # primary) that represents all the users of that domain. For example, `google.
4946
- # com` or `example.com`.
4980
+ # address that represents a Google service account. For example, `my-other-app@
4981
+ # appspot.gserviceaccount.com`. * `serviceAccount:`projectid`.svc.id.goog[`
4982
+ # namespace`/`kubernetes-sa`]`: An identifier for a [Kubernetes service account](
4983
+ # https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-
4984
+ # accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`
4985
+ # . * `group:`emailid``: An email address that represents a Google group. For
4986
+ # example, `admins@example.com`. * `deleted:user:`emailid`?uid=`uniqueid``: An
4987
+ # email address (plus unique identifier) representing a user that has been
4988
+ # recently deleted. For example, `alice@example.com?uid=123456789012345678901`.
4989
+ # If the user is recovered, this value reverts to `user:`emailid`` and the
4990
+ # recovered user retains the role in the binding. * `deleted:serviceAccount:`
4991
+ # emailid`?uid=`uniqueid``: An email address (plus unique identifier)
4992
+ # representing a service account that has been recently deleted. For example, `
4993
+ # my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
4994
+ # service account is undeleted, this value reverts to `serviceAccount:`emailid``
4995
+ # and the undeleted service account retains the role in the binding. * `deleted:
4996
+ # group:`emailid`?uid=`uniqueid``: An email address (plus unique identifier)
4997
+ # representing a Google group that has been recently deleted. For example, `
4998
+ # admins@example.com?uid=123456789012345678901`. If the group is recovered, this
4999
+ # value reverts to `group:`emailid`` and the recovered group retains the role in
5000
+ # the binding. * `domain:`domain``: The G Suite domain (primary) that represents
5001
+ # all the users of that domain. For example, `google.com` or `example.com`.
4947
5002
  # Corresponds to the JSON property `members`
4948
5003
  # @return [Array<String>]
4949
5004
  attr_accessor :members
@@ -6507,6 +6562,13 @@ module Google
6507
6562
  # @return [Fixnum]
6508
6563
  attr_accessor :provisioned_iops
6509
6564
 
6565
+ # Indicates how much throughput to provision for the disk. This sets the number
6566
+ # of throughput mb per second that the disk can handle. Values must be between 1
6567
+ # and 7,124.
6568
+ # Corresponds to the JSON property `provisionedThroughput`
6569
+ # @return [Fixnum]
6570
+ attr_accessor :provisioned_throughput
6571
+
6510
6572
  # [Output Only] URL of the region where the disk resides. Only applicable for
6511
6573
  # regional resources. You must specify this field as part of the HTTP request
6512
6574
  # URL. It is not settable as a field in the request body.
@@ -6741,6 +6803,7 @@ module Google
6741
6803
  @params = args[:params] if args.key?(:params)
6742
6804
  @physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes)
6743
6805
  @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
6806
+ @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
6744
6807
  @region = args[:region] if args.key?(:region)
6745
6808
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
6746
6809
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -7840,8 +7903,10 @@ module Google
7840
7903
  end
7841
7904
  end
7842
7905
 
7843
- #
7844
- class DisksStopGroupAsyncReplicationRequest
7906
+ # A transient resource used in compute.disks.stopGroupAsyncReplication and
7907
+ # compute.regionDisks.stopGroupAsyncReplication. It is only used to process
7908
+ # requests and is not persisted.
7909
+ class DisksStopGroupAsyncReplicationResource
7845
7910
  include Google::Apis::Core::Hashable
7846
7911
 
7847
7912
  # The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This
@@ -9329,7 +9394,7 @@ module Google
9329
9394
  # A fully-qualified URL of a SecurityProfile resource instance. Example: https://
9330
9395
  # networksecurity.googleapis.com/v1/projects/`project`/locations/`location`/
9331
9396
  # securityProfileGroups/my-security-profile-group Must be specified if action = '
9332
- # apply_profile_group' and cannot be specified for other actions.
9397
+ # apply_security_profile_group' and cannot be specified for other actions.
9333
9398
  # Corresponds to the JSON property `securityProfileGroup`
9334
9399
  # @return [String]
9335
9400
  attr_accessor :security_profile_group
@@ -10367,6 +10432,11 @@ module Google
10367
10432
  # @return [String]
10368
10433
  attr_accessor :name_prefix
10369
10434
 
10435
+ # Planning state before being submitted for evaluation
10436
+ # Corresponds to the JSON property `planningStatus`
10437
+ # @return [String]
10438
+ attr_accessor :planning_status
10439
+
10370
10440
  # [Output Only] Server-defined fully-qualified URL for this resource.
10371
10441
  # Corresponds to the JSON property `selfLink`
10372
10442
  # @return [String]
@@ -10415,6 +10485,7 @@ module Google
10415
10485
  @kind = args[:kind] if args.key?(:kind)
10416
10486
  @name = args[:name] if args.key?(:name)
10417
10487
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10488
+ @planning_status = args[:planning_status] if args.key?(:planning_status)
10418
10489
  @self_link = args[:self_link] if args.key?(:self_link)
10419
10490
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
10420
10491
  @share_settings = args[:share_settings] if args.key?(:share_settings)
@@ -10434,6 +10505,12 @@ module Google
10434
10505
  # @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocationReservedInstanceProperties]
10435
10506
  attr_accessor :instance_properties
10436
10507
 
10508
+ # The instance template that will be used to populate the
10509
+ # ReservedInstanceProperties of the future reservation
10510
+ # Corresponds to the JSON property `sourceInstanceTemplate`
10511
+ # @return [String]
10512
+ attr_accessor :source_instance_template
10513
+
10437
10514
  # Total number of instances for which capacity assurance is requested at a
10438
10515
  # future time period.
10439
10516
  # Corresponds to the JSON property `totalCount`
@@ -10447,6 +10524,7 @@ module Google
10447
10524
  # Update properties of this object
10448
10525
  def update!(**args)
10449
10526
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
10527
+ @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
10450
10528
  @total_count = args[:total_count] if args.key?(:total_count)
10451
10529
  end
10452
10530
  end
@@ -10480,6 +10558,11 @@ module Google
10480
10558
  # @return [String]
10481
10559
  attr_accessor :procurement_status
10482
10560
 
10561
+ # Properties to be set for the Future Reservation.
10562
+ # Corresponds to the JSON property `specificSkuProperties`
10563
+ # @return [Google::Apis::ComputeAlpha::FutureReservationStatusSpecificSkuProperties]
10564
+ attr_accessor :specific_sku_properties
10565
+
10483
10566
  def initialize(**args)
10484
10567
  update!(**args)
10485
10568
  end
@@ -10490,6 +10573,26 @@ module Google
10490
10573
  @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
10491
10574
  @lock_time = args[:lock_time] if args.key?(:lock_time)
10492
10575
  @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
10576
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10577
+ end
10578
+ end
10579
+
10580
+ # Properties to be set for the Future Reservation.
10581
+ class FutureReservationStatusSpecificSkuProperties
10582
+ include Google::Apis::Core::Hashable
10583
+
10584
+ # ID of the instance template used to populate the Future Reservation properties.
10585
+ # Corresponds to the JSON property `sourceInstanceTemplateId`
10586
+ # @return [String]
10587
+ attr_accessor :source_instance_template_id
10588
+
10589
+ def initialize(**args)
10590
+ update!(**args)
10591
+ end
10592
+
10593
+ # Update properties of this object
10594
+ def update!(**args)
10595
+ @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
10493
10596
  end
10494
10597
  end
10495
10598
 
@@ -13653,9 +13756,9 @@ module Google
13653
13756
  # forwarding the request to the selected backend. If routeAction specifies any
13654
13757
  # weightedBackendServices, service must not be set. Conversely if service is set,
13655
13758
  # routeAction cannot contain any weightedBackendServices. Only one of
13656
- # urlRedirect, service or routeAction.weightedBackendService must be set.
13657
- # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
13658
- # within a route rule's routeAction.
13759
+ # urlRedirect, service or routeAction.weightedBackendService must be set. URL
13760
+ # maps for Classic external HTTP(S) load balancers only support the urlRewrite
13761
+ # action within a route rule's routeAction.
13659
13762
  # Corresponds to the JSON property `routeAction`
13660
13763
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
13661
13764
  attr_accessor :route_action
@@ -14872,7 +14975,7 @@ module Google
14872
14975
  # @return [Google::Apis::ComputeAlpha::Tags]
14873
14976
  attr_accessor :tags
14874
14977
 
14875
- # Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
14978
+ # Upcoming Maintenance notification information. TODO(b/242069500) Deprecate
14876
14979
  # this proto once it's fully migrated to be under proto ResourceStatus.
14877
14980
  # UpcomingMaintenance.
14878
14981
  # Corresponds to the JSON property `upcomingMaintenance`
@@ -16087,10 +16190,9 @@ module Google
16087
16190
 
16088
16191
  # A bit indicating whether to forcefully apply the group's latest configuration
16089
16192
  # when repairing a VM. Valid options are: - NO (default): If configuration
16090
- # updates are available, they are not forcefully applied during repair. However,
16091
- # if you've set up a proactive type of update policy, then configuration updates
16092
- # are applied as usual. - YES: If configuration updates are available, they are
16093
- # applied during repair.
16193
+ # updates are available, they are not forcefully applied during repair. Instead,
16194
+ # configuration updates are applied according to the group's update policy. -
16195
+ # YES: If configuration updates are available, they are applied during repair.
16094
16196
  # Corresponds to the JSON property `forceUpdateOnRepair`
16095
16197
  # @return [String]
16096
16198
  attr_accessor :force_update_on_repair
@@ -22851,7 +22953,7 @@ module Google
22851
22953
  class LocalizedMessage
22852
22954
  include Google::Apis::Core::Hashable
22853
22955
 
22854
- # The locale used following the specification defined at http://www.rfc-editor.
22956
+ # The locale used following the specification defined at https://www.rfc-editor.
22855
22957
  # org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
22856
22958
  # Corresponds to the JSON property `locale`
22857
22959
  # @return [String]
@@ -24983,6 +25085,12 @@ module Google
24983
25085
  # @return [String]
24984
25086
  attr_accessor :network_endpoint_type
24985
25087
 
25088
+ # All data that is specifically relevant to only network endpoint groups of type
25089
+ # PRIVATE_SERVICE_CONNECT.
25090
+ # Corresponds to the JSON property `pscData`
25091
+ # @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupPscData]
25092
+ attr_accessor :psc_data
25093
+
24986
25094
  # The target service url used to set up private service connection to a Google
24987
25095
  # API or a PSC Producer Service Attachment. An example value is: "asia-
24988
25096
  # northeast3-cloudkms.googleapis.com"
@@ -25054,6 +25162,7 @@ module Google
25054
25162
  @name = args[:name] if args.key?(:name)
25055
25163
  @network = args[:network] if args.key?(:network)
25056
25164
  @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
25165
+ @psc_data = args[:psc_data] if args.key?(:psc_data)
25057
25166
  @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
25058
25167
  @region = args[:region] if args.key?(:region)
25059
25168
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -25469,6 +25578,39 @@ module Google
25469
25578
  end
25470
25579
  end
25471
25580
 
25581
+ # All data that is specifically relevant to only network endpoint groups of type
25582
+ # PRIVATE_SERVICE_CONNECT.
25583
+ class NetworkEndpointGroupPscData
25584
+ include Google::Apis::Core::Hashable
25585
+
25586
+ # [Output Only] Address allocated from given subnetwork for PSC. This IP address
25587
+ # acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.
25588
+ # Corresponds to the JSON property `consumerPscAddress`
25589
+ # @return [String]
25590
+ attr_accessor :consumer_psc_address
25591
+
25592
+ # [Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.
25593
+ # Corresponds to the JSON property `pscConnectionId`
25594
+ # @return [Fixnum]
25595
+ attr_accessor :psc_connection_id
25596
+
25597
+ # [Output Only] The connection status of the PSC Forwarding Rule.
25598
+ # Corresponds to the JSON property `pscConnectionStatus`
25599
+ # @return [String]
25600
+ attr_accessor :psc_connection_status
25601
+
25602
+ def initialize(**args)
25603
+ update!(**args)
25604
+ end
25605
+
25606
+ # Update properties of this object
25607
+ def update!(**args)
25608
+ @consumer_psc_address = args[:consumer_psc_address] if args.key?(:consumer_psc_address)
25609
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
25610
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
25611
+ end
25612
+ end
25613
+
25472
25614
  # Configuration for a serverless network endpoint group (NEG). The platform must
25473
25615
  # be provided. Note: The target backend service must be in the same project and
25474
25616
  # located in the same region as the Serverless NEG.
@@ -27331,6 +27473,25 @@ module Google
27331
27473
  end
27332
27474
  end
27333
27475
 
27476
+ #
27477
+ class NodeGroupsSimulateMaintenanceEventRequest
27478
+ include Google::Apis::Core::Hashable
27479
+
27480
+ # Names of the nodes to go under maintenance simulation.
27481
+ # Corresponds to the JSON property `nodes`
27482
+ # @return [Array<String>]
27483
+ attr_accessor :nodes
27484
+
27485
+ def initialize(**args)
27486
+ update!(**args)
27487
+ end
27488
+
27489
+ # Update properties of this object
27490
+ def update!(**args)
27491
+ @nodes = args[:nodes] if args.key?(:nodes)
27492
+ end
27493
+ end
27494
+
27334
27495
  # Represent a sole-tenant Node Template resource. You can use a template to
27335
27496
  # define properties for nodes in a node group. For more information, read
27336
27497
  # Creating node groups and instances.
@@ -30285,8 +30446,9 @@ module Google
30285
30446
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
30286
30447
  # must not be set. Conversely if defaultService is set, defaultRouteAction
30287
30448
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
30288
- # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
30289
- # support only the urlRewrite action within a path matcher's defaultRouteAction.
30449
+ # defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load
30450
+ # balancers only support the urlRewrite action within a path matcher's
30451
+ # defaultRouteAction.
30290
30452
  # Corresponds to the JSON property `defaultRouteAction`
30291
30453
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
30292
30454
  attr_accessor :default_route_action
@@ -30392,8 +30554,9 @@ module Google
30392
30554
  # the request to the selected backend. If routeAction specifies any
30393
30555
  # weightedBackendServices, service must not be set. Conversely if service is set,
30394
30556
  # routeAction cannot contain any weightedBackendServices. Only one of
30395
- # routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
30396
- # balancers support only the urlRewrite action within a path rule's routeAction.
30557
+ # routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S)
30558
+ # load balancers only support the urlRewrite action within a path rule's
30559
+ # routeAction.
30397
30560
  # Corresponds to the JSON property `routeAction`
30398
30561
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
30399
30562
  attr_accessor :route_action
@@ -33024,29 +33187,6 @@ module Google
33024
33187
  end
33025
33188
  end
33026
33189
 
33027
- #
33028
- class RegionDisksStopGroupAsyncReplicationRequest
33029
- include Google::Apis::Core::Hashable
33030
-
33031
- # The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This
33032
- # may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/
33033
- # projects/project/regions/region /resourcePolicies/resourcePolicy - projects/
33034
- # project/regions/region/resourcePolicies/resourcePolicy - regions/region/
33035
- # resourcePolicies/resourcePolicy
33036
- # Corresponds to the JSON property `resourcePolicy`
33037
- # @return [String]
33038
- attr_accessor :resource_policy
33039
-
33040
- def initialize(**args)
33041
- update!(**args)
33042
- end
33043
-
33044
- # Update properties of this object
33045
- def update!(**args)
33046
- @resource_policy = args[:resource_policy] if args.key?(:resource_policy)
33047
- end
33048
- end
33049
-
33050
33190
  # Contains a list of InstanceGroup resources.
33051
33191
  class RegionInstanceGroupList
33052
33192
  include Google::Apis::Core::Hashable
@@ -34463,6 +34603,11 @@ module Google
34463
34603
  # @return [Hash<String,String>]
34464
34604
  attr_accessor :resource_policies
34465
34605
 
34606
+ # [Output Only] Contains output only fields.
34607
+ # Corresponds to the JSON property `resourceStatus`
34608
+ # @return [Google::Apis::ComputeAlpha::AllocationResourceStatus]
34609
+ attr_accessor :resource_status
34610
+
34466
34611
  # [Output Only] Reserved for future use.
34467
34612
  # Corresponds to the JSON property `satisfiesPzs`
34468
34613
  # @return [Boolean]
@@ -34522,6 +34667,7 @@ module Google
34522
34667
  @kind = args[:kind] if args.key?(:kind)
34523
34668
  @name = args[:name] if args.key?(:name)
34524
34669
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
34670
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
34525
34671
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
34526
34672
  @self_link = args[:self_link] if args.key?(:self_link)
34527
34673
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -38383,6 +38529,12 @@ module Google
38383
38529
  # @return [Fixnum]
38384
38530
  attr_accessor :current_memory_mb
38385
38531
 
38532
+ # Configuration for properties related to dynamic assignment of computing
38533
+ # resources to VM (CPU and RAM).
38534
+ # Corresponds to the JSON property `dynamicResizeProperties`
38535
+ # @return [Google::Apis::ComputeAlpha::SchedulingDynamicResizeProperties]
38536
+ attr_accessor :dynamic_resize_properties
38537
+
38386
38538
  # Specify the time in seconds for host error detection, the value must be within
38387
38539
  # the range of [90, 330] with the increment of 30, if unset, the default
38388
38540
  # behavior of host error recovery will be used.
@@ -38480,6 +38632,7 @@ module Google
38480
38632
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
38481
38633
  @current_cpus = args[:current_cpus] if args.key?(:current_cpus)
38482
38634
  @current_memory_mb = args[:current_memory_mb] if args.key?(:current_memory_mb)
38635
+ @dynamic_resize_properties = args[:dynamic_resize_properties] if args.key?(:dynamic_resize_properties)
38483
38636
  @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
38484
38637
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
38485
38638
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
@@ -38496,6 +38649,33 @@ module Google
38496
38649
  end
38497
38650
  end
38498
38651
 
38652
+ # Configuration for properties related to dynamic assignment of computing
38653
+ # resources to VM (CPU and RAM).
38654
+ class SchedulingDynamicResizeProperties
38655
+ include Google::Apis::Core::Hashable
38656
+
38657
+ # Set to true if this VM is supporting HotStandby modes (b/235044648).
38658
+ # Corresponds to the JSON property `enableHotStandby`
38659
+ # @return [Boolean]
38660
+ attr_accessor :enable_hot_standby
38661
+ alias_method :enable_hot_standby?, :enable_hot_standby
38662
+
38663
+ # Current Hot Standby state of VM.
38664
+ # Corresponds to the JSON property `hotStandbyState`
38665
+ # @return [String]
38666
+ attr_accessor :hot_standby_state
38667
+
38668
+ def initialize(**args)
38669
+ update!(**args)
38670
+ end
38671
+
38672
+ # Update properties of this object
38673
+ def update!(**args)
38674
+ @enable_hot_standby = args[:enable_hot_standby] if args.key?(:enable_hot_standby)
38675
+ @hot_standby_state = args[:hot_standby_state] if args.key?(:hot_standby_state)
38676
+ end
38677
+ end
38678
+
38499
38679
  # Node Affinity: the configuration of desired nodes onto which this Instance
38500
38680
  # could be scheduled.
38501
38681
  class SchedulingNodeAffinity
@@ -39120,6 +39300,12 @@ module Google
39120
39300
  class SecurityPolicyAdvancedOptionsConfig
39121
39301
  include Google::Apis::Core::Hashable
39122
39302
 
39303
+ # Custom configuration to apply the JSON parsing. Only applicable when
39304
+ # json_parsing is set to STANDARD.
39305
+ # Corresponds to the JSON property `jsonCustomConfig`
39306
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyAdvancedOptionsConfigJsonCustomConfig]
39307
+ attr_accessor :json_custom_config
39308
+
39123
39309
  #
39124
39310
  # Corresponds to the JSON property `jsonParsing`
39125
39311
  # @return [String]
@@ -39136,11 +39322,35 @@ module Google
39136
39322
 
39137
39323
  # Update properties of this object
39138
39324
  def update!(**args)
39325
+ @json_custom_config = args[:json_custom_config] if args.key?(:json_custom_config)
39139
39326
  @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
39140
39327
  @log_level = args[:log_level] if args.key?(:log_level)
39141
39328
  end
39142
39329
  end
39143
39330
 
39331
+ #
39332
+ class SecurityPolicyAdvancedOptionsConfigJsonCustomConfig
39333
+ include Google::Apis::Core::Hashable
39334
+
39335
+ # A list of custom Content-Type header values to apply the JSON parsing. As per
39336
+ # RFC 1341, a Content-Type header value has the following format: Content-Type :=
39337
+ # type "/" subtype *[";" parameter] When configuring a custom Content-Type
39338
+ # header value, only the type/subtype needs to be specified, and the parameters
39339
+ # should be excluded.
39340
+ # Corresponds to the JSON property `contentTypes`
39341
+ # @return [Array<String>]
39342
+ attr_accessor :content_types
39343
+
39344
+ def initialize(**args)
39345
+ update!(**args)
39346
+ end
39347
+
39348
+ # Update properties of this object
39349
+ def update!(**args)
39350
+ @content_types = args[:content_types] if args.key?(:content_types)
39351
+ end
39352
+ end
39353
+
39144
39354
  #
39145
39355
  class SecurityPolicyAssociation
39146
39356
  include Google::Apis::Core::Hashable
@@ -39442,6 +39652,13 @@ module Google
39442
39652
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcher]
39443
39653
  attr_accessor :match
39444
39654
 
39655
+ # Preconfigured WAF configuration to be applied for the rule. If the rule does
39656
+ # not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is
39657
+ # not used, this field will have no effect.
39658
+ # Corresponds to the JSON property `preconfiguredWafConfig`
39659
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfig]
39660
+ attr_accessor :preconfigured_waf_config
39661
+
39445
39662
  # If set to true, the specified action is not enforced.
39446
39663
  # Corresponds to the JSON property `preview`
39447
39664
  # @return [Boolean]
@@ -39519,6 +39736,7 @@ module Google
39519
39736
  @header_action = args[:header_action] if args.key?(:header_action)
39520
39737
  @kind = args[:kind] if args.key?(:kind)
39521
39738
  @match = args[:match] if args.key?(:match)
39739
+ @preconfigured_waf_config = args[:preconfigured_waf_config] if args.key?(:preconfigured_waf_config)
39522
39740
  @preview = args[:preview] if args.key?(:preview)
39523
39741
  @priority = args[:priority] if args.key?(:priority)
39524
39742
  @rate_limit_options = args[:rate_limit_options] if args.key?(:rate_limit_options)
@@ -39731,6 +39949,107 @@ module Google
39731
39949
  end
39732
39950
  end
39733
39951
 
39952
+ #
39953
+ class SecurityPolicyRulePreconfiguredWafConfig
39954
+ include Google::Apis::Core::Hashable
39955
+
39956
+ # A list of exclusions to apply during preconfigured WAF evaluation.
39957
+ # Corresponds to the JSON property `exclusions`
39958
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfigExclusion>]
39959
+ attr_accessor :exclusions
39960
+
39961
+ def initialize(**args)
39962
+ update!(**args)
39963
+ end
39964
+
39965
+ # Update properties of this object
39966
+ def update!(**args)
39967
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
39968
+ end
39969
+ end
39970
+
39971
+ #
39972
+ class SecurityPolicyRulePreconfiguredWafConfigExclusion
39973
+ include Google::Apis::Core::Hashable
39974
+
39975
+ # A list of request cookie names whose value will be excluded from inspection
39976
+ # during preconfigured WAF evaluation.
39977
+ # Corresponds to the JSON property `requestCookiesToExclude`
39978
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>]
39979
+ attr_accessor :request_cookies_to_exclude
39980
+
39981
+ # A list of request header names whose value will be excluded from inspection
39982
+ # during preconfigured WAF evaluation.
39983
+ # Corresponds to the JSON property `requestHeadersToExclude`
39984
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>]
39985
+ attr_accessor :request_headers_to_exclude
39986
+
39987
+ # A list of request query parameter names whose value will be excluded from
39988
+ # inspection during preconfigured WAF evaluation. Note that the parameter can be
39989
+ # in the query string or in the POST body.
39990
+ # Corresponds to the JSON property `requestQueryParamsToExclude`
39991
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>]
39992
+ attr_accessor :request_query_params_to_exclude
39993
+
39994
+ # A list of request URIs from the request line to be excluded from inspection
39995
+ # during preconfigured WAF evaluation. When specifying this field, the query or
39996
+ # fragment part should be excluded.
39997
+ # Corresponds to the JSON property `requestUrisToExclude`
39998
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>]
39999
+ attr_accessor :request_uris_to_exclude
40000
+
40001
+ # A list of target rule IDs under the WAF rule set to apply the preconfigured
40002
+ # WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule
40003
+ # set.
40004
+ # Corresponds to the JSON property `targetRuleIds`
40005
+ # @return [Array<String>]
40006
+ attr_accessor :target_rule_ids
40007
+
40008
+ # Target WAF rule set to apply the preconfigured WAF exclusion.
40009
+ # Corresponds to the JSON property `targetRuleSet`
40010
+ # @return [String]
40011
+ attr_accessor :target_rule_set
40012
+
40013
+ def initialize(**args)
40014
+ update!(**args)
40015
+ end
40016
+
40017
+ # Update properties of this object
40018
+ def update!(**args)
40019
+ @request_cookies_to_exclude = args[:request_cookies_to_exclude] if args.key?(:request_cookies_to_exclude)
40020
+ @request_headers_to_exclude = args[:request_headers_to_exclude] if args.key?(:request_headers_to_exclude)
40021
+ @request_query_params_to_exclude = args[:request_query_params_to_exclude] if args.key?(:request_query_params_to_exclude)
40022
+ @request_uris_to_exclude = args[:request_uris_to_exclude] if args.key?(:request_uris_to_exclude)
40023
+ @target_rule_ids = args[:target_rule_ids] if args.key?(:target_rule_ids)
40024
+ @target_rule_set = args[:target_rule_set] if args.key?(:target_rule_set)
40025
+ end
40026
+ end
40027
+
40028
+ #
40029
+ class SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams
40030
+ include Google::Apis::Core::Hashable
40031
+
40032
+ # The match operator for the field.
40033
+ # Corresponds to the JSON property `op`
40034
+ # @return [String]
40035
+ attr_accessor :op
40036
+
40037
+ # The value of the field.
40038
+ # Corresponds to the JSON property `val`
40039
+ # @return [String]
40040
+ attr_accessor :val
40041
+
40042
+ def initialize(**args)
40043
+ update!(**args)
40044
+ end
40045
+
40046
+ # Update properties of this object
40047
+ def update!(**args)
40048
+ @op = args[:op] if args.key?(:op)
40049
+ @val = args[:val] if args.key?(:val)
40050
+ end
40051
+ end
40052
+
39734
40053
  #
39735
40054
  class SecurityPolicyRuleRateLimitOptions
39736
40055
  include Google::Apis::Core::Hashable
@@ -47265,7 +47584,7 @@ module Google
47265
47584
  end
47266
47585
  end
47267
47586
 
47268
- # Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
47587
+ # Upcoming Maintenance notification information. TODO(b/242069500) Deprecate
47269
47588
  # this proto once it's fully migrated to be under proto ResourceStatus.
47270
47589
  # UpcomingMaintenance.
47271
47590
  class UpcomingMaintenance
@@ -47376,8 +47695,8 @@ module Google
47376
47695
  # defaultRouteAction specifies any weightedBackendServices, defaultService must
47377
47696
  # not be set. Conversely if defaultService is set, defaultRouteAction cannot
47378
47697
  # contain any weightedBackendServices. Only one of defaultRouteAction or
47379
- # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
47380
- # support only the urlRewrite action within defaultRouteAction.
47698
+ # defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load
47699
+ # balancers only support the urlRewrite action within defaultRouteAction.
47381
47700
  # defaultRouteAction has no effect when the URL map is bound to a target gRPC
47382
47701
  # proxy that has the validateForProxyless field set to true.
47383
47702
  # Corresponds to the JSON property `defaultRouteAction`