google-apis-compute_alpha 0.44.0 → 0.47.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
 
@@ -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`