google-cloud-compute-v1 2.17.0 → 2.19.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.
@@ -2393,6 +2421,29 @@ module Google
2393
2421
  extend ::Google::Protobuf::MessageExts::ClassMethods
2394
2422
  end
2395
2423
 
2424
+ # @!attribute [rw] service_share_type
2425
+ # @return [::String]
2426
+ # Sharing config for all Google Cloud services.
2427
+ # Check the ServiceShareType enum for the list of possible values.
2428
+ class AllocationReservationSharingPolicy
2429
+ include ::Google::Protobuf::MessageExts
2430
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2431
+
2432
+ # Sharing config for all Google Cloud services.
2433
+ module ServiceShareType
2434
+ # A value indicating that the enum field is not set.
2435
+ UNDEFINED_SERVICE_SHARE_TYPE = 0
2436
+
2437
+ # Allow all Google Cloud managed services to share reservations.
2438
+ ALLOW_ALL = 475_536_235
2439
+
2440
+ # [Default] Disallow sharing with all Google Cloud services.
2441
+ DISALLOW_ALL = 277_786_301
2442
+
2443
+ SERVICE_SHARE_TYPE_UNSPECIFIED = 279_057_148
2444
+ end
2445
+ end
2446
+
2396
2447
  # [Output Only] Contains output only fields.
2397
2448
  # @!attribute [rw] specific_sku_allocation
2398
2449
  # @return [::Google::Cloud::Compute::V1::AllocationResourceStatusSpecificSKUAllocation]
@@ -2406,9 +2457,21 @@ module Google
2406
2457
  # @!attribute [rw] source_instance_template_id
2407
2458
  # @return [::String]
2408
2459
  # ID of the instance template used to populate reservation properties.
2460
+ # @!attribute [rw] utilizations
2461
+ # @return [::Google::Protobuf::Map{::String => ::Integer}]
2462
+ # Per service utilization breakdown. The Key is the Google Cloud managed service name.
2409
2463
  class AllocationResourceStatusSpecificSKUAllocation
2410
2464
  include ::Google::Protobuf::MessageExts
2411
2465
  extend ::Google::Protobuf::MessageExts::ClassMethods
2466
+
2467
+ # @!attribute [rw] key
2468
+ # @return [::String]
2469
+ # @!attribute [rw] value
2470
+ # @return [::Integer]
2471
+ class UtilizationsEntry
2472
+ include ::Google::Protobuf::MessageExts
2473
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2474
+ end
2412
2475
  end
2413
2476
 
2414
2477
  # @!attribute [rw] disk_size_gb
@@ -3321,6 +3384,9 @@ module Google
3321
3384
  # @!attribute [rw] capacity_scaler
3322
3385
  # @return [::Float]
3323
3386
  # A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.
3387
+ # @!attribute [rw] custom_metrics
3388
+ # @return [::Array<::Google::Cloud::Compute::V1::BackendCustomMetric>]
3389
+ # List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
3324
3390
  # @!attribute [rw] description
3325
3391
  # @return [::String]
3326
3392
  # An optional description of this resource. Provide this property when you create the resource.
@@ -3367,6 +3433,9 @@ module Google
3367
3433
  # Balance based on the number of simultaneous connections.
3368
3434
  CONNECTION = 246_311_646
3369
3435
 
3436
+ # Based on custom defined and reported metrics.
3437
+ CUSTOM_METRICS = 331_575_765
3438
+
3370
3439
  # Balance based on requests per second (RPS).
3371
3440
  RATE = 2_508_000
3372
3441
 
@@ -3573,6 +3642,21 @@ module Google
3573
3642
  extend ::Google::Protobuf::MessageExts::ClassMethods
3574
3643
  end
3575
3644
 
3645
+ # Custom Metrics are used for CUSTOM_METRICS balancing_mode.
3646
+ # @!attribute [rw] dry_run
3647
+ # @return [::Boolean]
3648
+ # If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing.
3649
+ # @!attribute [rw] max_utilization
3650
+ # @return [::Float]
3651
+ # Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is [0.0, 1.0].
3652
+ # @!attribute [rw] name
3653
+ # @return [::String]
3654
+ # Name of a custom utilization signal. The name must be 1-64 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, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
3655
+ class BackendCustomMetric
3656
+ include ::Google::Protobuf::MessageExts
3657
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3658
+ end
3659
+
3576
3660
  # Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/v1/regionBackendServices) For more information, see Backend Services.
3577
3661
  # @!attribute [rw] affinity_cookie_ttl_sec
3578
3662
  # @return [::Integer]
@@ -3600,6 +3684,9 @@ module Google
3600
3684
  # @!attribute [rw] creation_timestamp
3601
3685
  # @return [::String]
3602
3686
  # [Output Only] Creation timestamp in RFC3339 text format.
3687
+ # @!attribute [rw] custom_metrics
3688
+ # @return [::Array<::Google::Cloud::Compute::V1::BackendServiceCustomMetric>]
3689
+ # List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
3603
3690
  # @!attribute [rw] custom_request_headers
3604
3691
  # @return [::Array<::String>]
3605
3692
  # Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).
@@ -3802,6 +3889,9 @@ module Google
3802
3889
 
3803
3890
  # Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.
3804
3891
  WEIGHTED_MAGLEV = 254_930_962
3892
+
3893
+ # Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields.
3894
+ WEIGHTED_ROUND_ROBIN = 5_584_977
3805
3895
  end
3806
3896
 
3807
3897
  # The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.
@@ -4027,6 +4117,18 @@ module Google
4027
4117
  end
4028
4118
  end
4029
4119
 
4120
+ # Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.
4121
+ # @!attribute [rw] dry_run
4122
+ # @return [::Boolean]
4123
+ # If true, the metric data is not used for load balancing.
4124
+ # @!attribute [rw] name
4125
+ # @return [::String]
4126
+ # Name of a custom utilization signal. The name must be 1-64 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, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
4127
+ class BackendServiceCustomMetric
4128
+ include ::Google::Protobuf::MessageExts
4129
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4130
+ end
4131
+
4030
4132
  # For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).
4031
4133
  # @!attribute [rw] disable_connection_drain_on_failover
4032
4134
  # @return [::Boolean]
@@ -4204,6 +4306,9 @@ module Google
4204
4306
 
4205
4307
  # Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.
4206
4308
  WEIGHTED_MAGLEV = 254_930_962
4309
+
4310
+ # Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields.
4311
+ WEIGHTED_ROUND_ROBIN = 5_584_977
4207
4312
  end
4208
4313
  end
4209
4314
 
@@ -4474,6 +4579,73 @@ module Google
4474
4579
  extend ::Google::Protobuf::MessageExts::ClassMethods
4475
4580
  end
4476
4581
 
