google-apis-compute_alpha 0.43.0 → 0.46.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
 
@@ -14784,7 +14887,7 @@ module Google
14784
14887
  attr_accessor :satisfies_pzs
14785
14888
  alias_method :satisfies_pzs?, :satisfies_pzs
14786
14889
 
14787
- # Sets the scheduling options for an Instance. NextID: 21
14890
+ # Sets the scheduling options for an Instance.
14788
14891
  # Corresponds to the JSON property `scheduling`
14789
14892
  # @return [Google::Apis::ComputeAlpha::Scheduling]
14790
14893
  attr_accessor :scheduling
@@ -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
@@ -18285,7 +18387,7 @@ module Google
18285
18387
  # @return [Array<String>]
18286
18388
  attr_accessor :resource_policies
18287
18389
 
18288
- # Sets the scheduling options for an Instance. NextID: 21
18390
+ # Sets the scheduling options for an Instance.
18289
18391
  # Corresponds to the JSON property `scheduling`
18290
18392
  # @return [Google::Apis::ComputeAlpha::Scheduling]
18291
18393
  attr_accessor :scheduling
@@ -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.
@@ -33024,29 +33185,6 @@ module Google
33024
33185
  end
33025
33186
  end
33026
33187
 
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
33188
  # Contains a list of InstanceGroup resources.
33051
33189
  class RegionInstanceGroupList
33052
33190
  include Google::Apis::Core::Hashable
@@ -34463,6 +34601,11 @@ module Google
34463
34601
  # @return [Hash<String,String>]
34464
34602
  attr_accessor :resource_policies
34465
34603
 
34604
+ # [Output Only] Contains output only fields.
34605
+ # Corresponds to the JSON property `resourceStatus`
34606
+ # @return [Google::Apis::ComputeAlpha::AllocationResourceStatus]
34607
+ attr_accessor :resource_status
34608
+
34466
34609
  # [Output Only] Reserved for future use.
34467
34610
  # Corresponds to the JSON property `satisfiesPzs`
34468
34611
  # @return [Boolean]
@@ -34522,6 +34665,7 @@ module Google
34522
34665
  @kind = args[:kind] if args.key?(:kind)
34523
34666
  @name = args[:name] if args.key?(:name)
34524
34667
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
34668
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
34525
34669
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
34526
34670
  @self_link = args[:self_link] if args.key?(:self_link)
34527
34671
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -38348,7 +38492,7 @@ module Google
38348
38492
  end
38349
38493
  end
38350
38494
 
38351
- # Sets the scheduling options for an Instance. NextID: 21
38495
+ # Sets the scheduling options for an Instance.
38352
38496
  class Scheduling
38353
38497
  include Google::Apis::Core::Hashable
38354
38498
 
@@ -38383,6 +38527,12 @@ module Google
38383
38527
  # @return [Fixnum]
38384
38528
  attr_accessor :current_memory_mb
38385
38529
 
38530
+ # Configuration for properties related to dynamic assignment of computing
38531
+ # resources to VM (CPU and RAM).
38532
+ # Corresponds to the JSON property `dynamicResizeProperties`
38533
+ # @return [Google::Apis::ComputeAlpha::SchedulingDynamicResizeProperties]
38534
+ attr_accessor :dynamic_resize_properties
38535
+
38386
38536
  # Specify the time in seconds for host error detection, the value must be within
38387
38537
  # the range of [90, 330] with the increment of 30, if unset, the default
38388
38538
  # behavior of host error recovery will be used.
@@ -38480,6 +38630,7 @@ module Google
38480
38630
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
38481
38631
  @current_cpus = args[:current_cpus] if args.key?(:current_cpus)
38482
38632
  @current_memory_mb = args[:current_memory_mb] if args.key?(:current_memory_mb)
38633
+ @dynamic_resize_properties = args[:dynamic_resize_properties] if args.key?(:dynamic_resize_properties)
38483
38634
  @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
38484
38635
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
38485
38636
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
@@ -38496,6 +38647,33 @@ module Google
38496
38647
  end
38497
38648
  end
38498
38649
 
