google-cloud-compute-v1 2.16.0 → 2.18.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.
@@ -446,6 +446,30 @@ module Google
446
446
  extend ::Google::Protobuf::MessageExts::ClassMethods
447
447
  end
448
448
 
449
+ # A request message for NetworkFirewallPolicies.AddPacketMirroringRule. See the method description for details.
450
+ # @!attribute [rw] firewall_policy
451
+ # @return [::String]
452
+ # Name of the firewall policy to update.
453
+ # @!attribute [rw] firewall_policy_rule_resource
454
+ # @return [::Google::Cloud::Compute::V1::FirewallPolicyRule]
455
+ # The body resource for this request
456
+ # @!attribute [rw] max_priority
457
+ # @return [::Integer]
458
+ # When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.
459
+ # @!attribute [rw] min_priority
460
+ # @return [::Integer]
461
+ # When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.
462
+ # @!attribute [rw] project
463
+ # @return [::String]
464
+ # Project ID for this request.
465
+ # @!attribute [rw] request_id
466
+ # @return [::String]
467
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
468
+ class AddPacketMirroringRuleNetworkFirewallPolicyRequest
469
+ include ::Google::Protobuf::MessageExts
470
+ extend ::Google::Protobuf::MessageExts::ClassMethods
471
+ end
472
+
449
473
  # A request message for Networks.AddPeering. See the method description for details.
450
474
  # @!attribute [rw] network
451
475
  # @return [::String]
@@ -2354,9 +2378,13 @@ module Google
2354
2378
 
2355
2379
  VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP = 18_705_267
2356
2380
 
2381
+ VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT6E = 398_926_997
2382
+
2357
2383
  VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P = 517_384_376
2358
2384
 
2359
2385
  VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P = 517_384_407
2386
+
2387
+ VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P = 517_384_438
2360
2388
  end
2361
2389
 
2362
2390
  # The workload type of the instances that will target this reservation.
@@ -4474,6 +4502,73 @@ module Google
4474
4502
  extend ::Google::Protobuf::MessageExts::ClassMethods
4475
4503
  end
4476
4504
 
4505
+ # @!attribute [rw] as_paths
4506
+ # @return [::Array<::Google::Cloud::Compute::V1::BgpRouteAsPath>]
4507
+ # [Output only] AS-PATH for the route
4508
+ # @!attribute [rw] communities
4509
+ # @return [::Array<::String>]
4510
+ # [Output only] BGP communities in human-readable A:B format.
4511
+ # @!attribute [rw] destination
4512
+ # @return [::Google::Cloud::Compute::V1::BgpRouteNetworkLayerReachabilityInformation]
4513
+ # [Output only] Destination IP range for the route, in human-readable CIDR format
4514
+ # @!attribute [rw] med
4515
+ # @return [::Integer]
4516
+ # [Output only] BGP multi-exit discriminator
4517
+ # @!attribute [rw] origin
4518
+ # @return [::String]
4519
+ # [Output only] BGP origin (EGP, IGP or INCOMPLETE)
4520
+ # Check the Origin enum for the list of possible values.
4521
+ class BgpRoute
4522
+ include ::Google::Protobuf::MessageExts
4523
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4524
+
4525
+ # [Output only] BGP origin (EGP, IGP or INCOMPLETE)
4526
+ module Origin
4527
+ # A value indicating that the enum field is not set.
4528
+ UNDEFINED_ORIGIN = 0
4529
+
4530
+ BGP_ORIGIN_EGP = 378_906_473
4531
+
4532
+ BGP_ORIGIN_IGP = 378_910_317
4533
+
4534
+ BGP_ORIGIN_INCOMPLETE = 452_839_811
4535
+ end
4536
+ end
4537
+
4538
+ # @!attribute [rw] asns
4539
+ # @return [::Array<::Integer>]
4540
+ # [Output only] ASNs in the path segment. When type is SEQUENCE, these are ordered.
4541
+ # @!attribute [rw] type
4542
+ # @return [::String]
4543
+ # [Output only] Type of AS-PATH segment (SEQUENCE or SET)
4544
+ # Check the Type enum for the list of possible values.
4545
+ class BgpRouteAsPath
4546
+ include ::Google::Protobuf::MessageExts
4547
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4548
+
4549
+ # [Output only] Type of AS-PATH segment (SEQUENCE or SET)
4550
+ module Type
4551
+ # A value indicating that the enum field is not set.
4552
+ UNDEFINED_TYPE = 0
4553
+
4554
+ AS_PATH_TYPE_SEQUENCE = 362_887_609
4555
+
4556
+ AS_PATH_TYPE_SET = 302_584_650
4557
+ end
4558
+ end
4559
+
4560
+ # Network Layer Reachability Information (NLRI) for a route.
4561
+ # @!attribute [rw] path_id
4562
+ # @return [::Integer]
4563
+ # If the BGP session supports multiple paths (RFC 7911), the path identifier for this route.
4564
+ # @!attribute [rw] prefix
4565
+ # @return [::String]
4566
+ # Human readable CIDR notation for a prefix. E.g. 10.42.0.0/16.
4567
+ class BgpRouteNetworkLayerReachabilityInformation
4568
+ include ::Google::Protobuf::MessageExts
4569
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4570
+ end
4571
+
4477
4572
  # Associates `members`, or principals, with a `role`.
4478
4573
  # @!attribute [rw] binding_id
4479
4574
  # @return [::String]
@@ -4791,29 +4886,28 @@ module Google
4791
4886
  extend ::Google::Protobuf::MessageExts::ClassMethods
4792
4887
  end
4793
4888
 
4794
- # Represents a regional Commitment resource. Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts.
4889
+ # Represents a regional resource-based commitment resource. Creating this commitment resource means that you are purchasing a resource-based committed use contract, with an explicit start and end time. You can purchase resource-based commitments for both hardware and software resources. For more information, read Resource-based committed use discounts
4795
4890
  # @!attribute [rw] auto_renew
4796
4891
  # @return [::Boolean]