4582
+ # @!attribute [rw] as_paths
4583
+ # @return [::Array<::Google::Cloud::Compute::V1::BgpRouteAsPath>]
4584
+ # [Output only] AS-PATH for the route
4585
+ # @!attribute [rw] communities
4586
+ # @return [::Array<::String>]
4587
+ # [Output only] BGP communities in human-readable A:B format.
4588
+ # @!attribute [rw] destination
4589
+ # @return [::Google::Cloud::Compute::V1::BgpRouteNetworkLayerReachabilityInformation]
4590
+ # [Output only] Destination IP range for the route, in human-readable CIDR format
4591
+ # @!attribute [rw] med
4592
+ # @return [::Integer]
4593
+ # [Output only] BGP multi-exit discriminator
4594
+ # @!attribute [rw] origin
4595
+ # @return [::String]
4596
+ # [Output only] BGP origin (EGP, IGP or INCOMPLETE)
4597
+ # Check the Origin enum for the list of possible values.
4598
+ class BgpRoute
4599
+ include ::Google::Protobuf::MessageExts
4600
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4601
+
4602
+ # [Output only] BGP origin (EGP, IGP or INCOMPLETE)
4603
+ module Origin
4604
+ # A value indicating that the enum field is not set.
4605
+ UNDEFINED_ORIGIN = 0
4606
+
4607
+ BGP_ORIGIN_EGP = 378_906_473
4608
+
4609
+ BGP_ORIGIN_IGP = 378_910_317
4610
+
4611
+ BGP_ORIGIN_INCOMPLETE = 452_839_811
4612
+ end
4613
+ end
4614
+
4615
+ # @!attribute [rw] asns
4616
+ # @return [::Array<::Integer>]
4617
+ # [Output only] ASNs in the path segment. When type is SEQUENCE, these are ordered.
4618
+ # @!attribute [rw] type
4619
+ # @return [::String]
4620
+ # [Output only] Type of AS-PATH segment (SEQUENCE or SET)
4621
+ # Check the Type enum for the list of possible values.
4622
+ class BgpRouteAsPath
4623
+ include ::Google::Protobuf::MessageExts
4624
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4625
+
4626
+ # [Output only] Type of AS-PATH segment (SEQUENCE or SET)
4627
+ module Type
4628
+ # A value indicating that the enum field is not set.
4629
+ UNDEFINED_TYPE = 0
4630
+
4631
+ AS_PATH_TYPE_SEQUENCE = 362_887_609
4632
+
4633
+ AS_PATH_TYPE_SET = 302_584_650
4634
+ end
4635
+ end
4636
+
4637
+ # Network Layer Reachability Information (NLRI) for a route.
4638
+ # @!attribute [rw] path_id
4639
+ # @return [::Integer]
4640
+ # If the BGP session supports multiple paths (RFC 7911), the path identifier for this route.
4641
+ # @!attribute [rw] prefix
4642
+ # @return [::String]
4643
+ # Human readable CIDR notation for a prefix. E.g. 10.42.0.0/16.
4644
+ class BgpRouteNetworkLayerReachabilityInformation
4645
+ include ::Google::Protobuf::MessageExts
4646
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4647
+ end
4648
+
4477
4649
  # Associates `members`, or principals, with a `role`.
4478
4650
  # @!attribute [rw] binding_id
4479
4651
  # @return [::String]
@@ -4791,29 +4963,28 @@ module Google
4791
4963
  extend ::Google::Protobuf::MessageExts::ClassMethods
4792
4964
  end
4793
4965
 
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.
4966
+ # 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
4967
  # @!attribute [rw] auto_renew
4796
4968
  # @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.
4969
+ # 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
4970
  # @!attribute [rw] category
4799
4971
  # @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.
4972
+ # 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
4973
  # Check the Category enum for the list of possible values.
4802
4974
  # @!attribute [rw] creation_timestamp
4803
4975
  # @return [::String]
4804
4976
  # [Output Only] Creation timestamp in RFC3339 text format.
4805
4977
  # @!attribute [rw] custom_end_timestamp
4806
4978
  # @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.
4979
+ # [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
4980
  # @!attribute [rw] description
4809
4981
  # @return [::String]
4810
- # An optional description of this resource. Provide this property when you create the resource.
4982
+ # An optional description of the commitment. You can provide this property when you create the resource.
4811
4983
  # @!attribute [rw] end_timestamp
4812
4984
  # @return [::String]
4813
4985
  # [Output Only] Commitment end time in RFC3339 text format.
4814
4986
  # @!attribute [rw] existing_reservations
4815
4987
  # @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
4988
  # @!attribute [rw] id
4818
4989
  # @return [::Integer]
4819
4990
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
@@ -4825,51 +4996,51 @@ module Google
4825
4996
  # The license specification required as part of a license commitment.
4826
4997
  # @!attribute [rw] merge_source_commitments
4827
4998
  # @return [::Array<::String>]
4828
- # List of source commitments to be merged into a new commitment.
4999
+ # The list of source commitments that you are merging to create the new merged commitment. For more information, see Merging commitments.
4829
5000
  # @!attribute [rw] name
4830
5001
  # @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.
5002
+ # 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
5003
  # @!attribute [rw] plan
4833
5004
  # @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).
5005
+ # 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
5006
  # Check the Plan enum for the list of possible values.
4836
5007
  # @!attribute [rw] region
4837
5008
  # @return [::String]
4838
- # [Output Only] URL of the region where this commitment may be used.
5009
+ # [Output Only] URL of the region where the commitment and committed resources are located.
4839
5010
  # @!attribute [rw] reservations
4840
5011
  # @return [::Array<::Google::Cloud::Compute::V1::Reservation>]
4841
- # List of create-on-create reservations for this commitment.
5012
+ # 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
5013
  # @!attribute [rw] resource_status
4843
5014
  # @return [::Google::Cloud::Compute::V1::CommitmentResourceStatus]
4844
5015
  # [Output Only] Status information for Commitment resource.
4845
5016
  # @!attribute [rw] resources
4846
5017
  # @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.
5018
+ # 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
5019
  # @!attribute [rw] self_link
4849
5020
  # @return [::String]
4850
5021
  # [Output Only] Server-defined URL for the resource.
4851
5022
  # @!attribute [rw] split_source_commitment
4852
5023
  # @return [::String]
4853
- # Source commitment to be split into a new commitment.
5024
+ # The source commitment from which you are transferring resources to create the new split commitment. For more information, see Split commitments.
4854
5025
  # @!attribute [rw] start_timestamp
4855
5026
  # @return [::String]
4856
5027
  # [Output Only] Commitment start time in RFC3339 text format.
4857
5028
  # @!attribute [rw] status
4858
5029
  # @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.
5030
+ # [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
5031
  # Check the Status enum for the list of possible values.
4861
5032
  # @!attribute [rw] status_message
4862
5033
  # @return [::String]
4863
5034
  # [Output Only] An optional, human-readable explanation of the status.
4864
5035
  # @!attribute [rw] type
4865
5036
  # @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.
5037
+ # 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
5038
  # Check the Type enum for the list of possible values.
4868
5039
  class Commitment
4869
5040
  include ::Google::Protobuf::MessageExts
4870
5041
  extend ::Google::Protobuf::MessageExts::ClassMethods
4871
5042
 
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.
5043
+ # 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
5044
  module Category
4874
5045
  # A value indicating that the enum field is not set.
4875
5046
  UNDEFINED_CATEGORY = 0
@@ -4881,7 +5052,7 @@ module Google
4881
5052
  MACHINE = 469_553_191
4882
5053
  end