38650
+ # Configuration for properties related to dynamic assignment of computing
38651
+ # resources to VM (CPU and RAM).
38652
+ class SchedulingDynamicResizeProperties
38653
+ include Google::Apis::Core::Hashable
38654
+
38655
+ # Set to true if this VM is supporting HotStandby modes (b/235044648).
38656
+ # Corresponds to the JSON property `enableHotStandby`
38657
+ # @return [Boolean]
38658
+ attr_accessor :enable_hot_standby
38659
+ alias_method :enable_hot_standby?, :enable_hot_standby
38660
+
38661
+ # Current Hot Standby state of VM.
38662
+ # Corresponds to the JSON property `hotStandbyState`
38663
+ # @return [String]
38664
+ attr_accessor :hot_standby_state
38665
+
38666
+ def initialize(**args)
38667
+ update!(**args)
38668
+ end
38669
+
38670
+ # Update properties of this object
38671
+ def update!(**args)
38672
+ @enable_hot_standby = args[:enable_hot_standby] if args.key?(:enable_hot_standby)
38673
+ @hot_standby_state = args[:hot_standby_state] if args.key?(:hot_standby_state)
38674
+ end
38675
+ end
38676
+
38499
38677
  # Node Affinity: the configuration of desired nodes onto which this Instance
38500
38678
  # could be scheduled.
38501
38679
  class SchedulingNodeAffinity
@@ -39120,6 +39298,12 @@ module Google
39120
39298
  class SecurityPolicyAdvancedOptionsConfig
39121
39299
  include Google::Apis::Core::Hashable
39122
39300
 
39301
+ # Custom configuration to apply the JSON parsing. Only applicable when
39302
+ # json_parsing is set to STANDARD.
39303
+ # Corresponds to the JSON property `jsonCustomConfig`
39304
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyAdvancedOptionsConfigJsonCustomConfig]
39305
+ attr_accessor :json_custom_config
39306
+
39123
39307
  #
39124
39308
  # Corresponds to the JSON property `jsonParsing`
39125
39309
  # @return [String]
@@ -39136,11 +39320,35 @@ module Google
39136
39320
 
39137
39321
  # Update properties of this object
39138
39322
  def update!(**args)
39323
+ @json_custom_config = args[:json_custom_config] if args.key?(:json_custom_config)
39139
39324
  @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
39140
39325
  @log_level = args[:log_level] if args.key?(:log_level)
39141
39326
  end
39142
39327
  end
39143
39328
 
39329
+ #
39330
+ class SecurityPolicyAdvancedOptionsConfigJsonCustomConfig
39331
+ include Google::Apis::Core::Hashable
39332
+
39333
+ # A list of custom Content-Type header values to apply the JSON parsing. As per
39334
+ # RFC 1341, a Content-Type header value has the following format: Content-Type :=
39335
+ # type "/" subtype *[";" parameter] When configuring a custom Content-Type
39336
+ # header value, only the type/subtype needs to be specified, and the parameters
39337
+ # should be excluded.
39338
+ # Corresponds to the JSON property `contentTypes`
39339
+ # @return [Array<String>]
39340
+ attr_accessor :content_types
39341
+
39342
+ def initialize(**args)
39343
+ update!(**args)
39344
+ end
39345
+
39346
+ # Update properties of this object
39347
+ def update!(**args)
39348
+ @content_types = args[:content_types] if args.key?(:content_types)
39349
+ end
39350
+ end
39351
+
39144
39352
  #
39145
39353
  class SecurityPolicyAssociation
39146
39354
  include Google::Apis::Core::Hashable
@@ -39442,6 +39650,13 @@ module Google
39442
39650
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcher]
39443
39651
  attr_accessor :match
39444
39652
 
39653
+ # Preconfigured WAF configuration to be applied for the rule. If the rule does
39654
+ # not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is
39655
+ # not used, this field will have no effect.
39656
+ # Corresponds to the JSON property `preconfiguredWafConfig`
39657
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfig]
39658
+ attr_accessor :preconfigured_waf_config
39659
+
39445
39660
  # If set to true, the specified action is not enforced.
39446
39661
  # Corresponds to the JSON property `preview`
39447
39662
  # @return [Boolean]
@@ -39519,6 +39734,7 @@ module Google
39519
39734
  @header_action = args[:header_action] if args.key?(:header_action)
39520
39735
  @kind = args[:kind] if args.key?(:kind)
39521
39736
  @match = args[:match] if args.key?(:match)
39737
+ @preconfigured_waf_config = args[:preconfigured_waf_config] if args.key?(:preconfigured_waf_config)
39522
39738
  @preview = args[:preview] if args.key?(:preview)
39523
39739
  @priority = args[:priority] if args.key?(:priority)
39524
39740
  @rate_limit_options = args[:rate_limit_options] if args.key?(:rate_limit_options)
@@ -39731,6 +39947,107 @@ module Google
39731
39947
  end
39732
39948
  end
39733
39949
 