4797
- # Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.
4892
+ # Specifies whether to automatically renew the commitment at the end of its current term. The default value is false. If you set the field to true, each time your commitment reaches the end of its term, Compute Engine automatically renews it for another term. You can update this field anytime before the commitment expires. For example, if the commitment is set to expire at 12 AM UTC-8 on January 3, 2027, you can update this field until 11:59 PM UTC-8 on January 2, 2027.
4798
4893
  # @!attribute [rw] category
4799
4894
  # @return [::String]
4800
- # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
4895
+ # The category of the commitment; specifies whether the commitment is for hardware or software resources. Category MACHINE specifies that you are committing to hardware machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies that you are committing to software licenses, listed in licenseResources. Note that if you specify MACHINE commitments, then you must also specify a type to indicate the machine series of the hardware resource that you are committing to.
4801
4896
  # Check the Category enum for the list of possible values.
4802
4897
  # @!attribute [rw] creation_timestamp
4803
4898
  # @return [::String]
4804
4899
  # [Output Only] Creation timestamp in RFC3339 text format.
4805
4900
  # @!attribute [rw] custom_end_timestamp
4806
4901
  # @return [::String]
4807
- # [Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.
4902
+ # [Input Only] Optional, specifies the requested commitment end time in RFC3339 text format. Use this option when the desired commitment's end date is later than the start date + term duration.
4808
4903
  # @!attribute [rw] description
4809
4904
  # @return [::String]
4810
- # An optional description of this resource. Provide this property when you create the resource.
4905
+ # An optional description of the commitment. You can provide this property when you create the resource.
4811
4906
  # @!attribute [rw] end_timestamp
4812
4907
  # @return [::String]
4813
4908
  # [Output Only] Commitment end time in RFC3339 text format.
4814
4909
  # @!attribute [rw] existing_reservations
4815
4910
  # @return [::Array<::String>]
4816
- # Specifies the already existing reservations to attach to the Commitment. This field is optional, and it can be a full or partial URL. For example, the following are valid URLs to an reservation: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /reservations/reservation - projects/project/zones/zone/reservations/reservation
4817
4911
  # @!attribute [rw] id
4818
4912
  # @return [::Integer]
4819
4913
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
@@ -4825,51 +4919,51 @@ module Google
4825
4919
  # The license specification required as part of a license commitment.
4826
4920
  # @!attribute [rw] merge_source_commitments
4827
4921
  # @return [::Array<::String>]
4828
- # List of source commitments to be merged into a new commitment.
4922
+ # The list of source commitments that you are merging to create the new merged commitment. For more information, see Merging commitments.
4829
4923
  # @!attribute [rw] name
4830
4924
  # @return [::String]
4831
- # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
4925
+ # Name of the commitment. You must specify a name when you purchase the commitment. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
4832
4926
  # @!attribute [rw] plan
4833
4927
  # @return [::String]
4834
- # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
4928
+ # The minimum time duration that you commit to purchasing resources. The plan that you choose determines the preset term length of the commitment (which is 1 year or 3 years) and affects the discount rate that you receive for your resources. Committing to a longer time duration typically gives you a higher discount rate. The supported values for this field are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
4835
4929
  # Check the Plan enum for the list of possible values.
4836
4930
  # @!attribute [rw] region
4837
4931
  # @return [::String]
4838
- # [Output Only] URL of the region where this commitment may be used.
4932
+ # [Output Only] URL of the region where the commitment and committed resources are located.
4839
4933
  # @!attribute [rw] reservations
4840
4934
  # @return [::Array<::Google::Cloud::Compute::V1::Reservation>]
4841
- # List of create-on-create reservations for this commitment.
4935
+ # The list of new reservations that you want to create and attach to this commitment. You must attach reservations to your commitment if your commitment specifies any GPUs or Local SSD disks. For more information, see Attach reservations to resource-based commitments. Specify this property only if you want to create new reservations to attach. To attach existing reservations, specify the existingReservations property instead.
4842
4936
  # @!attribute [rw] resource_status
4843
4937
  # @return [::Google::Cloud::Compute::V1::CommitmentResourceStatus]
4844
4938
  # [Output Only] Status information for Commitment resource.
4845
4939
  # @!attribute [rw] resources
4846
4940
  # @return [::Array<::Google::Cloud::Compute::V1::ResourceCommitment>]
4847
- # A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.
4941
+ # The list of all the hardware resources, with their types and amounts, that you want to commit to. Specify as a separate entry in the list for each individual resource type.
4848
4942
  # @!attribute [rw] self_link
4849
4943
  # @return [::String]
4850
4944
  # [Output Only] Server-defined URL for the resource.
4851
4945
  # @!attribute [rw] split_source_commitment
4852
4946
  # @return [::String]
4853
- # Source commitment to be split into a new commitment.
4947
+ # The source commitment from which you are transferring resources to create the new split commitment. For more information, see Split commitments.
4854
4948
  # @!attribute [rw] start_timestamp
4855
4949
  # @return [::String]
4856
4950
  # [Output Only] Commitment start time in RFC3339 text format.
4857
4951
  # @!attribute [rw] status
4858
4952
  # @return [::String]
4859
- # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
4953
+ # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). Status can be one of the following values: NOT_YET_ACTIVE, ACTIVE, or EXPIRED.
4860
4954
  # Check the Status enum for the list of possible values.
4861
4955
  # @!attribute [rw] status_message
4862
4956
  # @return [::String]
4863
4957
  # [Output Only] An optional, human-readable explanation of the status.
4864
4958
  # @!attribute [rw] type
4865
4959
  # @return [::String]
4866
- # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
4960
+ # The type of commitment; specifies the machine series for which you want to commit to purchasing resources. The choice of machine series affects the discount rate and the eligible resource types. The type must be one of the following: ACCELERATOR_OPTIMIZED, ACCELERATOR_OPTIMIZED_A3, ACCELERATOR_OPTIMIZED_A3_MEGA, COMPUTE_OPTIMIZED, COMPUTE_OPTIMIZED_C2D, COMPUTE_OPTIMIZED_C3, COMPUTE_OPTIMIZED_C3D, COMPUTE_OPTIMIZED_H3, GENERAL_PURPOSE, GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2, GENERAL_PURPOSE_N2, GENERAL_PURPOSE_N2D, GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D, GRAPHICS_OPTIMIZED, MEMORY_OPTIMIZED, MEMORY_OPTIMIZED_M3, MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3. For example, type MEMORY_OPTIMIZED specifies a commitment that applies only to eligible resources of memory optimized M1 and M2 machine series. Type GENERAL_PURPOSE specifies a commitment that applies only to eligible resources of general purpose N1 machine series.
4867
4961
  # Check the Type enum for the list of possible values.