4883
5054
 
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).
5055
+ # 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
5056
  module Plan
4886
5057
  # A value indicating that the enum field is not set.
4887
5058
  UNDEFINED_PLAN = 0
@@ -4893,7 +5064,7 @@ module Google
4893
5064
  TWELVE_MONTH = 173_083_962
4894
5065
  end
4895
5066
 
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.
5067
+ # [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
5068
  module Status
4898
5069
  # A value indicating that the enum field is not set.
4899
5070
  UNDEFINED_STATUS = 0
@@ -4910,7 +5081,7 @@ module Google
4910
5081
  NOT_YET_ACTIVE = 20_607_337
4911
5082
  end
4912
5083
 
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.
5084
+ # 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
5085
  module Type
4915
5086
  # A value indicating that the enum field is not set.
4916
5087
  UNDEFINED_TYPE = 0
@@ -4955,6 +5126,8 @@ module Google
4955
5126
 
4956
5127
  MEMORY_OPTIMIZED_M3 = 276_301_372
4957
5128
 
5129
+ MEMORY_OPTIMIZED_M4 = 276_301_373
5130
+
4958
5131
  MEMORY_OPTIMIZED_X4_16TB = 183_089_120
4959
5132
 
4960
5133
  MEMORY_OPTIMIZED_X4_24TB = 183_116_989
@@ -4963,6 +5136,7 @@ module Google
4963
5136
 
4964
5137
  STORAGE_OPTIMIZED_Z3 = 316_796_085
4965
5138
 
5139
+ # 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.
4966
5140
  TYPE_UNSPECIFIED = 437_714_322
4967
5141
  end
4968
5142
  end
@@ -5037,7 +5211,7 @@ module Google
5037
5211
 
5038
5212
  # @!attribute [rw] commitments
5039
5213
  # @return [::Array<::Google::Cloud::Compute::V1::Commitment>]
5040
- # [Output Only] A list of commitments contained in this scope.
5214
+ # [Output Only] The list of commitments contained in this scope.
5041
5215
  # @!attribute [rw] warning
5042
5216
  # @return [::Google::Cloud::Compute::V1::Warning]
5043
5217
  # [Output Only] Informational warning which replaces the list of commitments when the list is empty.
@@ -6418,6 +6592,27 @@ module Google
6418
6592
  extend ::Google::Protobuf::MessageExts::ClassMethods
6419
6593
  end
6420
6594
 
6595
+ # A request message for Routers.DeleteRoutePolicy. See the method description for details.
6596
+ # @!attribute [rw] policy
6597
+ # @return [::String]
6598
+ # The Policy name for this request. Name must conform to RFC1035
6599
+ # @!attribute [rw] project
6600
+ # @return [::String]
6601
+ # Project ID for this request.
6602
+ # @!attribute [rw] region
6603
+ # @return [::String]
6604
+ # Name of the region for this request.
6605
+ # @!attribute [rw] request_id
6606
+ # @return [::String]
6607
+ # 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).
6608
+ # @!attribute [rw] router
6609
+ # @return [::String]
6610
+ # Name of the Router resource where Route Policy is defined.
6611
+ class DeleteRoutePolicyRouterRequest
6612
+ include ::Google::Protobuf::MessageExts
6613
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6614
+ end
6615
+
6421
6616
  # A request message for Routes.Delete. See the method description for details.
6422
6617
  # @!attribute [rw] project
6423
6618
  # @return [::String]
@@ -8118,6 +8313,9 @@ module Google
8118
8313
  # @!attribute [rw] name
8119
8314
  # @return [::String]
8120
8315
  # 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.
8316
+ # @!attribute [rw] packet_mirroring_rules
8317
+ # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
8318
+ # A list of packet mirroring rules that belong to this policy.
8121
8319
  # @!attribute [rw] parent
8122
8320
  # @return [::String]
8123
8321
  # [Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.
@@ -9927,6 +10125,21 @@ module Google
9927
10125
  extend ::Google::Protobuf::MessageExts::ClassMethods
9928
10126
  end
9929
10127
 
10128
+ # A request message for NetworkFirewallPolicies.GetPacketMirroringRule. See the method description for details.
10129
+ # @!attribute [rw] firewall_policy
10130
+ # @return [::String]
10131
+ # Name of the firewall policy to which the queried rule belongs.
10132
+ # @!attribute [rw] priority
10133
+ # @return [::Integer]
10134
+ # The priority of the rule to get from the firewall policy.
10135
+ # @!attribute [rw] project
10136
+ # @return [::String]
10137
+ # Project ID for this request.
10138
+ class GetPacketMirroringRuleNetworkFirewallPolicyRequest
10139
+ include ::Google::Protobuf::MessageExts
10140
+ extend ::Google::Protobuf::MessageExts::ClassMethods
10141
+ end
10142
+
9930
10143
  # A request message for Projects.Get. See the method description for details.
9931
10144
  # @!attribute [rw] project
9932
10145
  # @return [::String]
@@ -10335,6 +10548,24 @@ module Google
10335
10548
  extend ::Google::Protobuf::MessageExts::ClassMethods
10336
10549
  end
10337
10550
 
10551
+ # A request message for Routers.GetRoutePolicy. See the method description for details.
10552
+ # @!attribute [rw] policy
10553
+ # @return [::String]
10554
+ # The Policy name for this request. Name must conform to RFC1035
10555
+ # @!attribute [rw] project
10556
+ # @return [::String]
10557
+ # Project ID for this request.
10558
+ # @!attribute [rw] region
10559
+ # @return [::String]
10560
+ # Name of the region for this request.
10561
+ # @!attribute [rw] router
10562
+ # @return [::String]
10563
+ # Name of the Router resource to query for the route policy. The name should conform to RFC1035.
10564
+ class GetRoutePolicyRouterRequest
10565
+ include ::Google::Protobuf::MessageExts
10566
+ extend ::Google::Protobuf::MessageExts::ClassMethods
10567
+ end
10568
+
10338
10569
  # A request message for Routes.Get. See the method description for details.
10339
10570
  # @!attribute [rw] project
10340
10571
  # @return [::String]
@@ -13835,6 +14066,9 @@ module Google
13835
14066
  # @!attribute [rw] region
13836
14067
  # @return [::String]
13837
14068
  # [Output Only] The URL of the region where the managed instance group resides (for regional resources).
14069
+ # @!attribute [rw] resource_policies
14070
+ # @return [::Google::Cloud::Compute::V1::InstanceGroupManagerResourcePolicies]
14071
+ # Resource policies for this managed instance group.
13838
14072
  # @!attribute [rw] satisfies_pzi
13839
14073
  # @return [::Boolean]
13840
14074
  # [Output Only] Reserved for future use.
@@ -14186,6 +14420,14 @@ module Google
14186
14420
  extend ::Google::Protobuf::MessageExts::ClassMethods
14187
14421
  end
14188
14422
 
14423
+ # @!attribute [rw] workload_policy
14424
+ # @return [::String]
14425
+ # The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy
14426
+ class InstanceGroupManagerResourcePolicies
14427
+ include ::Google::Protobuf::MessageExts
14428
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14429
+ end
14430
+
14189
14431
  # @!attribute [rw] initial_delay_sec
