google-apis-compute_alpha 0.43.0 → 0.46.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
 
@@ -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