4868
4962
  class Commitment
4869
4963
  include ::Google::Protobuf::MessageExts
4870
4964
  extend ::Google::Protobuf::MessageExts::ClassMethods
4871
4965
 
4872
- # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
4966
+ # The category of the commitment; specifies whether the commitment is for hardware or software resources. Category MACHINE specifies that you are committing to hardware machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies that you are committing to software licenses, listed in licenseResources. Note that if you specify MACHINE commitments, then you must also specify a type to indicate the machine series of the hardware resource that you are committing to.
4873
4967
  module Category
4874
4968
  # A value indicating that the enum field is not set.
4875
4969
  UNDEFINED_CATEGORY = 0
@@ -4881,7 +4975,7 @@ module Google
4881
4975
  MACHINE = 469_553_191
4882
4976
  end
4883
4977
 
4884
- # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
4978
+ # The minimum time duration that you commit to purchasing resources. The plan that you choose determines the preset term length of the commitment (which is 1 year or 3 years) and affects the discount rate that you receive for your resources. Committing to a longer time duration typically gives you a higher discount rate. The supported values for this field are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
4885
4979
  module Plan
4886
4980
  # A value indicating that the enum field is not set.
4887
4981
  UNDEFINED_PLAN = 0
@@ -4893,7 +4987,7 @@ module Google
4893
4987
  TWELVE_MONTH = 173_083_962
4894
4988
  end
4895
4989
 
4896
- # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
4990
+ # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). Status can be one of the following values: NOT_YET_ACTIVE, ACTIVE, or EXPIRED.
4897
4991
  module Status
4898
4992
  # A value indicating that the enum field is not set.
4899
4993
  UNDEFINED_STATUS = 0
@@ -4910,7 +5004,7 @@ module Google
4910
5004
  NOT_YET_ACTIVE = 20_607_337
4911
5005
  end
4912
5006
 
4913
- # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
5007
+ # The type of commitment; specifies the machine series for which you want to commit to purchasing resources. The choice of machine series affects the discount rate and the eligible resource types. The type must be one of the following: ACCELERATOR_OPTIMIZED, ACCELERATOR_OPTIMIZED_A3, ACCELERATOR_OPTIMIZED_A3_MEGA, COMPUTE_OPTIMIZED, COMPUTE_OPTIMIZED_C2D, COMPUTE_OPTIMIZED_C3, COMPUTE_OPTIMIZED_C3D, COMPUTE_OPTIMIZED_H3, GENERAL_PURPOSE, GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2, GENERAL_PURPOSE_N2, GENERAL_PURPOSE_N2D, GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D, GRAPHICS_OPTIMIZED, MEMORY_OPTIMIZED, MEMORY_OPTIMIZED_M3, MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3. For example, type MEMORY_OPTIMIZED specifies a commitment that applies only to eligible resources of memory optimized M1 and M2 machine series. Type GENERAL_PURPOSE specifies a commitment that applies only to eligible resources of general purpose N1 machine series.
4914
5008
  module Type
4915
5009
  # A value indicating that the enum field is not set.
4916
5010
  UNDEFINED_TYPE = 0
@@ -4921,6 +5015,8 @@ module Google
4921
5015
 
4922
5016
  ACCELERATOR_OPTIMIZED_A3_MEGA = 156_517_459
4923
5017
 
5018
+ ACCELERATOR_OPTIMIZED_A3_ULTRA = 27_812_811
5019
+
4924
5020
  COMPUTE_OPTIMIZED = 158_349_023
4925
5021
 
4926
5022
  COMPUTE_OPTIMIZED_C2D = 383_246_453
@@ -4961,6 +5057,7 @@ module Google
4961
5057
 
4962
5058
  STORAGE_OPTIMIZED_Z3 = 316_796_085
4963
5059
 
5060
+ # Note for internal users: When adding a new enum Type for v1, make sure to also add it in the comment for the `optional Type type` definition. This ensures that the public documentation displays the new enum Type.
4964
5061
  TYPE_UNSPECIFIED = 437_714_322
4965
5062
  end
4966
5063
  end
@@ -5035,7 +5132,7 @@ module Google
5035
5132
 
5036
5133
  # @!attribute [rw] commitments
5037
5134
  # @return [::Array<::Google::Cloud::Compute::V1::Commitment>]
5038
- # [Output Only] A list of commitments contained in this scope.
5135
+ # [Output Only] The list of commitments contained in this scope.
5039
5136
  # @!attribute [rw] warning
5040
5137
  # @return [::Google::Cloud::Compute::V1::Warning]
5041
5138
  # [Output Only] Informational warning which replaces the list of commitments when the list is empty.
@@ -6416,6 +6513,27 @@ module Google
6416
6513
  extend ::Google::Protobuf::MessageExts::ClassMethods
6417
6514
  end
6418
6515
 
6516
+ # A request message for Routers.DeleteRoutePolicy. See the method description for details.
6517
+ # @!attribute [rw] policy
6518
+ # @return [::String]
6519
+ # The Policy name for this request. Name must conform to RFC1035
6520
+ # @!attribute [rw] project
6521
+ # @return [::String]
6522
+ # Project ID for this request.
6523
+ # @!attribute [rw] region
6524
+ # @return [::String]
6525
+ # Name of the region for this request.
6526
+ # @!attribute [rw] request_id
6527
+ # @return [::String]
6528
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
6529
+ # @!attribute [rw] router
6530
+ # @return [::String]
6531
+ # Name of the Router resource where Route Policy is defined.
6532
+ class DeleteRoutePolicyRouterRequest
6533
+ include ::Google::Protobuf::MessageExts
6534
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6535
+ end
6536
+
6419
6537
  # A request message for Routes.Delete. See the method description for details.