14190
14432
  # @return [::Integer]
14191
14433
  # Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
@@ -15211,6 +15453,9 @@ module Google
15211
15453
  # @!attribute [rw] name
15212
15454
  # @return [::String]
15213
15455
  # [Output Only] The name of the firewall policy.
15456
+ # @!attribute [rw] packet_mirroring_rules
15457
+ # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
15458
+ # [Output Only] The packet mirroring rules that apply to the instance.
15214
15459
  # @!attribute [rw] priority
15215
15460
  # @return [::Integer]
15216
15461
  # [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.
@@ -15255,6 +15500,57 @@ module Google
15255
15500
  extend ::Google::Protobuf::MessageExts::ClassMethods
15256
15501
  end
15257
15502
 
15503
+ # @!attribute [rw] disruption_schedule
15504
+ # @return [::String]
15505
+ # The disruption schedule for the VM. Default to IMMEDIATE.
15506
+ # Check the DisruptionSchedule enum for the list of possible values.
15507
+ # @!attribute [rw] fault_reasons
15508
+ # @return [::Array<::Google::Cloud::Compute::V1::InstancesReportHostAsFaultyRequestFaultReason>]
15509
+ class InstancesReportHostAsFaultyRequest
15510
+ include ::Google::Protobuf::MessageExts
15511
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15512
+
15513
+ # The disruption schedule for the VM. Default to IMMEDIATE.
15514
+ module DisruptionSchedule
15515
+ # A value indicating that the enum field is not set.
15516
+ UNDEFINED_DISRUPTION_SCHEDULE = 0
15517
+
15518
+ # Not used. Required as per aip/126.
15519
+ DISRUPTION_SCHEDULE_UNSPECIFIED = 332_543_835
15520
+
15521
+ # Delay disruption for caller control. Will be default soon.
15522
+ FUTURE = 474_513_859
15523
+
15524
+ # Default value. Disrupt the VM immediately.
15525
+ IMMEDIATE = 152_881_041
15526
+ end
15527
+ end
15528
+
15529
+ # @!attribute [rw] behavior
15530
+ # @return [::String]
15531
+ # Check the Behavior enum for the list of possible values.
15532
+ # @!attribute [rw] description
15533
+ # @return [::String]
15534
+ class InstancesReportHostAsFaultyRequestFaultReason
15535
+ include ::Google::Protobuf::MessageExts
15536
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15537
+
15538
+
15539
+ module Behavior
15540
+ # A value indicating that the enum field is not set.
15541
+ UNDEFINED_BEHAVIOR = 0
15542
+
15543
+ # Public reportable behaviors
15544
+ BEHAVIOR_UNSPECIFIED = 85_734_570
15545
+
15546
+ PERFORMANCE = 135_701_520
15547
+
15548
+ SILENT_DATA_CORRUPTION = 111_360_678
15549
+
15550
+ UNRECOVERABLE_GPU_ERROR = 363_710_747
15551
+ end
15552
+ end
15553
+
15258
15554
  # @!attribute [rw] instances
15259
15555
  # @return [::Array<::Google::Cloud::Compute::V1::Instance>]
15260
15556
  # [Output Only] A list of instances contained in this scope.
@@ -17001,13 +17297,13 @@ module Google
17001
17297
  # Commitment for a particular license resource.
17002
17298
  # @!attribute [rw] amount
17003
17299
  # @return [::Integer]
17004
- # The number of licenses purchased.
17300
+ # The number of licenses you plan to purchase.
17005
17301
  # @!attribute [rw] cores_per_license
17006
17302
  # @return [::String]
17007
- # Specifies the core range of the instance for which this license applies.
17303
+ # The number of cores per license.
17008
17304
  # @!attribute [rw] license
17009
17305
  # @return [::String]
17010
- # Any applicable license URI.
17306
+ # The applicable license URI.
17011
17307
  class LicenseResourceCommitment
17012
17308
  include ::Google::Protobuf::MessageExts
17013
17309
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -17233,6 +17529,77 @@ module Google
17233
17529
  extend ::Google::Protobuf::MessageExts::ClassMethods
17234
17530
  end
17235
17531
 
17532
+ # A request message for Routers.ListBgpRoutes. See the method description for details.
17533
+ # @!attribute [rw] address_family
17534
+ # @return [::String]
17535
+ # (Required) limit results to this address family (either IPv4 or IPv6)
17536
+ # Check the AddressFamily enum for the list of possible values.
17537
+ # @!attribute [rw] destination_prefix
17538
+ # @return [::String]
17539
+ # Limit results to destinations that are subnets of this CIDR range
17540
+ # @!attribute [rw] filter
17541
+ # @return [::String]
17542
+ # 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.
17543
+ # @!attribute [rw] max_results
17544
+ # @return [::Integer]
17545
+ # 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`)
17546
+ # @!attribute [rw] order_by
17547
+ # @return [::String]
17548
+ # 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.
17549
+ # @!attribute [rw] page_token
17550
+ # @return [::String]
17551
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
17552
+ # @!attribute [rw] peer
17553
+ # @return [::String]
17554
+ # (Required) limit results to the BGP peer with the given name. Name should conform to RFC1035.
17555
+ # @!attribute [rw] policy_applied
17556
+ # @return [::Boolean]
17557
+ # When true, the method returns post-policy routes. Otherwise, it returns pre-policy routes.
17558
+ # @!attribute [rw] project
17559
+ # @return [::String]
17560
+ # Project ID for this request.
17561
+ # @!attribute [rw] region
17562
+ # @return [::String]
17563
+ # Name of the region for this request.
17564
+ # @!attribute [rw] return_partial_success
17565
+ # @return [::Boolean]
17566
+ # 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.
17567
+ # @!attribute [rw] route_type
17568
+ # @return [::String]
17569
+ # (Required) limit results to this type of route (either LEARNED or ADVERTISED)
17570
+ # Check the RouteType enum for the list of possible values.
17571
+ # @!attribute [rw] router
17572
+ # @return [::String]
17573
+ # Name or id of the resource for this request. Name should conform to RFC1035.
17574
+ class ListBgpRoutesRoutersRequest
17575
+ include ::Google::Protobuf::MessageExts
17576
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17577
+
17578
+ # (Required) limit results to this address family (either IPv4 or IPv6)
17579
+ module AddressFamily
17580
+ # A value indicating that the enum field is not set.
17581
+ UNDEFINED_ADDRESS_FAMILY = 0
17582
+
17583
+ IPV4 = 2_254_341
17584
+
17585
+ IPV6 = 2_254_343
17586
+
17587
+ UNSPECIFIED_IP_VERSION = 72_938_440
17588
+ end
17589
+
17590
+ # (Required) limit results to this type of route (either LEARNED or ADVERTISED)
17591
+ module RouteType
17592
+ # A value indicating that the enum field is not set.
17593
+ UNDEFINED_ROUTE_TYPE = 0
17594
+
17595
+ ADVERTISED = 20_302_109
17596
+
17597
+ LEARNED = 231_892_419
17598
+
17599
+ UNSPECIFIED_ROUTE_TYPE = 248_064_440
17600
+ end
17601
+ end
17602
+
17236
17603
  # A request message for DiskTypes.List. See the method description for details.