39950
+ #
39951
+ class SecurityPolicyRulePreconfiguredWafConfig
39952
+ include Google::Apis::Core::Hashable
39953
+
39954
+ # A list of exclusions to apply during preconfigured WAF evaluation.
39955
+ # Corresponds to the JSON property `exclusions`
39956
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfigExclusion>]
39957
+ attr_accessor :exclusions
39958
+
39959
+ def initialize(**args)
39960
+ update!(**args)
39961
+ end
39962
+
39963
+ # Update properties of this object
39964
+ def update!(**args)
39965
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
39966
+ end
39967
+ end
39968
+
39969
+ #
39970
+ class SecurityPolicyRulePreconfiguredWafConfigExclusion
39971
+ include Google::Apis::Core::Hashable
39972
+
39973
+ # A list of request cookie names whose value will be excluded from inspection
39974
+ # during preconfigured WAF evaluation.
39975
+ # Corresponds to the JSON property `requestCookiesToExclude`
39976
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>]
39977
+ attr_accessor :request_cookies_to_exclude
39978
+
39979
+ # A list of request header names whose value will be excluded from inspection
39980
+ # during preconfigured WAF evaluation.
39981
+ # Corresponds to the JSON property `requestHeadersToExclude`
39982
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>]
39983
+ attr_accessor :request_headers_to_exclude
39984
+
39985
+ # A list of request query parameter names whose value will be excluded from
39986
+ # inspection during preconfigured WAF evaluation. Note that the parameter can be
39987
+ # in the query string or in the POST body.
39988
+ # Corresponds to the JSON property `requestQueryParamsToExclude`
39989
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>]
39990
+ attr_accessor :request_query_params_to_exclude
39991
+
39992
+ # A list of request URIs from the request line to be excluded from inspection
39993
+ # during preconfigured WAF evaluation. When specifying this field, the query or
39994
+ # fragment part should be excluded.
39995
+ # Corresponds to the JSON property `requestUrisToExclude`
39996
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>]
39997
+ attr_accessor :request_uris_to_exclude
39998
+
39999
+ # A list of target rule IDs under the WAF rule set to apply the preconfigured
40000
+ # WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule
40001
+ # set.
40002
+ # Corresponds to the JSON property `targetRuleIds`
40003
+ # @return [Array<String>]
40004
+ attr_accessor :target_rule_ids
40005
+
40006
+ # Target WAF rule set to apply the preconfigured WAF exclusion.
40007
+ # Corresponds to the JSON property `targetRuleSet`
40008
+ # @return [String]
40009
+ attr_accessor :target_rule_set
40010
+
40011
+ def initialize(**args)
40012
+ update!(**args)
40013
+ end
40014
+
40015
+ # Update properties of this object
40016
+ def update!(**args)
40017
+ @request_cookies_to_exclude = args[:request_cookies_to_exclude] if args.key?(:request_cookies_to_exclude)
40018
+ @request_headers_to_exclude = args[:request_headers_to_exclude] if args.key?(:request_headers_to_exclude)
40019
+ @request_query_params_to_exclude = args[:request_query_params_to_exclude] if args.key?(:request_query_params_to_exclude)
40020
+ @request_uris_to_exclude = args[:request_uris_to_exclude] if args.key?(:request_uris_to_exclude)
40021
+ @target_rule_ids = args[:target_rule_ids] if args.key?(:target_rule_ids)
40022
+ @target_rule_set = args[:target_rule_set] if args.key?(:target_rule_set)
40023
+ end
40024
+ end
40025
+
40026
+ #
40027
+ class SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams
40028
+ include Google::Apis::Core::Hashable
40029
+
40030
+ # The match operator for the field.
40031
+ # Corresponds to the JSON property `op`
40032
+ # @return [String]
40033
+ attr_accessor :op
40034
+
40035
+ # The value of the field.
40036
+ # Corresponds to the JSON property `val`
40037
+ # @return [String]
40038
+ attr_accessor :val
40039
+
40040
+ def initialize(**args)
40041
+ update!(**args)
40042
+ end
40043
+
40044
+ # Update properties of this object
40045
+ def update!(**args)
40046
+ @op = args[:op] if args.key?(:op)
40047
+ @val = args[:val] if args.key?(:val)
40048
+ end
40049
+ end
40050
+
39734
40051
  #
39735
40052
  class SecurityPolicyRuleRateLimitOptions
39736
40053
  include Google::Apis::Core::Hashable
@@ -41533,7 +41850,7 @@ module Google
41533
41850
  # @return [String]
41534
41851
  attr_accessor :post_key_revocation_action_type
41535
41852
 
41536
- # Sets the scheduling options for an Instance. NextID: 21
41853
+ # Sets the scheduling options for an Instance.
41537
41854
  # Corresponds to the JSON property `scheduling`
41538
41855
  # @return [Google::Apis::ComputeAlpha::Scheduling]
41539
41856
  attr_accessor :scheduling