6420
6538
  # @!attribute [rw] project
6421
6539
  # @return [::String]
@@ -8116,6 +8234,9 @@ module Google
8116
8234
  # @!attribute [rw] name
8117
8235
  # @return [::String]
8118
8236
  # Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy.
8237
+ # @!attribute [rw] packet_mirroring_rules
8238
+ # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
8239
+ # A list of packet mirroring rules that belong to this policy.
8119
8240
  # @!attribute [rw] parent
8120
8241
  # @return [::String]
8121
8242
  # [Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.
@@ -9925,6 +10046,21 @@ module Google
9925
10046
  extend ::Google::Protobuf::MessageExts::ClassMethods
9926
10047
  end
9927
10048
 
10049
+ # A request message for NetworkFirewallPolicies.GetPacketMirroringRule. See the method description for details.
10050
+ # @!attribute [rw] firewall_policy
10051
+ # @return [::String]
10052
+ # Name of the firewall policy to which the queried rule belongs.
10053
+ # @!attribute [rw] priority
10054
+ # @return [::Integer]
10055
+ # The priority of the rule to get from the firewall policy.
10056
+ # @!attribute [rw] project
10057
+ # @return [::String]
10058
+ # Project ID for this request.
10059
+ class GetPacketMirroringRuleNetworkFirewallPolicyRequest
10060
+ include ::Google::Protobuf::MessageExts
10061
+ extend ::Google::Protobuf::MessageExts::ClassMethods
10062
+ end
10063
+
9928
10064
  # A request message for Projects.Get. See the method description for details.
9929
10065
  # @!attribute [rw] project
9930
10066
  # @return [::String]
@@ -10333,6 +10469,24 @@ module Google
10333
10469
  extend ::Google::Protobuf::MessageExts::ClassMethods
10334
10470
  end
10335
10471
 
10472
+ # A request message for Routers.GetRoutePolicy. See the method description for details.
10473
+ # @!attribute [rw] policy
10474
+ # @return [::String]
10475
+ # The Policy name for this request. Name must conform to RFC1035
10476
+ # @!attribute [rw] project
10477
+ # @return [::String]
10478
+ # Project ID for this request.
10479
+ # @!attribute [rw] region
10480
+ # @return [::String]
10481
+ # Name of the region for this request.
10482
+ # @!attribute [rw] router
10483
+ # @return [::String]
10484
+ # Name of the Router resource to query for the route policy. The name should conform to RFC1035.
10485
+ class GetRoutePolicyRouterRequest
10486
+ include ::Google::Protobuf::MessageExts
10487
+ extend ::Google::Protobuf::MessageExts::ClassMethods
10488
+ end
10489
+
10336
10490
  # A request message for Routes.Get. See the method description for details.
10337
10491
  # @!attribute [rw] project
10338
10492
  # @return [::String]
@@ -15209,6 +15363,9 @@ module Google
15209
15363
  # @!attribute [rw] name
15210
15364
  # @return [::String]
15211
15365
  # [Output Only] The name of the firewall policy.
15366
+ # @!attribute [rw] packet_mirroring_rules
15367
+ # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
15368
+ # [Output Only] The packet mirroring rules that apply to the instance.
15212
15369
  # @!attribute [rw] priority
15213
15370
  # @return [::Integer]
15214
15371
  # [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.
@@ -16999,13 +17156,13 @@ module Google
16999
17156
  # Commitment for a particular license resource.
17000
17157
  # @!attribute [rw] amount
17001
17158
  # @return [::Integer]
17002
- # The number of licenses purchased.
17159
+ # The number of licenses you plan to purchase.
17003
17160
  # @!attribute [rw] cores_per_license
17004
17161
  # @return [::String]
17005
- # Specifies the core range of the instance for which this license applies.
17162
+ # The number of cores per license.
17006
17163
  # @!attribute [rw] license
17007
17164
  # @return [::String]
17008
- # Any applicable license URI.
17165
+ # The applicable license URI.
17009
17166
  class LicenseResourceCommitment
17010
17167
  include ::Google::Protobuf::MessageExts
17011
17168
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -17231,6 +17388,77 @@ module Google
17231
17388
  extend ::Google::Protobuf::MessageExts::ClassMethods
17232
17389
  end
17233
17390
 
17391
+ # A request message for Routers.ListBgpRoutes. See the method description for details.
17392
+ # @!attribute [rw] address_family
17393
+ # @return [::String]
17394
+ # (Required) limit results to this address family (either IPv4 or IPv6)
17395
+ # Check the AddressFamily enum for the list of possible values.
17396
+ # @!attribute [rw] destination_prefix
17397
+ # @return [::String]
17398
+ # Limit results to destinations that are subnets of this CIDR range
17399
+ # @!attribute [rw] filter
17400
+ # @return [::String]
17401
+ # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
17402
+ # @!attribute [rw] max_results
17403
+ # @return [::Integer]
17404
+ # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
17405
+ # @!attribute [rw] order_by
17406
+ # @return [::String]
17407
+ # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
17408
+ # @!attribute [rw] page_token
17409
+ # @return [::String]
17410
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
17411
+ # @!attribute [rw] peer
17412
+ # @return [::String]
17413
+ # (Required) limit results to the BGP peer with the given name. Name should conform to RFC1035.
17414
+ # @!attribute [rw] policy_applied
17415
+ # @return [::Boolean]
17416
+ # When true, the method returns post-policy routes. Otherwise, it returns pre-policy routes.
17417
+ # @!attribute [rw] project
17418
+ # @return [::String]
17419
+ # Project ID for this request.
17420
+ # @!attribute [rw] region
17421
+ # @return [::String]
17422
+ # Name of the region for this request.
17423
+ # @!attribute [rw] return_partial_success
17424
+ # @return [::Boolean]
17425
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
17426
+ # @!attribute [rw] route_type
17427
+ # @return [::String]
17428
+ # (Required) limit results to this type of route (either LEARNED or ADVERTISED)
17429
+ # Check the RouteType enum for the list of possible values.
17430
+ # @!attribute [rw] router
17431
+ # @return [::String]
17432
+ # Name or id of the resource for this request. Name should conform to RFC1035.
17433
+ class ListBgpRoutesRoutersRequest
17434
+ include ::Google::Protobuf::MessageExts
17435
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17436
+
17437
+ # (Required) limit results to this address family (either IPv4 or IPv6)
17438
+ module AddressFamily
17439
+ # A value indicating that the enum field is not set.
17440
+ UNDEFINED_ADDRESS_FAMILY = 0
17441
+
17442
+ IPV4 = 2_254_341
17443
+
17444
+ IPV6 = 2_254_343
17445
+
17446
+ UNSPECIFIED_IP_VERSION = 72_938_440
17447
+ end
17448
+
17449
+ # (Required) limit results to this type of route (either LEARNED or ADVERTISED)
17450
+ module RouteType
17451
+ # A value indicating that the enum field is not set.
17452
+ UNDEFINED_ROUTE_TYPE = 0
17453
+
17454
+ ADVERTISED = 20_302_109
17455
+
17456
+ LEARNED = 231_892_419
17457
+
17458
+ UNSPECIFIED_ROUTE_TYPE = 248_064_440
17459
+ end
17460
+ end
17461
+
17234
17462
  # A request message for DiskTypes.List. See the method description for details.