17237
17604
  # @!attribute [rw] filter
17238
17605
  # @return [::String]
@@ -19397,6 +19764,36 @@ module Google
19397
19764
  extend ::Google::Protobuf::MessageExts::ClassMethods
19398
19765
  end
19399
19766
 
19767
+ # A request message for Routers.ListRoutePolicies. See the method description for details.
19768
+ # @!attribute [rw] filter
19769
+ # @return [::String]
19770
+ # 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.
19771
+ # @!attribute [rw] max_results
19772
+ # @return [::Integer]
19773
+ # 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`)
19774
+ # @!attribute [rw] order_by
19775
+ # @return [::String]
19776
+ # 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.
19777
+ # @!attribute [rw] page_token
19778
+ # @return [::String]
19779
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
19780
+ # @!attribute [rw] project
19781
+ # @return [::String]
19782
+ # Project ID for this request.
19783
+ # @!attribute [rw] region
19784
+ # @return [::String]
19785
+ # Name of the region for this request.
19786
+ # @!attribute [rw] return_partial_success
19787
+ # @return [::Boolean]
19788
+ # 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.
19789
+ # @!attribute [rw] router
19790
+ # @return [::String]
19791
+ # Name or id of the resource for this request. Name should conform to RFC1035.
19792
+ class ListRoutePoliciesRoutersRequest
19793
+ include ::Google::Protobuf::MessageExts
19794
+ extend ::Google::Protobuf::MessageExts::ClassMethods
19795
+ end
19796
+
19400
19797
  # A request message for Routers.List. See the method description for details.
19401
19798
  # @!attribute [rw] filter
19402
19799
  # @return [::String]
@@ -21799,7 +22196,6 @@ module Google
21799
22196
  # [Output Only] Server-defined URL for this resource with the resource id.
21800
22197
  # @!attribute [rw] zone
21801
22198
  # @return [::String]
21802
- # [Output Only] Zone to which the network is restricted.
21803
22199
  class NetworkProfile
21804
22200
  include ::Google::Protobuf::MessageExts
21805
22201
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -22304,6 +22700,9 @@ module Google
22304
22700
  # @!attribute [rw] name
22305
22701
  # @return [::String]
22306
22702
  # [Output Only] The name of the firewall policy.
22703
+ # @!attribute [rw] packet_mirroring_rules
22704
+ # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
22705
+ # [Output Only] The packet mirroring rules that apply to the network.
22307
22706
  # @!attribute [rw] priority
22308
22707
  # @return [::Integer]
22309
22708
  # [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.
@@ -22904,6 +23303,9 @@ module Google
22904
23303
  # @!attribute [rw] local_ssd_gb
22905
23304
  # @return [::Integer]
22906
23305
  # [Output Only] Local SSD available to the node type, defined in GB.
23306
+ # @!attribute [rw] max_vms
23307
+ # @return [::Integer]
23308
+ # [Output Only] Maximum number of VMs that can be created for this node type.
22907
23309
  # @!attribute [rw] memory_mb
22908
23310
  # @return [::Integer]
22909
23311
  # [Output Only] The amount of physical memory available to the node type, defined in MB.
@@ -23931,6 +24333,27 @@ module Google
23931
24333
  extend ::Google::Protobuf::MessageExts::ClassMethods
23932
24334
  end
23933
24335
 
24336
+ # A request message for NetworkFirewallPolicies.PatchPacketMirroringRule. See the method description for details.
24337
+ # @!attribute [rw] firewall_policy
24338
+ # @return [::String]
24339
+ # Name of the firewall policy to update.
24340
+ # @!attribute [rw] firewall_policy_rule_resource
24341
+ # @return [::Google::Cloud::Compute::V1::FirewallPolicyRule]
24342
+ # The body resource for this request
24343
+ # @!attribute [rw] priority
24344
+ # @return [::Integer]
24345
+ # The priority of the rule to patch.
24346
+ # @!attribute [rw] project
24347
+ # @return [::String]
24348
+ # Project ID for this request.
24349
+ # @!attribute [rw] request_id
24350
+ # @return [::String]
24351
+ # 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).
24352
+ class PatchPacketMirroringRuleNetworkFirewallPolicyRequest
24353
+ include ::Google::Protobuf::MessageExts
24354
+ extend ::Google::Protobuf::MessageExts::ClassMethods
24355
+ end
24356
+
23934
24357
  # A request message for InstanceGroupManagers.PatchPerInstanceConfigs. See the method description for details.
23935
24358
  # @!attribute [rw] instance_group_manager
23936
24359
  # @return [::String]
@@ -24249,6 +24672,27 @@ module Google
24249
24672
  extend ::Google::Protobuf::MessageExts::ClassMethods
24250
24673
  end
24251
24674
 
24675
+ # A request message for Routers.PatchRoutePolicy. See the method description for details.
24676
+ # @!attribute [rw] project
24677
+ # @return [::String]
24678
+ # Project ID for this request.
24679
+ # @!attribute [rw] region
24680
+ # @return [::String]
24681
+ # Name of the region for this request.
24682
+ # @!attribute [rw] request_id
24683
+ # @return [::String]
24684
+ # 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).
24685
+ # @!attribute [rw] route_policy_resource
24686
+ # @return [::Google::Cloud::Compute::V1::RoutePolicy]
24687
+ # The body resource for this request
24688
+ # @!attribute [rw] router
24689
+ # @return [::String]
24690
+ # Name of the Router resource where Route Policy is defined.
24691
+ class PatchRoutePolicyRouterRequest
24692
+ include ::Google::Protobuf::MessageExts
24693
+ extend ::Google::Protobuf::MessageExts::ClassMethods
24694
+ end
24695
+
24252
24696
  # A request message for Routers.Patch. See the method description for details.
24253
24697
  # @!attribute [rw] project
24254
24698
  # @return [::String]
@@ -25298,6 +25742,9 @@ module Google
25298
25742
 
25299
25743
  # The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.
25300
25744
  EXTERNAL_IPV6_FORWARDING_RULE_CREATION = 398_684_356
25745
+
25746
+ # The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes.
25747
+ EXTERNAL_IPV6_SUBNETWORK_CREATION = 61_198_284
25301
25748
  end
25302
25749
 
25303
25750
  # [Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned.
@@ -25427,6 +25874,9 @@ module Google
25427
25874
 
25428
25875
  # The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.
25429
25876
  EXTERNAL_IPV6_FORWARDING_RULE_CREATION = 398_684_356
25877
+
25878
+ # The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes.
25879
+ EXTERNAL_IPV6_SUBNETWORK_CREATION = 61_198_284
25430
25880
  end
25431
25881
 
25432
25882
  # [Output Only] The status of the sub public delegated prefix.
@@ -26549,6 +26999,12 @@ module Google
26549
26999
  # @!attribute [rw] name
26550
27000
  # @return [::String]
26551
27001
  # [Output Only] The name of the firewall policy.
27002
+ # @!attribute [rw] packet_mirroring_rules
27003
+ # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
27004
+ # [Output only] The packet mirroring rules that apply to the network.
27005
+ # @!attribute [rw] priority
27006
+ # @return [::Integer]
27007
+ # [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.
26552
27008
  # @!attribute [rw] rules
26553
27009
  # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
26554
27010
  # [Output only] The rules that apply to the network.
@@ -26571,6 +27027,10 @@ module Google
26571
27027
 
26572
27028
  NETWORK_REGIONAL = 190_804_272
26573
27029
 
27030
+ SYSTEM_GLOBAL = 60_099_507
27031
+
27032
+ SYSTEM_REGIONAL = 161_777_199
27033
+
26574
27034
  UNSPECIFIED = 526_786_327
26575
27035
  end
26576
27036
  end
@@ -26742,6 +27202,24 @@ module Google
26742
27202
  extend ::Google::Protobuf::MessageExts::ClassMethods
26743
27203
  end
26744
27204
 
27205
+ # A request message for NetworkFirewallPolicies.RemovePacketMirroringRule. See the method description for details.
27206
+ # @!attribute [rw] firewall_policy
27207
+ # @return [::String]
27208
+ # Name of the firewall policy to update.
27209
+ # @!attribute [rw] priority
27210
+ # @return [::Integer]
27211
+ # The priority of the rule to remove from the firewall policy.
27212
+ # @!attribute [rw] project
27213
+ # @return [::String]
27214
+ # Project ID for this request.
27215
+ # @!attribute [rw] request_id
27216
+ # @return [::String]
27217
+ # 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).
27218
+ class RemovePacketMirroringRuleNetworkFirewallPolicyRequest
27219
+ include ::Google::Protobuf::MessageExts
27220
+ extend ::Google::Protobuf::MessageExts::ClassMethods
27221
+ end
27222
+
26745
27223
  # A request message for Networks.RemovePeering. See the method description for details.
26746
27224
  # @!attribute [rw] network
26747
27225
  # @return [::String]
@@ -26910,6 +27388,27 @@ module Google
26910
27388
  extend ::Google::Protobuf::MessageExts::ClassMethods
26911
27389
  end
26912
27390
 
27391
+ # A request message for Instances.ReportHostAsFaulty. See the method description for details.
27392
+ # @!attribute [rw] instance
27393
+ # @return [::String]
27394
+ # Name of the instance scoping this request.
27395
+ # @!attribute [rw] instances_report_host_as_faulty_request_resource
27396
+ # @return [::Google::Cloud::Compute::V1::InstancesReportHostAsFaultyRequest]
27397
+ # The body resource for this request
27398
+ # @!attribute [rw] project
27399
+ # @return [::String]
27400
+ # Project ID for this request.
27401
+ # @!attribute [rw] request_id
27402
+ # @return [::String]
27403
+ # 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).
27404
+ # @!attribute [rw] zone
27405
+ # @return [::String]
27406
+ # The name of the zone for this request.
27407
+ class ReportHostAsFaultyInstanceRequest
27408
+ include ::Google::Protobuf::MessageExts
27409
+ extend ::Google::Protobuf::MessageExts::ClassMethods
27410
+ end
27411
+
26913
27412
  # A policy that specifies how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer doesn't wait for responses from the shadow service. Before sending traffic to the shadow service, the host or authority header is suffixed with -shadow.
26914
27413
  # @!attribute [rw] backend_service
26915
27414
  # @return [::String]
@@ -26941,6 +27440,9 @@ module Google
26941
27440
  # @!attribute [rw] name
26942
27441
  # @return [::String]
26943
27442
  # The name of the resource, provided by the client when initially creating the resource. The resource 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.
27443
+ # @!attribute [rw] reservation_sharing_policy
27444
+ # @return [::Google::Cloud::Compute::V1::AllocationReservationSharingPolicy]
27445
+ # Specify the reservation sharing policy. If unspecified, the reservation will not be shared with Google Cloud managed services.
26944
27446
  # @!attribute [rw] resource_policies
26945
27447
  # @return [::Google::Protobuf::Map{::String => ::String}]
26946
27448
  # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation.
@@ -27237,22 +27739,22 @@ module Google
27237
27739
  extend ::Google::Protobuf::MessageExts::ClassMethods
27238
27740
  end
27239
27741
 
27240
- # Commitment for a particular resource (a Commitment is composed of one or more of these).
27742
+ # Commitment for a particular hardware resource (a commitment is composed of one or more of these).
27241
27743
  # @!attribute [rw] accelerator_type
27242
27744
  # @return [::String]
27243
- # Name of the accelerator type resource. Applicable only when the type is ACCELERATOR.
27745
+ # Name of the accelerator type or GPU resource. Specify this field only when the type of hardware resource is ACCELERATOR.
27244
27746
  # @!attribute [rw] amount
27245
27747
  # @return [::Integer]
27246
- # 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.
27748
+ # 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.
27247
27749
  # @!attribute [rw] type
27248
27750
  # @return [::String]
27249
- # Type of resource for which this commitment applies. Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR.
27751
+ # 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.
27250
27752
  # Check the Type enum for the list of possible values.
27251
27753
  class ResourceCommitment
27252
27754
  include ::Google::Protobuf::MessageExts
27253
27755
  extend ::Google::Protobuf::MessageExts::ClassMethods
27254
27756
 
27255
- # Type of resource for which this commitment applies. Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR.
27757
+ # 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.
27256
27758
  module Type
27257
27759
  # A value indicating that the enum field is not set.
27258
27760
  UNDEFINED_TYPE = 0
@@ -27656,6 +28158,9 @@ module Google
27656
28158
  # @!attribute [rw] physical_host
27657
28159
  # @return [::String]
27658
28160
  # [Output Only] The precise location of your instance within the zone's data center, including the block, sub-block, and host. The field is formatted as follows: blockId/subBlockId/hostId.
28161
+ # @!attribute [rw] physical_host_topology
28162
+ # @return [::Google::Cloud::Compute::V1::ResourceStatusPhysicalHostTopology]
28163
+ # [Output Only] A series of fields containing the global name of the Compute Engine cluster, as well as the ID of the block, sub-block, and host on which the running instance is located.
27659
28164
  # @!attribute [rw] scheduling
27660
28165
  # @return [::Google::Cloud::Compute::V1::ResourceStatusScheduling]
27661
28166
  # @!attribute [rw] upcoming_maintenance
@@ -27665,6 +28170,24 @@ module Google
27665
28170
  extend ::Google::Protobuf::MessageExts::ClassMethods
27666
28171
  end
27667
28172
 
28173
+ # Represents the physical host topology of the host on which the VM is running.
28174
+ # @!attribute [rw] block
28175
+ # @return [::String]
28176
+ # [Output Only] The ID of the block in which the running instance is located. Instances within the same block experience low network latency.
28177
+ # @!attribute [rw] cluster
28178
+ # @return [::String]
28179
+ # [Output Only] The global name of the Compute Engine cluster where the running instance is located.
28180
+ # @!attribute [rw] host
28181
+ # @return [::String]
28182
+ # [Output Only] The ID of the host on which the running instance is located. Instances on the same host experience the lowest possible network latency.
28183
+ # @!attribute [rw] subblock
28184
+ # @return [::String]
28185
+ # [Output Only] The ID of the sub-block in which the running instance is located. Instances in the same sub-block experience lower network latency than instances in the same block.
28186
+ class ResourceStatusPhysicalHostTopology
28187
+ include ::Google::Protobuf::MessageExts
28188
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28189
+ end
28190
+
27668
28191
  # @!attribute [rw] availability_domain