17235
17463
  # @!attribute [rw] filter
17236
17464
  # @return [::String]
@@ -19395,6 +19623,36 @@ module Google
19395
19623
  extend ::Google::Protobuf::MessageExts::ClassMethods
19396
19624
  end
19397
19625
 
19626
+ # A request message for Routers.ListRoutePolicies. See the method description for details.
19627
+ # @!attribute [rw] filter
19628
+ # @return [::String]
19629
+ # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
19630
+ # @!attribute [rw] max_results
19631
+ # @return [::Integer]
19632
+ # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
19633
+ # @!attribute [rw] order_by
19634
+ # @return [::String]
19635
+ # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
19636
+ # @!attribute [rw] page_token
19637
+ # @return [::String]
19638
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
19639
+ # @!attribute [rw] project
19640
+ # @return [::String]
19641
+ # Project ID for this request.
19642
+ # @!attribute [rw] region
19643
+ # @return [::String]
19644
+ # Name of the region for this request.
19645
+ # @!attribute [rw] return_partial_success
19646
+ # @return [::Boolean]
19647
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19648
+ # @!attribute [rw] router
19649
+ # @return [::String]
19650
+ # Name or id of the resource for this request. Name should conform to RFC1035.
19651
+ class ListRoutePoliciesRoutersRequest
19652
+ include ::Google::Protobuf::MessageExts
19653
+ extend ::Google::Protobuf::MessageExts::ClassMethods
19654
+ end
19655
+
19398
19656
  # A request message for Routers.List. See the method description for details.
19399
19657
  # @!attribute [rw] filter
19400
19658
  # @return [::String]
@@ -21797,7 +22055,6 @@ module Google
21797
22055
  # [Output Only] Server-defined URL for this resource with the resource id.
21798
22056
  # @!attribute [rw] zone
21799
22057
  # @return [::String]
21800
- # [Output Only] Zone to which the network is restricted.
21801
22058
  class NetworkProfile
21802
22059
  include ::Google::Protobuf::MessageExts
21803
22060
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -22302,6 +22559,9 @@ module Google
22302
22559
  # @!attribute [rw] name
22303
22560
  # @return [::String]
22304
22561
  # [Output Only] The name of the firewall policy.
22562
+ # @!attribute [rw] packet_mirroring_rules
22563
+ # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
22564
+ # [Output Only] The packet mirroring rules that apply to the network.
22305
22565
  # @!attribute [rw] priority
22306
22566
  # @return [::Integer]
22307
22567
  # [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.
@@ -22902,6 +23162,9 @@ module Google
22902
23162
  # @!attribute [rw] local_ssd_gb
22903
23163
  # @return [::Integer]
22904
23164
  # [Output Only] Local SSD available to the node type, defined in GB.
23165
+ # @!attribute [rw] max_vms
23166
+ # @return [::Integer]
23167
+ # [Output Only] Maximum number of VMs that can be created for this node type.
22905
23168
  # @!attribute [rw] memory_mb
22906
23169
  # @return [::Integer]
22907
23170
  # [Output Only] The amount of physical memory available to the node type, defined in MB.
@@ -23929,6 +24192,27 @@ module Google
23929
24192
  extend ::Google::Protobuf::MessageExts::ClassMethods
23930
24193
  end
23931
24194
 
24195
+ # A request message for NetworkFirewallPolicies.PatchPacketMirroringRule. See the method description for details.
24196
+ # @!attribute [rw] firewall_policy
24197
+ # @return [::String]
24198
+ # Name of the firewall policy to update.
24199
+ # @!attribute [rw] firewall_policy_rule_resource
24200
+ # @return [::Google::Cloud::Compute::V1::FirewallPolicyRule]
24201
+ # The body resource for this request
24202
+ # @!attribute [rw] priority
24203
+ # @return [::Integer]
24204
+ # The priority of the rule to patch.
24205
+ # @!attribute [rw] project
24206
+ # @return [::String]
24207
+ # Project ID for this request.
24208
+ # @!attribute [rw] request_id
24209
+ # @return [::String]
24210
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
24211
+ class PatchPacketMirroringRuleNetworkFirewallPolicyRequest
24212
+ include ::Google::Protobuf::MessageExts
24213
+ extend ::Google::Protobuf::MessageExts::ClassMethods
24214
+ end
24215
+
23932
24216
  # A request message for InstanceGroupManagers.PatchPerInstanceConfigs. See the method description for details.
23933
24217
  # @!attribute [rw] instance_group_manager
23934
24218
  # @return [::String]
@@ -24247,6 +24531,27 @@ module Google
24247
24531
  extend ::Google::Protobuf::MessageExts::ClassMethods
24248
24532
  end
24249
24533
 