27669
28192
  # @return [::Integer]
27670
28193
  # 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.
@@ -27911,6 +28434,52 @@ module Google
27911
28434
  extend ::Google::Protobuf::MessageExts::ClassMethods
27912
28435
  end
27913
28436
 
28437
+ # @!attribute [rw] description
28438
+ # @return [::String]
28439
+ # An optional description of route policy.
28440
+ # @!attribute [rw] fingerprint
28441
+ # @return [::String]
28442
+ # 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.
28443
+ # @!attribute [rw] name
28444
+ # @return [::String]
28445
+ # Route Policy name, which must be a resource ID segment and unique within all the router's Route Policies. Name should conform to RFC1035.
28446
+ # @!attribute [rw] terms
28447
+ # @return [::Array<::Google::Cloud::Compute::V1::RoutePolicyPolicyTerm>]
28448
+ # 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.
28449
+ # @!attribute [rw] type
28450
+ # @return [::String]
28451
+ # Check the Type enum for the list of possible values.
28452
+ class RoutePolicy
28453
+ include ::Google::Protobuf::MessageExts
28454
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28455
+
28456
+
28457
+ module Type
28458
+ # A value indicating that the enum field is not set.
28459
+ UNDEFINED_TYPE = 0
28460
+
28461
+ # The Route Policy is an Export Policy.
28462
+ ROUTE_POLICY_TYPE_EXPORT = 293_086_882
28463
+
28464
+ # The Route Policy is an Import Policy.
28465
+ ROUTE_POLICY_TYPE_IMPORT = 397_444_755
28466
+ end
28467
+ end
28468
+
28469
+ # @!attribute [rw] actions
28470
+ # @return [::Array<::Google::Cloud::Compute::V1::Expr>]
28471
+ # CEL expressions to evaluate to modify a route when this term matches.
28472
+ # @!attribute [rw] match
28473
+ # @return [::Google::Cloud::Compute::V1::Expr]
28474
+ # CEL expression evaluated against a route to determine if this term applies. When not set, the term applies to all routes.
28475
+ # @!attribute [rw] priority
28476
+ # @return [::Integer]
28477
+ # The evaluation priority for this term, which must be between 0 (inclusive) and 2^31 (exclusive), and unique within the list.
28478
+ class RoutePolicyPolicyTerm
28479
+ include ::Google::Protobuf::MessageExts
28480
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28481
+ end
28482
+
27914
28483
  # Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.
27915
28484
  # @!attribute [rw] bgp
27916
28485
  # @return [::Google::Cloud::Compute::V1::RouterBgp]
@@ -28085,10 +28654,10 @@ module Google
28085
28654
  # Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6.
28086
28655
  # @!attribute [rw] export_policies
28087
28656
  # @return [::Array<::String>]
28088
- # 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.
28657
+ # 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.
28089
28658
  # @!attribute [rw] import_policies
28090
28659
  # @return [::Array<::String>]
28091
- # 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.
28660
+ # 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.
28092
28661
  # @!attribute [rw] interface_name
28093
28662
  # @return [::String]
28094
28663
  # Name of the interface the BGP peer is associated with.
@@ -28211,7 +28780,7 @@ module Google
28211
28780
 
28212
28781
  # @!attribute [rw] ip_range
28213
28782
  # @return [::String]
28214
- # 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.
28783
+ # 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.
28215
28784
  # @!attribute [rw] ip_version
28216
28785
  # @return [::String]
28217
28786
  # IP version of this interface.
@@ -28711,6 +29280,69 @@ module Google
28711
29280
  extend ::Google::Protobuf::MessageExts::ClassMethods
28712
29281
  end
28713
29282
 
29283
+ # @!attribute [rw] resource
29284
+ # @return [::Google::Cloud::Compute::V1::RoutePolicy]
29285
+ class RoutersGetRoutePolicyResponse
29286
+ include ::Google::Protobuf::MessageExts
29287
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29288
+ end
29289
+
29290
+ # @!attribute [rw] etag
29291
+ # @return [::String]
29292
+ # @!attribute [rw] id
29293
+ # @return [::String]
29294
+ # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
29295
+ # @!attribute [rw] kind
29296
+ # @return [::String]
29297
+ # [Output Only] Type of resource. Always compute#routersListBgpRoutes for lists of bgp routes.
29298
+ # @!attribute [rw] next_page_token
29299
+ # @return [::String]
29300
+ # [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.
29301
+ # @!attribute [rw] result
29302
+ # @return [::Array<::Google::Cloud::Compute::V1::BgpRoute>]
29303
+ # [Output Only] A list of bgp routes.
29304
+ # @!attribute [rw] self_link
29305
+ # @return [::String]
29306
+ # [Output Only] Server-defined URL for this resource.
29307
+ # @!attribute [rw] unreachables
29308
+ # @return [::Array<::String>]
29309
+ # [Output Only] Unreachable resources.
29310
+ # @!attribute [rw] warning
29311
+ # @return [::Google::Cloud::Compute::V1::Warning]
29312
+ # [Output Only] Informational warning message.
29313
+ class RoutersListBgpRoutes
29314
+ include ::Google::Protobuf::MessageExts
29315
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29316
+ end
29317
+
29318
+ # @!attribute [rw] etag
29319
+ # @return [::String]
29320
+ # @!attribute [rw] id
29321
+ # @return [::String]
29322
+ # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
29323
+ # @!attribute [rw] kind
29324
+ # @return [::String]
29325
+ # [Output Only] Type of resource. Always compute#routersListRoutePolicies for lists of route policies.
29326
+ # @!attribute [rw] next_page_token
29327
+ # @return [::String]
29328
+ # [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.
29329
+ # @!attribute [rw] result
29330
+ # @return [::Array<::Google::Cloud::Compute::V1::RoutePolicy>]
29331
+ # [Output Only] A list of route policies.
29332
+ # @!attribute [rw] self_link
29333
+ # @return [::String]
29334
+ # [Output Only] Server-defined URL for this resource.
29335
+ # @!attribute [rw] unreachables
29336
+ # @return [::Array<::String>]
29337
+ # [Output Only] Unreachable resources.
29338
+ # @!attribute [rw] warning
29339
+ # @return [::Google::Cloud::Compute::V1::Warning]
29340
+ # [Output Only] Informational warning message.
29341
+ class RoutersListRoutePolicies
29342
+ include ::Google::Protobuf::MessageExts
29343
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29344
+ end
29345
+
28714
29346
  # @!attribute [rw] resource
28715
29347
  # @return [::Google::Cloud::Compute::V1::Router]
28716
29348
  # Preview of given router.
@@ -29042,6 +29674,9 @@ module Google
29042
29674
  # A value indicating that the enum field is not set.
29043
29675
  UNDEFINED_PROVISIONING_MODEL = 0
29044
29676
 
29677
+ # Bound to the lifecycle of the reservation in which it is provisioned.
29678
+ RESERVATION_BOUND = 293_538_571
29679
+
29045
29680
  # Heavily discounted, no guaranteed runtime.
29046
29681
  SPOT = 2_552_066
29047
29682
 
@@ -29394,6 +30029,8 @@ module Google
29394
30029
 
29395
30030
  ADVANCED = 63_789_090
29396
30031
 
30032
+ ADVANCED_PREVIEW = 40_905_867
30033
+
29397
30034
  STANDARD = 484_642_493
29398
30035
  end
29399
30036
  end
@@ -32139,7 +32776,7 @@ module Google
32139
32776
  # Customer provided encryption key when creating Snapshot from Instant Snapshot.
32140
32777
  # @!attribute [rw] source_instant_snapshot_id
32141
32778
  # @return [::String]
32142
- # [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.
32779
+ # [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.
32143
32780
  # @!attribute [rw] source_snapshot_schedule_policy
32144
32781
  # @return [::String]
32145
32782
  # [Output Only] URL of the resource policy which created this scheduled snapshot.
@@ -33589,6 +34226,9 @@ module Google
33589
34226
  # @!attribute [rw] ip_cidr_range
33590
34227
  # @return [::String]
33591
34228
  # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
34229
+ # @!attribute [rw] ip_collection
34230
+ # @return [::String]
34231
+ # Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one of the following formats to specify a sub-PDP when creating a dual stack subnetwork with external access using BYOIP: - Full resource URL, as in https://www.googleapis.com/compute/v1/projects/projectId/regions/region /publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name
33592
34232
  # @!attribute [rw] ipv6_access_type
33593
34233
  # @return [::String]
33594
34234
  # The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.
@@ -33596,6 +34236,10 @@ module Google
33596
34236
  # @!attribute [rw] ipv6_cidr_range
33597
34237
  # @return [::String]
33598
34238
  # [Output Only] This field is for internal use.
34239
+ # @!attribute [rw] ipv6_gce_endpoint
34240
+ # @return [::String]
34241
+ # [Output Only] Possible endpoints of this subnetwork. It can be one of the following: - VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb. - VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly.
34242
+ # Check the Ipv6GceEndpoint enum for the list of possible values.
33599
34243
  # @!attribute [rw] kind
33600
34244
  # @return [::String]
33601
34245
  # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
@@ -33617,7 +34261,7 @@ module Google
33617
34261
  # Check the PrivateIpv6GoogleAccess enum for the list of possible values.
33618
34262
  # @!attribute [rw] purpose
33619
34263
  # @return [::String]
33620
- # 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.
34264
+ # 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.
33621
34265
  # Check the Purpose enum for the list of possible values.
33622
34266
  # @!attribute [rw] region
33623
34267
  # @return [::String]
@@ -33661,6 +34305,16 @@ module Google
33661
34305
  UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
33662
34306
  end
33663
34307
 
34308
+ # [Output Only] Possible endpoints of this subnetwork. It can be one of the following: - VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb. - VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly.
34309
+ module Ipv6GceEndpoint
34310
+ # A value indicating that the enum field is not set.
34311
+ UNDEFINED_IPV6_GCE_ENDPOINT = 0
34312
+
34313
+ VM_AND_FR = 41_830_108
34314
+
34315
+ VM_ONLY = 236_773_428
34316
+ end
34317
+
33664
34318
  # This field is for internal use. This field can be both set at resource creation time and updated using patch.
33665
34319
  module PrivateIpv6GoogleAccess
33666
34320
  # A value indicating that the enum field is not set.
@@ -33676,7 +34330,7 @@ module Google
33676
34330
  ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
33677
34331
  end
33678
34332
 
33679
- # 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.
34333
+ # 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.
33680
34334
  module Purpose
33681
34335
  # A value indicating that the enum field is not set.
33682
34336
  UNDEFINED_PURPOSE = 0
@@ -34324,7 +34978,7 @@ module Google
34324
34978
  # [Output Only] Server-defined URL for the resource.
34325
34979
  # @!attribute [rw] server_tls_policy
34326
34980
  # @return [::String]
34327
- # Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
34981
+ # Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED or INTERNAL_MANAGED. It also applies to a regional TargetHttpsProxy attached to regional forwardingRules with the loadBalancingScheme set to EXTERNAL_MANAGED or INTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, INTERNAL_MANAGED, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
34328
34982
  # @!attribute [rw] ssl_certificates
34329
34983
  # @return [::Array<::String>]
34330
34984
  # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/\\{project}/locations/{ location}/certificates/\\{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/\\{project }/locations/\\{location}/certificates/\\{resourceName}.
@@ -36094,7 +36748,7 @@ module Google
36094
36748
  # A request message for RegionCommitments.Update. See the method description for details.
36095
36749
  # @!attribute [rw] commitment
36096
36750
  # @return [::String]
36097
- # Name of the commitment for which auto renew is being updated.
36751
+ # Name of the commitment that you want to update.
36098
36752
  # @!attribute [rw] commitment_resource
36099
36753
  # @return [::Google::Cloud::Compute::V1::Commitment]
36100
36754
  # The body resource for this request
@@ -36211,6 +36865,27 @@ module Google
36211
36865
  extend ::Google::Protobuf::MessageExts::ClassMethods
36212
36866
  end
36213
36867
 
36868
+ # A request message for Routers.UpdateRoutePolicy. See the method description for details.
36869
+ # @!attribute [rw] project
36870
+ # @return [::String]
36871
+ # Project ID for this request.
36872
+ # @!attribute [rw] region
36873
+ # @return [::String]
36874
+ # Name of the region for this request.
36875
+ # @!attribute [rw] request_id
36876
+ # @return [::String]
36877
+ # 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).
36878
+ # @!attribute [rw] route_policy_resource
36879
+ # @return [::Google::Cloud::Compute::V1::RoutePolicy]
36880
+ # The body resource for this request
36881
+ # @!attribute [rw] router
36882
+ # @return [::String]
36883
+ # Name of the Router resource where Route Policy is defined.
36884
+ class UpdateRoutePolicyRouterRequest
36885
+ include ::Google::Protobuf::MessageExts
36886
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36887
+ end
36888
+
36214
36889
  # A request message for Routers.Update. See the method description for details.
36215
36890
  # @!attribute [rw] project
36216
36891
  # @return [::String]
@@ -36549,7 +37224,7 @@ module Google
36549
37224
  # Network URL.
36550
37225
  # @!attribute [rw] purpose
36551
37226
  # @return [::String]
36552
- # 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.
37227
+ # 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.
36553
37228
  # Check the Purpose enum for the list of possible values.
36554
37229
  # @!attribute [rw] role
36555
37230
  # @return [::String]
@@ -36581,7 +37256,7 @@ module Google
36581
37256
  INTERNAL = 279_295_677
36582
37257
  end
36583
37258
 
36584
- # 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.
37259
+ # 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.
36585
37260
  module Purpose
36586
37261
  # A value indicating that the enum field is not set.
36587
37262
  UNDEFINED_PURPOSE = 0