24534
+ # A request message for Routers.PatchRoutePolicy. See the method description for details.
24535
+ # @!attribute [rw] project
24536
+ # @return [::String]
24537
+ # Project ID for this request.
24538
+ # @!attribute [rw] region
24539
+ # @return [::String]
24540
+ # Name of the region for this request.
24541
+ # @!attribute [rw] request_id
24542
+ # @return [::String]
24543
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
24544
+ # @!attribute [rw] route_policy_resource
24545
+ # @return [::Google::Cloud::Compute::V1::RoutePolicy]
24546
+ # The body resource for this request
24547
+ # @!attribute [rw] router
24548
+ # @return [::String]
24549
+ # Name of the Router resource where Route Policy is defined.
24550
+ class PatchRoutePolicyRouterRequest
24551
+ include ::Google::Protobuf::MessageExts
24552
+ extend ::Google::Protobuf::MessageExts::ClassMethods
24553
+ end
24554
+
24250
24555
  # A request message for Routers.Patch. See the method description for details.
24251
24556
  # @!attribute [rw] project
24252
24557
  # @return [::String]
@@ -26547,6 +26852,12 @@ module Google
26547
26852
  # @!attribute [rw] name
26548
26853
  # @return [::String]
26549
26854
  # [Output Only] The name of the firewall policy.
26855
+ # @!attribute [rw] packet_mirroring_rules
26856
+ # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
26857
+ # [Output only] The packet mirroring rules that apply to the network.
26858
+ # @!attribute [rw] priority
26859
+ # @return [::Integer]
26860
+ # [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.
26550
26861
  # @!attribute [rw] rules
26551
26862
  # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
26552
26863
  # [Output only] The rules that apply to the network.
@@ -26569,6 +26880,10 @@ module Google
26569
26880
 
26570
26881
  NETWORK_REGIONAL = 190_804_272
26571
26882
 
26883
+ SYSTEM_GLOBAL = 60_099_507
26884
+
26885
+ SYSTEM_REGIONAL = 161_777_199
26886
+
26572
26887
  UNSPECIFIED = 526_786_327
26573
26888
  end
26574
26889
  end
@@ -26740,6 +27055,24 @@ module Google
26740
27055
  extend ::Google::Protobuf::MessageExts::ClassMethods
26741
27056
  end
26742
27057
 
27058
+ # A request message for NetworkFirewallPolicies.RemovePacketMirroringRule. See the method description for details.
27059
+ # @!attribute [rw] firewall_policy
27060
+ # @return [::String]
27061
+ # Name of the firewall policy to update.
27062
+ # @!attribute [rw] priority
27063
+ # @return [::Integer]
27064
+ # The priority of the rule to remove from the firewall policy.
27065
+ # @!attribute [rw] project
27066
+ # @return [::String]
27067
+ # Project ID for this request.
27068
+ # @!attribute [rw] request_id
27069
+ # @return [::String]
27070
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
27071
+ class RemovePacketMirroringRuleNetworkFirewallPolicyRequest
27072
+ include ::Google::Protobuf::MessageExts
27073
+ extend ::Google::Protobuf::MessageExts::ClassMethods
27074
+ end
27075
+
26743
27076
  # A request message for Networks.RemovePeering. See the method description for details.
26744
27077
  # @!attribute [rw] network
26745
27078
  # @return [::String]
@@ -27235,22 +27568,22 @@ module Google
27235
27568
  extend ::Google::Protobuf::MessageExts::ClassMethods
27236
27569
  end
27237
27570
 
27238
- # Commitment for a particular resource (a Commitment is composed of one or more of these).
27571
+ # Commitment for a particular hardware resource (a commitment is composed of one or more of these).
27239
27572
  # @!attribute [rw] accelerator_type
27240
27573
  # @return [::String]
27241
- # Name of the accelerator type resource. Applicable only when the type is ACCELERATOR.
27574
+ # Name of the accelerator type or GPU resource. Specify this field only when the type of hardware resource is ACCELERATOR.
27242
27575
  # @!attribute [rw] amount
27243
27576
  # @return [::Integer]
27244
- # The amount of the resource purchased (in a type-dependent unit, such as bytes). For vCPUs, this can just be an integer. For memory, this must be provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every vCPU.
27577
+ # The quantity of the hardware resource that you want to commit to purchasing (in a type-dependent unit). - For vCPUs, you must specify an integer value. - For memory, you specify the amount of MB that you want. The value you specify must be a multiple of 256 MB, with up to 6.5 GB of memory per every vCPU. - For GPUs, you must specify an integer value. - For Local SSD disks, you must specify the amount in GB. The size of a single Local SSD disk is 375 GB.
27245
27578
  # @!attribute [rw] type
27246
27579
  # @return [::String]
27247
- # Type of resource for which this commitment applies. Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR.
27580
+ # The type of hardware resource that you want to specify. You can specify any of the following values: - VCPU - MEMORY - LOCAL_SSD - ACCELERATOR Specify as a separate entry in the list for each individual resource type.
27248
27581
  # Check the Type enum for the list of possible values.
27249
27582
  class ResourceCommitment
27250
27583
  include ::Google::Protobuf::MessageExts
27251
27584
  extend ::Google::Protobuf::MessageExts::ClassMethods
27252
27585
 
27253
- # Type of resource for which this commitment applies. Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR.
27586
+ # The type of hardware resource that you want to specify. You can specify any of the following values: - VCPU - MEMORY - LOCAL_SSD - ACCELERATOR Specify as a separate entry in the list for each individual resource type.
27254
27587
  module Type
27255
27588
  # A value indicating that the enum field is not set.
27256
27589
  UNDEFINED_TYPE = 0
@@ -27909,6 +28242,52 @@ module Google
27909
28242
  extend ::Google::Protobuf::MessageExts::ClassMethods
27910
28243
  end
27911
28244
 
28245
+ # @!attribute [rw] description
28246
+ # @return [::String]
28247
+ # An optional description of route policy.
28248
+ # @!attribute [rw] fingerprint
28249
+ # @return [::String]
28250
+ # A fingerprint for the Route Policy being applied to this Router, which is essentially a hash of the Route Policy used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update Route Policy. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make a getRoutePolicy() request to retrieve a Route Policy.
28251
+ # @!attribute [rw] name
28252
+ # @return [::String]
28253
+ # Route Policy name, which must be a resource ID segment and unique within all the router's Route Policies. Name should conform to RFC1035.
28254
+ # @!attribute [rw] terms
28255
+ # @return [::Array<::Google::Cloud::Compute::V1::RoutePolicyPolicyTerm>]
28256
+ # List of terms (the order in the list is not important, they are evaluated in order of priority). Order of policies is not retained and might change when getting policy later.
28257
+ # @!attribute [rw] type
28258
+ # @return [::String]
28259
+ # Check the Type enum for the list of possible values.
28260
+ class RoutePolicy
28261
+ include ::Google::Protobuf::MessageExts
28262
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28263
+
28264
+
28265
+ module Type
28266
+ # A value indicating that the enum field is not set.
28267
+ UNDEFINED_TYPE = 0
28268
+
28269
+ # The Route Policy is an Export Policy.
28270
+ ROUTE_POLICY_TYPE_EXPORT = 293_086_882
28271
+
28272
+ # The Route Policy is an Import Policy.
28273
+ ROUTE_POLICY_TYPE_IMPORT = 397_444_755
28274
+ end
28275
+ end
28276
+
28277
+ # @!attribute [rw] actions
28278
+ # @return [::Array<::Google::Cloud::Compute::V1::Expr>]
28279
+ # CEL expressions to evaluate to modify a route when this term matches.
28280
+ # @!attribute [rw] match
28281
+ # @return [::Google::Cloud::Compute::V1::Expr]
28282
+ # CEL expression evaluated against a route to determine if this term applies. When not set, the term applies to all routes.
28283
+ # @!attribute [rw] priority
28284
+ # @return [::Integer]
28285
+ # The evaluation priority for this term, which must be between 0 (inclusive) and 2^31 (exclusive), and unique within the list.
28286
+ class RoutePolicyPolicyTerm
28287
+ include ::Google::Protobuf::MessageExts
28288
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28289
+ end
28290
+
27912
28291
  # Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.
27913
28292
  # @!attribute [rw] bgp
27914
28293
  # @return [::Google::Cloud::Compute::V1::RouterBgp]
@@ -28083,10 +28462,10 @@ module Google
28083
28462
  # Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6.
28084
28463
  # @!attribute [rw] export_policies
28085
28464
  # @return [::Array<::String>]
28086
- # List of export policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type. Note that Route Policies are currently available in preview. Please use Beta API to use Route Policies.
28465
+ # List of export policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type.
28087
28466
  # @!attribute [rw] import_policies
28088
28467
  # @return [::Array<::String>]
28089
- # List of import policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type. Note that Route Policies are currently available in preview. Please use Beta API to use Route Policies.
28468
+ # List of import policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type.
28090
28469
  # @!attribute [rw] interface_name
28091
28470
  # @return [::String]
28092
28471
  # Name of the interface the BGP peer is associated with.
@@ -28209,7 +28588,7 @@ module Google
28209
28588
 
28210
28589
  # @!attribute [rw] ip_range
28211
28590
  # @return [::String]
28212
- # IP address and range of the interface. - For Internet Protocol version 4 (IPv4), the IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example, 169.254.0.1/30. Note: Do not truncate the IP address, as it represents the IP address of the interface. - For Internet Protocol version 6 (IPv6), the value must be a unique local address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This value should be a CIDR-formatted string, for example, fc00:0:1:1::1/112. Within the router's VPC, this IPv6 prefix will be reserved exclusively for this connection and cannot be used for any other purpose.
28591
+ # IP address and range of the interface. - For Internet Protocol version 4 (IPv4), the IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example, 169.254.0.1/30. Note: Do not truncate the IP address, as it represents the IP address of the interface. - For Internet Protocol version 6 (IPv6), the value must be a unique local address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This value should be a CIDR-formatted string, for example, fdff:1::1/112. Within the router's VPC, this IPv6 prefix will be reserved exclusively for this connection and cannot be used for any other purpose.
28213
28592
  # @!attribute [rw] ip_version
28214
28593
  # @return [::String]
28215
28594
  # IP version of this interface.
@@ -28709,6 +29088,69 @@ module Google
28709
29088
  extend ::Google::Protobuf::MessageExts::ClassMethods
28710
29089
  end
28711
29090
 
29091
+ # @!attribute [rw] resource
29092
+ # @return [::Google::Cloud::Compute::V1::RoutePolicy]
29093
+ class RoutersGetRoutePolicyResponse
29094
+ include ::Google::Protobuf::MessageExts
29095
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29096
+ end
29097
+
29098
+ # @!attribute [rw] etag
29099
+ # @return [::String]
29100
+ # @!attribute [rw] id
29101
+ # @return [::String]
29102
+ # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
29103
+ # @!attribute [rw] kind
29104
+ # @return [::String]
29105
+ # [Output Only] Type of resource. Always compute#routersListBgpRoutes for lists of bgp routes.
29106
+ # @!attribute [rw] next_page_token
29107
+ # @return [::String]
29108
+ # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
29109
+ # @!attribute [rw] result
29110
+ # @return [::Array<::Google::Cloud::Compute::V1::BgpRoute>]
29111
+ # [Output Only] A list of bgp routes.
29112
+ # @!attribute [rw] self_link
29113
+ # @return [::String]
29114
+ # [Output Only] Server-defined URL for this resource.
29115
+ # @!attribute [rw] unreachables
29116
+ # @return [::Array<::String>]
29117
+ # [Output Only] Unreachable resources.
29118
+ # @!attribute [rw] warning
29119
+ # @return [::Google::Cloud::Compute::V1::Warning]
29120
+ # [Output Only] Informational warning message.
29121
+ class RoutersListBgpRoutes
29122
+ include ::Google::Protobuf::MessageExts
29123
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29124
+ end
29125
+
29126
+ # @!attribute [rw] etag
29127
+ # @return [::String]
29128
+ # @!attribute [rw] id
29129
+ # @return [::String]
29130
+ # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
29131
+ # @!attribute [rw] kind
29132
+ # @return [::String]
29133
+ # [Output Only] Type of resource. Always compute#routersListRoutePolicies for lists of route policies.
29134
+ # @!attribute [rw] next_page_token
29135
+ # @return [::String]
29136
+ # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
29137
+ # @!attribute [rw] result
29138
+ # @return [::Array<::Google::Cloud::Compute::V1::RoutePolicy>]
29139
+ # [Output Only] A list of route policies.
29140
+ # @!attribute [rw] self_link
29141
+ # @return [::String]
29142
+ # [Output Only] Server-defined URL for this resource.
29143
+ # @!attribute [rw] unreachables
29144
+ # @return [::Array<::String>]
29145
+ # [Output Only] Unreachable resources.
29146
+ # @!attribute [rw] warning
29147
+ # @return [::Google::Cloud::Compute::V1::Warning]
29148
+ # [Output Only] Informational warning message.
29149
+ class RoutersListRoutePolicies
29150
+ include ::Google::Protobuf::MessageExts
29151
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29152
+ end
29153
+
28712
29154
  # @!attribute [rw] resource
28713
29155
  # @return [::Google::Cloud::Compute::V1::Router]
28714
29156
  # Preview of given router.
@@ -28966,6 +29408,9 @@ module Google
28966
29408
  # @!attribute [rw] availability_domain
28967
29409
  # @return [::Integer]
28968
29410
  # Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
29411
+ # @!attribute [rw] host_error_timeout_seconds
29412
+ # @return [::Integer]
29413
+ # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
28969
29414
  # @!attribute [rw] instance_termination_action
28970
29415
  # @return [::String]
28971
29416
  # Specifies the termination action for the instance.
@@ -29389,6 +29834,8 @@ module Google
29389
29834
 
29390
29835
  ADVANCED = 63_789_090
29391
29836
 
29837
+ ADVANCED_PREVIEW = 40_905_867
29838
+
29392
29839
  STANDARD = 484_642_493
29393
29840
  end
29394
29841
  end
@@ -32134,7 +32581,7 @@ module Google
32134
32581
  # Customer provided encryption key when creating Snapshot from Instant Snapshot.
32135
32582
  # @!attribute [rw] source_instant_snapshot_id
32136
32583
  # @return [::String]
32137
- # [Output Only] The unique ID of the instant snapshot used to create this snapshot. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact instant snapshot that was used.
32584
+ # [Output Only] The unique ID of the instant snapshot used to create this snapshot. This value identifies the exact instant snapshot that was used to create this snapshot. For example, if you created the snapshot from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact instant snapshot that was used.
32138
32585
  # @!attribute [rw] source_snapshot_schedule_policy
32139
32586
  # @return [::String]
32140
32587
  # [Output Only] URL of the resource policy which created this scheduled snapshot.
@@ -33612,7 +34059,7 @@ module Google
33612
34059
  # Check the PrivateIpv6GoogleAccess enum for the list of possible values.
33613
34060
  # @!attribute [rw] purpose
33614
34061
  # @return [::String]
33615
- # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
34062
+ # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION, PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. A subnet with purpose set to PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
33616
34063
  # Check the Purpose enum for the list of possible values.
33617
34064
  # @!attribute [rw] region
33618
34065
  # @return [::String]
@@ -33671,7 +34118,7 @@ module Google
33671
34118
  ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
33672
34119
  end
33673
34120
 
33674
- # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
34121
+ # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION, PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. A subnet with purpose set to PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
33675
34122
  module Purpose
33676
34123
  # A value indicating that the enum field is not set.
33677
34124
  UNDEFINED_PURPOSE = 0
@@ -36089,7 +36536,7 @@ module Google
36089
36536
  # A request message for RegionCommitments.Update. See the method description for details.
36090
36537
  # @!attribute [rw] commitment
36091
36538
  # @return [::String]
36092
- # Name of the commitment for which auto renew is being updated.
36539
+ # Name of the commitment that you want to update.
36093
36540
  # @!attribute [rw] commitment_resource
36094
36541
  # @return [::Google::Cloud::Compute::V1::Commitment]
36095
36542
  # The body resource for this request
@@ -36206,6 +36653,27 @@ module Google
36206
36653
  extend ::Google::Protobuf::MessageExts::ClassMethods
36207
36654
  end
36208
36655
 
36656
+ # A request message for Routers.UpdateRoutePolicy. See the method description for details.
36657
+ # @!attribute [rw] project
36658
+ # @return [::String]
36659
+ # Project ID for this request.
36660
+ # @!attribute [rw] region
36661
+ # @return [::String]
36662
+ # Name of the region for this request.
36663
+ # @!attribute [rw] request_id
36664
+ # @return [::String]
36665
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
36666
+ # @!attribute [rw] route_policy_resource
36667
+ # @return [::Google::Cloud::Compute::V1::RoutePolicy]
36668
+ # The body resource for this request
36669
+ # @!attribute [rw] router
36670
+ # @return [::String]
36671
+ # Name of the Router resource where Route Policy is defined.
36672
+ class UpdateRoutePolicyRouterRequest
36673
+ include ::Google::Protobuf::MessageExts
36674
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36675
+ end
36676
+
36209
36677
  # A request message for Routers.Update. See the method description for details.
36210
36678
  # @!attribute [rw] project
36211
36679
  # @return [::String]
@@ -36544,7 +37012,7 @@ module Google
36544
37012
  # Network URL.
36545
37013
  # @!attribute [rw] purpose
36546
37014
  # @return [::String]
36547
- # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
37015
+ # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION, PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. A subnet with purpose set to PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
36548
37016
  # Check the Purpose enum for the list of possible values.
36549
37017
  # @!attribute [rw] role
36550
37018
  # @return [::String]
@@ -36576,7 +37044,7 @@ module Google
36576
37044
  INTERNAL = 279_295_677
36577
37045
  end
36578
37046
 
36579
- # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
37047
+ # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION, PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. A subnet with purpose set to PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
36580
37048
  module Purpose
36581
37049
  # A value indicating that the enum field is not set.
36582
37050
  UNDEFINED_PURPOSE = 0