google-cloud-compute-v1 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -185,7 +185,7 @@ module Google
185
185
  # Number of accelerator cards exposed to the guest.
186
186
  # @!attribute [rw] guest_accelerator_type
187
187
  # @return [::String]
188
- # The accelerator type resource name, not a full URL, e.g. 'nvidia-tesla-k80'.
188
+ # The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4.
189
189
  class Accelerators
190
190
  include ::Google::Protobuf::MessageExts
191
191
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -194,19 +194,19 @@ module Google
194
194
  # An access configuration attached to an instance's network interface. Only one access config per instance is supported.
195
195
  # @!attribute [rw] external_ipv6
196
196
  # @return [::String]
197
- # The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
197
+ # Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
198
198
  # @!attribute [rw] external_ipv6_prefix_length
199
199
  # @return [::Integer]
200
- # The prefix length of the external IPv6 range.
200
+ # Applies to ipv6AccessConfigs only. The prefix length of the external IPv6 range.
201
201
  # @!attribute [rw] kind
202
202
  # @return [::String]
203
203
  # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
204
204
  # @!attribute [rw] name
205
205
  # @return [::String]
206
- # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
206
+ # The name of this access configuration. In accessConfigs (IPv4), the default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access. In ipv6AccessConfigs, the recommend name is External IPv6.
207
207
  # @!attribute [rw] nat_i_p
208
208
  # @return [::String]
209
- # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
209
+ # Applies to accessConfigs (IPv4) only. An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
210
210
  # @!attribute [rw] network_tier
211
211
  # @return [::String]
212
212
  # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD. If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier. If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
@@ -219,7 +219,7 @@ module Google
219
219
  # Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name. This field is not used in ipv6AccessConfig. A default PTR record will be created if the VM has external IPv6 range associated.
220
220
  # @!attribute [rw] type
221
221
  # @return [::String]
222
- # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
222
+ # The type of configuration. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.
223
223
  # Check the Type enum for the list of possible values.
224
224
  class AccessConfig
225
225
  include ::Google::Protobuf::MessageExts
@@ -243,7 +243,7 @@ module Google
243
243
  STANDARD_OVERRIDES_FIXED_STANDARD = 465_847_234
244
244
  end
245
245
 
246
- # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
246
+ # The type of configuration. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.
247
247
  module Type
248
248
  # A value indicating that the enum field is not set.
249
249
  UNDEFINED_TYPE = 0
@@ -645,7 +645,7 @@ module Google
645
645
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
646
646
  # @!attribute [rw] ip_version
647
647
  # @return [::String]
648
- # The IP version that will be used by this address. Valid options are IPV4 or IPV6. This can only be specified for a global address.
648
+ # The IP version that will be used by this address. Valid options are IPV4 or IPV6.
649
649
  # Check the IpVersion enum for the list of possible values.
650
650
  # @!attribute [rw] ipv6_endpoint_type
651
651
  # @return [::String]
@@ -654,6 +654,12 @@ module Google
654
654
  # @!attribute [rw] kind
655
655
  # @return [::String]
656
656
  # [Output Only] Type of the resource. Always compute#address for addresses.
657
+ # @!attribute [rw] label_fingerprint
658
+ # @return [::String]
659
+ # A fingerprint for the labels being applied to this Address, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Address.
660
+ # @!attribute [rw] labels
661
+ # @return [::Google::Protobuf::Map{::String => ::String}]
662
+ # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
657
663
  # @!attribute [rw] name
658
664
  # @return [::String]
659
665
  # 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])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.
@@ -691,6 +697,15 @@ module Google
691
697
  include ::Google::Protobuf::MessageExts
692
698
  extend ::Google::Protobuf::MessageExts::ClassMethods
693
699
 
700
+ # @!attribute [rw] key
701
+ # @return [::String]
702
+ # @!attribute [rw] value
703
+ # @return [::String]
704
+ class LabelsEntry
705
+ include ::Google::Protobuf::MessageExts
706
+ extend ::Google::Protobuf::MessageExts::ClassMethods
707
+ end
708
+
694
709
  # The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL.
695
710
  module AddressType
696
711
  # A value indicating that the enum field is not set.
@@ -705,7 +720,7 @@ module Google
705
720
  UNSPECIFIED_TYPE = 53_933_922
706
721
  end
707
722
 
708
- # The IP version that will be used by this address. Valid options are IPV4 or IPV6. This can only be specified for a global address.
723
+ # The IP version that will be used by this address. Valid options are IPV4 or IPV6.
709
724
  module IpVersion
710
725
  # A value indicating that the enum field is not set.
711
726
  UNDEFINED_IP_VERSION = 0
@@ -2238,6 +2253,10 @@ module Google
2238
2253
  # @return [::String]
2239
2254
  # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.
2240
2255
  # Check the Mode enum for the list of possible values.
2256
+ # @!attribute [rw] saved_state
2257
+ # @return [::String]
2258
+ # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field is set to PRESERVED if the LocalSSD data has been saved to a persistent location by customer request. (see the discard_local_ssd option on Stop/Suspend). Read-only in the api.
2259
+ # Check the SavedState enum for the list of possible values.
2241
2260
  # @!attribute [rw] shielded_instance_initial_state
2242
2261
  # @return [::Google::Cloud::Compute::V1::InitialStateConfig]
2243
2262
  # [Output Only] shielded vm initial state stored on disk
@@ -2289,6 +2308,18 @@ module Google
2289
2308
  READ_WRITE = 173_607_894
2290
2309
  end
2291
2310
 
2311
+ # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field is set to PRESERVED if the LocalSSD data has been saved to a persistent location by customer request. (see the discard_local_ssd option on Stop/Suspend). Read-only in the api.
2312
+ module SavedState
2313
+ # A value indicating that the enum field is not set.
2314
+ UNDEFINED_SAVED_STATE = 0
2315
+
2316
+ # *[Default]* Disk state has not been preserved.
2317
+ DISK_SAVED_STATE_UNSPECIFIED = 391_290_831
2318
+
2319
+ # Disk state has been preserved.
2320
+ PRESERVED = 254_159_736
2321
+ end
2322
+
2292
2323
  # Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT.
2293
2324
  module Type
2294
2325
  # A value indicating that the enum field is not set.
@@ -2330,6 +2361,12 @@ module Google
2330
2361
  # @!attribute [rw] provisioned_iops
2331
2362
  # @return [::Integer]
2332
2363
  # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.
2364
+ # @!attribute [rw] provisioned_throughput
2365
+ # @return [::Integer]
2366
+ # Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be between 1 and 7,124.
2367
+ # @!attribute [rw] replica_zones
2368
+ # @return [::Array<::String>]
2369
+ # Required for each regional disk associated with the instance. Specify the URLs of the zones where the disk should be replicated to. You must provide exactly two replica zones, and one zone must be the same as the instance zone. You can't use this option with boot disks.
2333
2370
  # @!attribute [rw] resource_manager_tags
2334
2371
  # @return [::Google::Protobuf::Map{::String => ::String}]
2335
2372
  # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.
@@ -2707,7 +2744,7 @@ module Google
2707
2744
  # Cloud Autoscaler policy.
2708
2745
  # @!attribute [rw] cool_down_period_sec
2709
2746
  # @return [::Integer]
2710
- # The number of seconds that the autoscaler waits before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds. Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.
2747
+ # The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process.
2711
2748
  # @!attribute [rw] cpu_utilization
2712
2749
  # @return [::Google::Cloud::Compute::V1::AutoscalingPolicyCpuUtilization]
2713
2750
  # Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group.
@@ -2725,7 +2762,7 @@ module Google
2725
2762
  # The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed.
2726
2763
  # @!attribute [rw] mode
2727
2764
  # @return [::String]
2728
- # Defines operating mode for this policy.
2765
+ # Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler"
2729
2766
  # Check the Mode enum for the list of possible values.
2730
2767
  # @!attribute [rw] scale_in_control
2731
2768
  # @return [::Google::Cloud::Compute::V1::AutoscalingPolicyScaleInControl]
@@ -2745,7 +2782,7 @@ module Google
2745
2782
  extend ::Google::Protobuf::MessageExts::ClassMethods
2746
2783
  end
2747
2784
 
2748
- # Defines operating mode for this policy.
2785
+ # Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler"
2749
2786
  module Mode
2750
2787
  # A value indicating that the enum field is not set.
2751
2788
  UNDEFINED_MODE = 0
@@ -3178,6 +3215,9 @@ module Google
3178
3215
  # @!attribute [rw] max_stream_duration
3179
3216
  # @return [::Google::Cloud::Compute::V1::Duration]
3180
3217
  # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed. If not specified, there will be no timeout limit, i.e. the maximum duration is infinite. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
3218
+ # @!attribute [rw] metadatas
3219
+ # @return [::Google::Protobuf::Map{::String => ::String}]
3220
+ # Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH
3181
3221
  # @!attribute [rw] name
3182
3222
  # @return [::String]
3183
3223
  # 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.
@@ -3186,7 +3226,7 @@ module Google
3186
3226
  # The URL of the network to which this backend service belongs. This field can only be specified when the load balancing scheme is set to INTERNAL.
3187
3227
  # @!attribute [rw] outlier_detection
3188
3228
  # @return [::Google::Cloud::Compute::V1::OutlierDetection]
3189
- # Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. If not set, this feature is considered disabled. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2, or GRPC, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
3229
+ # Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
3190
3230
  # @!attribute [rw] port
3191
3231
  # @return [::Integer]
3192
3232
  # Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For Internal TCP/UDP Load Balancing and Network Load Balancing, omit port.
@@ -3225,6 +3265,15 @@ module Google
3225
3265
  include ::Google::Protobuf::MessageExts
3226
3266
  extend ::Google::Protobuf::MessageExts::ClassMethods
3227
3267
 
3268
+ # @!attribute [rw] key
3269
+ # @return [::String]
3270
+ # @!attribute [rw] value
3271
+ # @return [::String]
3272
+ class MetadatasEntry
3273
+ include ::Google::Protobuf::MessageExts
3274
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3275
+ end
3276
+
3228
3277
  # Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.
3229
3278
  module CompressionMode
3230
3279
  # A value indicating that the enum field is not set.
@@ -3927,6 +3976,33 @@ module Google
3927
3976
  extend ::Google::Protobuf::MessageExts::ClassMethods
3928
3977
  end
3929
3978
 
3979
+ # A request message for Disks.BulkInsert. See the method description for details.
3980
+ # @!attribute [rw] bulk_insert_disk_resource_resource
3981
+ # @return [::Google::Cloud::Compute::V1::BulkInsertDiskResource]
3982
+ # The body resource for this request
3983
+ # @!attribute [rw] project
3984
+ # @return [::String]
3985
+ # Project ID for this request.
3986
+ # @!attribute [rw] request_id
3987
+ # @return [::String]
3988
+ # 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).
3989
+ # @!attribute [rw] zone
3990
+ # @return [::String]
3991
+ # The name of the zone for this request.
3992
+ class BulkInsertDiskRequest
3993
+ include ::Google::Protobuf::MessageExts
3994
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3995
+ end
3996
+
3997
+ # A transient resource used in compute.disks.bulkInsert and compute.regionDisks.bulkInsert. It is only used to process requests and is not persisted.
3998
+ # @!attribute [rw] source_consistency_group_policy
3999
+ # @return [::String]
4000
+ # The URL of the DiskConsistencyGroupPolicy for the group of disks to clone. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy
4001
+ class BulkInsertDiskResource
4002
+ include ::Google::Protobuf::MessageExts
4003
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4004
+ end
4005
+
3930
4006
  # A request message for Instances.BulkInsert. See the method description for details.
3931
4007
  # @!attribute [rw] bulk_insert_instance_resource_resource
3932
4008
  # @return [::Google::Cloud::Compute::V1::BulkInsertInstanceResource]
@@ -3990,6 +4066,24 @@ module Google
3990
4066
  extend ::Google::Protobuf::MessageExts::ClassMethods
3991
4067
  end
3992
4068
 
4069
+ # A request message for RegionDisks.BulkInsert. See the method description for details.
4070
+ # @!attribute [rw] bulk_insert_disk_resource_resource
4071
+ # @return [::Google::Cloud::Compute::V1::BulkInsertDiskResource]
4072
+ # The body resource for this request
4073
+ # @!attribute [rw] project
4074
+ # @return [::String]
4075
+ # Project ID for this request.
4076
+ # @!attribute [rw] region
4077
+ # @return [::String]
4078
+ # The name of the region for this request.
4079
+ # @!attribute [rw] request_id
4080
+ # @return [::String]
4081
+ # 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).
4082
+ class BulkInsertRegionDiskRequest
4083
+ include ::Google::Protobuf::MessageExts
4084
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4085
+ end
4086
+
3993
4087
  # A request message for RegionInstances.BulkInsert. See the method description for details.
3994
4088
  # @!attribute [rw] bulk_insert_instance_resource_resource
3995
4089
  # @return [::Google::Cloud::Compute::V1::BulkInsertInstanceResource]
@@ -4170,7 +4264,7 @@ module Google
4170
4264
  # [Output Only] Server-defined URL for the resource.
4171
4265
  # @!attribute [rw] split_source_commitment
4172
4266
  # @return [::String]
4173
- # Source commitment to be splitted into a new commitment.
4267
+ # Source commitment to be split into a new commitment.
4174
4268
  # @!attribute [rw] start_timestamp
4175
4269
  # @return [::String]
4176
4270
  # [Output Only] Commitment start time in RFC3339 text format.
@@ -4253,6 +4347,8 @@ module Google
4253
4347
 
4254
4348
  GENERAL_PURPOSE_T2D = 232_477_166
4255
4349
 
4350
+ GRAPHICS_OPTIMIZED = 68_500_563
4351
+
4256
4352
  MEMORY_OPTIMIZED = 281_753_417
4257
4353
 
4258
4354
  MEMORY_OPTIMIZED_M3 = 276_301_372
@@ -4595,7 +4691,7 @@ module Google
4595
4691
 
4596
4692
  # @!attribute [rw] kms_key_name
4597
4693
  # @return [::String]
4598
- # The name of the encryption key that is stored in Google Cloud KMS. For example: "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key
4694
+ # The name of the encryption key that is stored in Google Cloud KMS. For example: "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key The fully-qualifed key name may be returned for resource GET requests. For example: "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeyVersions/1
4599
4695
  # @!attribute [rw] kms_key_service_account
4600
4696
  # @return [::String]
4601
4697
  # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. For example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
@@ -6217,6 +6313,12 @@ module Google
6217
6313
  # @return [::String]
6218
6314
  # The architecture of the disk. Valid values are ARM64 or X86_64.
6219
6315
  # Check the Architecture enum for the list of possible values.
6316
+ # @!attribute [rw] async_primary_disk
6317
+ # @return [::Google::Cloud::Compute::V1::DiskAsyncReplication]
6318
+ # Disk asynchronously replicated into this disk.
6319
+ # @!attribute [rw] async_secondary_disks
6320
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Compute::V1::DiskAsyncReplicationList}]
6321
+ # [Output Only] A list of disks this disk is asynchronously replicated to.
6220
6322
  # @!attribute [rw] creation_timestamp
6221
6323
  # @return [::String]
6222
6324
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -6271,6 +6373,9 @@ module Google
6271
6373
  # @!attribute [rw] provisioned_iops
6272
6374
  # @return [::Integer]
6273
6375
  # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.
6376
+ # @!attribute [rw] provisioned_throughput
6377
+ # @return [::Integer]
6378
+ # Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be between 1 and 7,124.
6274
6379
  # @!attribute [rw] region
6275
6380
  # @return [::String]
6276
6381
  # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
@@ -6280,6 +6385,9 @@ module Google
6280
6385
  # @!attribute [rw] resource_policies
6281
6386
  # @return [::Array<::String>]
6282
6387
  # Resource policies applied to this disk for automatic snapshot creations.
6388
+ # @!attribute [rw] resource_status
6389
+ # @return [::Google::Cloud::Compute::V1::DiskResourceStatus]
6390
+ # [Output Only] Status information for the disk resource.
6283
6391
  # @!attribute [rw] satisfies_pzs
6284
6392
  # @return [::Boolean]
6285
6393
  # [Output Only] Reserved for future use.
@@ -6289,6 +6397,12 @@ module Google
6289
6397
  # @!attribute [rw] size_gb
6290
6398
  # @return [::Integer]
6291
6399
  # Size, in GB, of the persistent disk. You can specify this field when creating a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk parameter, or specify it alone to create an empty persistent disk. If you specify this field along with a source, the value of sizeGb must not be less than the size of the source. Acceptable values are 1 to 65536, inclusive.
6400
+ # @!attribute [rw] source_consistency_group_policy
6401
+ # @return [::String]
6402
+ # [Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.
6403
+ # @!attribute [rw] source_consistency_group_policy_id
6404
+ # @return [::String]
6405
+ # [Output Only] ID of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.
6292
6406
  # @!attribute [rw] source_disk
6293
6407
  # @return [::String]
6294
6408
  # The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
@@ -6333,6 +6447,15 @@ module Google
6333
6447
  include ::Google::Protobuf::MessageExts
6334
6448
  extend ::Google::Protobuf::MessageExts::ClassMethods
6335
6449
 
6450
+ # @!attribute [rw] key
6451
+ # @return [::String]
6452
+ # @!attribute [rw] value
6453
+ # @return [::Google::Cloud::Compute::V1::DiskAsyncReplicationList]
6454
+ class AsyncSecondaryDisksEntry
6455
+ include ::Google::Protobuf::MessageExts
6456
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6457
+ end
6458
+
6336
6459
  # @!attribute [rw] key
6337
6460
  # @return [::String]
6338
6461
  # @!attribute [rw] value
@@ -6414,6 +6537,30 @@ module Google
6414
6537
  end
6415
6538
  end
6416
6539
 
6540
+ # @!attribute [rw] consistency_group_policy
6541
+ # @return [::String]
6542
+ # [Output Only] URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.
6543
+ # @!attribute [rw] consistency_group_policy_id
6544
+ # @return [::String]
6545
+ # [Output Only] ID of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.
6546
+ # @!attribute [rw] disk
6547
+ # @return [::String]
6548
+ # The other disk asynchronously replicated to or from the current disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk
6549
+ # @!attribute [rw] disk_id
6550
+ # @return [::String]
6551
+ # [Output Only] The unique ID of the other disk asynchronously replicated to or from the current disk. This value identifies the exact disk that was used to create this replication. For example, if you started replicating the persistent disk from a disk that was later deleted and recreated under the same name, the disk ID would identify the exact version of the disk that was used.
6552
+ class DiskAsyncReplication
6553
+ include ::Google::Protobuf::MessageExts
6554
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6555
+ end
6556
+
6557
+ # @!attribute [rw] async_replication_disk
6558
+ # @return [::Google::Cloud::Compute::V1::DiskAsyncReplication]
6559
+ class DiskAsyncReplicationList
6560
+ include ::Google::Protobuf::MessageExts
6561
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6562
+ end
6563
+
6417
6564
  # A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.
6418
6565
  # @!attribute [rw] auto_delete
6419
6566
  # @return [::Boolean]
@@ -6513,6 +6660,56 @@ module Google
6513
6660
  end
6514
6661
  end
6515
6662
 
6663
+ # @!attribute [rw] async_primary_disk
6664
+ # @return [::Google::Cloud::Compute::V1::DiskResourceStatusAsyncReplicationStatus]
6665
+ # @!attribute [rw] async_secondary_disks
6666
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Compute::V1::DiskResourceStatusAsyncReplicationStatus}]
6667
+ # Key: disk, value: AsyncReplicationStatus message
6668
+ class DiskResourceStatus
6669
+ include ::Google::Protobuf::MessageExts
6670
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6671
+
6672
+ # @!attribute [rw] key
6673
+ # @return [::String]
6674
+ # @!attribute [rw] value
6675
+ # @return [::Google::Cloud::Compute::V1::DiskResourceStatusAsyncReplicationStatus]
6676
+ class AsyncSecondaryDisksEntry
6677
+ include ::Google::Protobuf::MessageExts
6678
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6679
+ end
6680
+ end
6681
+
6682
+ # @!attribute [rw] state
6683
+ # @return [::String]
6684
+ # Check the State enum for the list of possible values.
6685
+ class DiskResourceStatusAsyncReplicationStatus
6686
+ include ::Google::Protobuf::MessageExts
6687
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6688
+
6689
+
6690
+ module State
6691
+ # A value indicating that the enum field is not set.
6692
+ UNDEFINED_STATE = 0
6693
+
6694
+ # Replication is active.
6695
+ ACTIVE = 314_733_318
6696
+
6697
+ # Secondary disk is created and is waiting for replication to start.
6698
+ CREATED = 135_924_424
6699
+
6700
+ # Replication is starting.
6701
+ STARTING = 488_820_800
6702
+
6703
+ STATE_UNSPECIFIED = 470_755_401
6704
+
6705
+ # Replication is stopped.
6706
+ STOPPED = 444_276_141
6707
+
6708
+ # Replication is stopping.
6709
+ STOPPING = 350_791_796
6710
+ end
6711
+ end
6712
+
6516
6713
  # Represents a Disk Type resource. Google Compute Engine has two Disk Type resources: * [Regional](/compute/docs/reference/rest/v1/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/v1/diskTypes) You can choose from a variety of disk types based on your needs. For more information, read Storage options. The diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks. The regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks.
6517
6714
  # @!attribute [rw] creation_timestamp
6518
6715
  # @return [::String]
@@ -6657,6 +6854,23 @@ module Google
6657
6854
  extend ::Google::Protobuf::MessageExts::ClassMethods
6658
6855
  end
6659
6856
 
6857
+ # @!attribute [rw] async_secondary_disk
6858
+ # @return [::String]
6859
+ # The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
6860
+ class DisksStartAsyncReplicationRequest
6861
+ include ::Google::Protobuf::MessageExts
6862
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6863
+ end
6864
+
6865
+ # A transient resource used in compute.disks.stopGroupAsyncReplication and compute.regionDisks.stopGroupAsyncReplication. It is only used to process requests and is not persisted.
6866
+ # @!attribute [rw] resource_policy
6867
+ # @return [::String]
6868
+ # The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy
6869
+ class DisksStopGroupAsyncReplicationResource
6870
+ include ::Google::Protobuf::MessageExts
6871
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6872
+ end
6873
+
6660
6874
  # A set of Display Device options
6661
6875
  # @!attribute [rw] enable_display
6662
6876
  # @return [::Boolean]
@@ -7306,18 +7520,42 @@ module Google
7306
7520
  end
7307
7521
 
7308
7522
  # Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.
7523
+ # @!attribute [rw] dest_address_groups
7524
+ # @return [::Array<::String>]
7525
+ # Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
7526
+ # @!attribute [rw] dest_fqdns
7527
+ # @return [::Array<::String>]
7528
+ # Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
7309
7529
  # @!attribute [rw] dest_ip_ranges
7310
7530
  # @return [::Array<::String>]
7311
7531
  # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
7532
+ # @!attribute [rw] dest_region_codes
7533
+ # @return [::Array<::String>]
7534
+ # Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is 5000.
7535
+ # @!attribute [rw] dest_threat_intelligences
7536
+ # @return [::Array<::String>]
7537
+ # Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
7312
7538
  # @!attribute [rw] layer4_configs
7313
7539
  # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRuleMatcherLayer4Config>]
7314
7540
  # Pairs of IP protocols and ports that the rule should match.
7541
+ # @!attribute [rw] src_address_groups
7542
+ # @return [::Array<::String>]
7543
+ # Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
7544
+ # @!attribute [rw] src_fqdns
7545
+ # @return [::Array<::String>]
7546
+ # Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
7315
7547
  # @!attribute [rw] src_ip_ranges
7316
7548
  # @return [::Array<::String>]
7317
7549
  # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
7550
+ # @!attribute [rw] src_region_codes
7551
+ # @return [::Array<::String>]
7552
+ # Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000.
7318
7553
  # @!attribute [rw] src_secure_tags
7319
7554
  # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRuleSecureTag>]
7320
7555
  # List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
7556
+ # @!attribute [rw] src_threat_intelligences
7557
+ # @return [::Array<::String>]
7558
+ # Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
7321
7559
  class FirewallPolicyRuleMatcher
7322
7560
  include ::Google::Protobuf::MessageExts
7323
7561
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -7384,7 +7622,10 @@ module Google
7384
7622
  # This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By internal TCP/UDP load balancers, backend service-based network load balancers, and internal and external protocol forwarding. Set this field to true to allow packets addressed to any port or packets lacking destination port information (for example, UDP fragments after the first fragment) to be forwarded to the backends configured with this forwarding rule. The ports, port_range, and allPorts fields are mutually exclusive.
7385
7623
  # @!attribute [rw] allow_global_access
7386
7624
  # @return [::Boolean]
7387
- # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
7625
+ # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If set to true, clients can access the Internal TCP/UDP Load Balancer, Internal HTTP(S) and TCP Proxy Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.
7626
+ # @!attribute [rw] allow_psc_global_access
7627
+ # @return [::Boolean]
7628
+ # This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.
7388
7629
  # @!attribute [rw] backend_service
7389
7630
  # @return [::String]
7390
7631
  # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
@@ -7431,7 +7672,7 @@ module Google
7431
7672
  # 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. For Private Service Connect forwarding rules that forward traffic to Google APIs, the forwarding rule name must be a 1-20 characters string with lowercase letters and numbers and must start with a letter.
7432
7673
  # @!attribute [rw] network
7433
7674
  # @return [::String]
7434
- # This field is not used for external load balancing. For Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided.
7675
+ # This field is not used for external load balancing. For Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If the subnetwork is specified, the network of the subnetwork will be used. If neither subnetwork nor this field is specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided.
7435
7676
  # @!attribute [rw] network_tier
7436
7677
  # @return [::String]
7437
7678
  # This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
@@ -8563,6 +8804,18 @@ module Google
8563
8804
  extend ::Google::Protobuf::MessageExts::ClassMethods
8564
8805
  end
8565
8806
 
8807
+ # A request message for InterconnectRemoteLocations.Get. See the method description for details.
8808
+ # @!attribute [rw] interconnect_remote_location
8809
+ # @return [::String]
8810
+ # Name of the interconnect remote location to return.
8811
+ # @!attribute [rw] project
8812
+ # @return [::String]
8813
+ # Project ID for this request.
8814
+ class GetInterconnectRemoteLocationRequest
8815
+ include ::Google::Protobuf::MessageExts
8816
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8817
+ end
8818
+
8566
8819
  # A request message for Interconnects.Get. See the method description for details.
8567
8820
  # @!attribute [rw] interconnect
8568
8821
  # @return [::String]
@@ -8633,6 +8886,9 @@ module Google
8633
8886
  # @!attribute [rw] max_results
8634
8887
  # @return [::Integer]
8635
8888
  # 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`)
8889
+ # @!attribute [rw] nat_name
8890
+ # @return [::String]
8891
+ # Name of the nat service to filter the Nat Mapping information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.
8636
8892
  # @!attribute [rw] order_by
8637
8893
  # @return [::String]
8638
8894
  # 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.
@@ -9631,6 +9887,17 @@ module Google
9631
9887
  extend ::Google::Protobuf::MessageExts::ClassMethods
9632
9888
  end
9633
9889
 
9890
+ # @!attribute [rw] description
9891
+ # @return [::String]
9892
+ # An optional destination address description if intended to be different from the source.
9893
+ # @!attribute [rw] destination_address
9894
+ # @return [::String]
9895
+ # The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project /global/addresses/address - projects/project/global/addresses/address Note that destination project must be different from the source project. So /global/addresses/address is not valid partial url.
9896
+ class GlobalAddressesMoveRequest
9897
+ include ::Google::Protobuf::MessageExts
9898
+ extend ::Google::Protobuf::MessageExts::ClassMethods
9899
+ end
9900
+
9634
9901
  # @!attribute [rw] network_endpoints
9635
9902
  # @return [::Array<::Google::Cloud::Compute::V1::NetworkEndpoint>]
9636
9903
  # The list of network endpoints to be attached.
@@ -9745,13 +10012,13 @@ module Google
9745
10012
  # Guest OS features.
9746
10013
  # @!attribute [rw] type
9747
10014
  # @return [::String]
9748
- # The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE - TDX_CAPABLE For more information, see Enabling guest operating system features.
10015
+ # The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE For more information, see Enabling guest operating system features.
9749
10016
  # Check the Type enum for the list of possible values.
9750
10017
  class GuestOsFeature
9751
10018
  include ::Google::Protobuf::MessageExts
9752
10019
  extend ::Google::Protobuf::MessageExts::ClassMethods
9753
10020
 
9754
- # The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE - TDX_CAPABLE For more information, see Enabling guest operating system features.
10021
+ # The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE For more information, see Enabling guest operating system features.
9755
10022
  module Type
9756
10023
  # A value indicating that the enum field is not set.
9757
10024
  UNDEFINED_TYPE = 0
@@ -9937,7 +10204,7 @@ module Google
9937
10204
  end
9938
10205
  end
9939
10206
 
9940
- # Represents a Health Check resource. Google Compute Engine has two Health Check resources: * [Global](/compute/docs/reference/rest/v1/healthChecks) * [Regional](/compute/docs/reference/rest/v1/regionHealthChecks) Internal HTTP(S) load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Traffic Director must use global health checks (`compute.v1.HealthChecks`). Internal TCP/UDP load balancers can use either regional or global health checks (`compute.v1.regionHealthChecks` or `compute.v1.HealthChecks`). External HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed instance group auto-healing must use global health checks (`compute.v1.HealthChecks`). Backend service-based network load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Target pool-based network load balancers must use legacy HTTP health checks (`compute.v1.httpHealthChecks`). For more information, see Health checks overview.
10207
+ # Represents a Health Check resource. Google Compute Engine has two Health Check resources: * [Global](/compute/docs/reference/rest/v1/healthChecks) * [Regional](/compute/docs/reference/rest/v1/regionHealthChecks) Internal HTTP(S) load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Traffic Director must use global health checks (`compute.v1.healthChecks`). Internal TCP/UDP load balancers can use either regional or global health checks (`compute.v1.regionHealthChecks` or `compute.v1.healthChecks`). External HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed instance group auto-healing must use global health checks (`compute.v1.healthChecks`). Backend service-based network load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Target pool-based network load balancers must use legacy HTTP health checks (`compute.v1.httpHealthChecks`). For more information, see Health checks overview.
9941
10208
  # @!attribute [rw] check_interval_sec
9942
10209
  # @return [::Integer]
9943
10210
  # How often (in seconds) to send a health check. The default value is 5 seconds.
@@ -10199,7 +10466,7 @@ module Google
10199
10466
  # A forwarding rule IP address assigned to this instance.
10200
10467
  # @!attribute [rw] health_state
10201
10468
  # @return [::String]
10202
- # Health state of the instance.
10469
+ # Health state of the IPv4 address of the instance.
10203
10470
  # Check the HealthState enum for the list of possible values.
10204
10471
  # @!attribute [rw] instance
10205
10472
  # @return [::String]
@@ -10228,7 +10495,7 @@ module Google
10228
10495
  extend ::Google::Protobuf::MessageExts::ClassMethods
10229
10496
  end
10230
10497
 
10231
- # Health state of the instance.
10498
+ # Health state of the IPv4 address of the instance.
10232
10499
  module HealthState
10233
10500
  # A value indicating that the enum field is not set.
10234
10501
  UNDEFINED_HEALTH_STATE = 0
@@ -10578,6 +10845,9 @@ module Google
10578
10845
  # @!attribute [rw] metadata_filters
10579
10846
  # @return [::Array<::Google::Cloud::Compute::V1::MetadataFilter>]
10580
10847
  # Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
10848
+ # @!attribute [rw] path_template_match
10849
+ # @return [::String]
10850
+ # If specified, the route is a pattern match expression that must match the :path header once the query string is removed. A pattern match allows you to match - The value must be between 1 and 1024 characters - The pattern must start with a leading slash ("/") - There may be no more than 5 operators in pattern Precisely one of prefix_match, full_path_match, regex_match or path_template_match must be set.
10581
10851
  # @!attribute [rw] prefix_match
10582
10852
  # @return [::String]
10583
10853
  # For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
@@ -12078,6 +12348,9 @@ module Google
12078
12348
  # @!attribute [rw] id
12079
12349
  # @return [::Integer]
12080
12350
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
12351
+ # @!attribute [rw] instance_encryption_key
12352
+ # @return [::Google::Cloud::Compute::V1::CustomerEncryptionKey]
12353
+ # Encrypts suspended data for an instance with a customer-managed encryption key. If you are creating a new instance, this field will encrypt the local SSD and in-memory contents of the instance during the suspend operation. If you do not provide an encryption key when creating the instance, then the local SSD and in-memory contents will be encrypted using an automatically generated key during the suspend operation.
12081
12354
  # @!attribute [rw] key_revocation_action_type
12082
12355
  # @return [::String]
12083
12356
  # KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
@@ -12219,7 +12492,7 @@ module Google
12219
12492
  # A value indicating that the enum field is not set.
12220
12493
  UNDEFINED_STATUS = 0
12221
12494
 
12222
- # The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
12495
+ # The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
12223
12496
  DEPROVISIONING = 428_935_662
12224
12497
 
12225
12498
  # Resources are being allocated for the instance.
@@ -12446,6 +12719,9 @@ module Google
12446
12719
  # @!attribute [rw] instance_group
12447
12720
  # @return [::String]
12448
12721
  # [Output Only] The URL of the Instance Group resource.
12722
+ # @!attribute [rw] instance_lifecycle_policy
12723
+ # @return [::Google::Cloud::Compute::V1::InstanceGroupManagerInstanceLifecyclePolicy]
12724
+ # The repair policy for this managed instance group.
12449
12725
  # @!attribute [rw] instance_template
12450
12726
  # @return [::String]
12451
12727
  # The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.
@@ -12590,12 +12866,31 @@ module Google
12590
12866
  # The URL for the health check that signals autohealing.
12591
12867
  # @!attribute [rw] initial_delay_sec
12592
12868
  # @return [::Integer]
12593
- # The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. This initial delay allows instances to initialize and run their startup scripts before the instance group determines that they are UNHEALTHY. This prevents the managed instance group from recreating its instances prematurely. This value must be from range [0, 3600].
12869
+ # The initial delay is the number of seconds that a new VM takes to initialize and run its startup script. During a VM's initial delay period, the MIG ignores unsuccessful health checks because the VM might be in the startup process. This prevents the MIG from prematurely recreating a VM. If the health check receives a healthy response during the initial delay, it indicates that the startup process is complete and the VM is ready. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
12594
12870
  class InstanceGroupManagerAutoHealingPolicy
12595
12871
  include ::Google::Protobuf::MessageExts
12596
12872
  extend ::Google::Protobuf::MessageExts::ClassMethods
12597
12873
  end
12598
12874
 
12875
+ # @!attribute [rw] force_update_on_repair
12876
+ # @return [::String]
12877
+ # A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group's update policy. - YES: If configuration updates are available, they are applied during repair.
12878
+ # Check the ForceUpdateOnRepair enum for the list of possible values.
12879
+ class InstanceGroupManagerInstanceLifecyclePolicy
12880
+ include ::Google::Protobuf::MessageExts
12881
+ extend ::Google::Protobuf::MessageExts::ClassMethods
12882
+
12883
+ # A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group's update policy. - YES: If configuration updates are available, they are applied during repair.
12884
+ module ForceUpdateOnRepair
12885
+ # A value indicating that the enum field is not set.
12886
+ UNDEFINED_FORCE_UPDATE_ON_REPAIR = 0
12887
+
12888
+ NO = 2497
12889
+
12890
+ YES = 87_751
12891
+ end
12892
+ end
12893
+
12599
12894
  # [Output Only] A list of managed instance groups.
12600
12895
  # @!attribute [rw] id
12601
12896
  # @return [::String]
@@ -12680,7 +12975,7 @@ module Google
12680
12975
  # Check the MinimalAction enum for the list of possible values.
12681
12976
  # @!attribute [rw] most_disruptive_allowed_action
12682
12977
  # @return [::String]
12683
- # Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
12978
+ # Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to avoid restarting the VM and to limit disruption as much as possible. RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
12684
12979
  # Check the MostDisruptiveAllowedAction enum for the list of possible values.
12685
12980
  # @!attribute [rw] replacement_method
12686
12981
  # @return [::String]
@@ -12714,7 +13009,7 @@ module Google
12714
13009
  UNDEFINED_MINIMAL_ACTION = 0
12715
13010
  end
12716
13011
 
12717
- # Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
13012
+ # Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to avoid restarting the VM and to limit disruption as much as possible. RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
12718
13013
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
12719
13014
  # NONE
12720
13015
  # REFRESH
@@ -12780,17 +13075,17 @@ module Google
12780
13075
  # The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
12781
13076
  # @!attribute [rw] minimal_action
12782
13077
  # @return [::String]
12783
- # The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.
13078
+ # The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.
12784
13079
  # Check the MinimalAction enum for the list of possible values.
12785
13080
  # @!attribute [rw] most_disruptive_allowed_action
12786
13081
  # @return [::String]
12787
- # The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.
13082
+ # The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.
12788
13083
  # Check the MostDisruptiveAllowedAction enum for the list of possible values.
12789
13084
  class InstanceGroupManagersApplyUpdatesRequest
12790
13085
  include ::Google::Protobuf::MessageExts
12791
13086
  extend ::Google::Protobuf::MessageExts::ClassMethods
12792
13087
 
12793
- # The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.
13088
+ # The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.
12794
13089
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
12795
13090
  # NONE
12796
13091
  # REFRESH
@@ -12801,7 +13096,7 @@ module Google
12801
13096
  UNDEFINED_MINIMAL_ACTION = 0
12802
13097
  end
12803
13098
 
12804
- # The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.
13099
+ # The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.
12805
13100
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
12806
13101
  # NONE
12807
13102
  # REFRESH
@@ -12824,7 +13119,7 @@ module Google
12824
13119
 
12825
13120
  # @!attribute [rw] instances
12826
13121
  # @return [::Array<::String>]
12827
- # The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
13122
+ # The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances do not have URL and can be deleted only by name. One cannot specify both URLs and names in a single request.
12828
13123
  # @!attribute [rw] skip_instances_on_validation_error
12829
13124
  # @return [::Boolean]
12830
13125
  # Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.
@@ -13427,7 +13722,7 @@ module Google
13427
13722
  # A value indicating that the enum field is not set.
13428
13723
  UNDEFINED_STATUS = 0
13429
13724
 
13430
- # The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
13725
+ # The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
13431
13726
  DEPROVISIONING = 428_935_662
13432
13727
 
13433
13728
  # Resources are being allocated for the instance.
@@ -13617,7 +13912,7 @@ module Google
13617
13912
  extend ::Google::Protobuf::MessageExts::ClassMethods
13618
13913
  end
13619
13914
 
13620
- # Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the GCP network and your on-premises network. For more information, read the Dedicated Interconnect Overview.
13915
+ # Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.
13621
13916
  # @!attribute [rw] admin_enabled
13622
13917
  # @return [::Boolean]
13623
13918
  # Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.
@@ -13655,6 +13950,12 @@ module Google
13655
13950
  # @!attribute [rw] kind
13656
13951
  # @return [::String]
13657
13952
  # [Output Only] Type of the resource. Always compute#interconnect for interconnects.
13953
+ # @!attribute [rw] label_fingerprint
13954
+ # @return [::String]
13955
+ # A fingerprint for the labels being applied to this Interconnect, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Interconnect.
13956
+ # @!attribute [rw] labels
13957
+ # @return [::Google::Protobuf::Map{::String => ::String}]
13958
+ # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
13658
13959
  # @!attribute [rw] link_type
13659
13960
  # @return [::String]
13660
13961
  # Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle.
@@ -13678,6 +13979,9 @@ module Google
13678
13979
  # @!attribute [rw] provisioned_link_count
13679
13980
  # @return [::Integer]
13680
13981
  # [Output Only] Number of links actually provisioned in this interconnect.
13982
+ # @!attribute [rw] remote_location
13983
+ # @return [::String]
13984
+ # Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to.
13681
13985
  # @!attribute [rw] requested_link_count
13682
13986
  # @return [::Integer]
13683
13987
  # Target number of physical links in the link bundle, as requested by the customer.
@@ -13695,6 +13999,15 @@ module Google
13695
13999
  include ::Google::Protobuf::MessageExts
13696
14000
  extend ::Google::Protobuf::MessageExts::ClassMethods
13697
14001
 
14002
+ # @!attribute [rw] key
14003
+ # @return [::String]
14004
+ # @!attribute [rw] value
14005
+ # @return [::String]
14006
+ class LabelsEntry
14007
+ include ::Google::Protobuf::MessageExts
14008
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14009
+ end
14010
+
13698
14011
  # Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.
13699
14012
  module InterconnectType
13700
14013
  # A value indicating that the enum field is not set.
@@ -13770,6 +14083,9 @@ module Google
13770
14083
  # @!attribute [rw] cloud_router_ipv6_interface_id
13771
14084
  # @return [::String]
13772
14085
  # This field is not available.
14086
+ # @!attribute [rw] configuration_constraints
14087
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentConfigurationConstraints]
14088
+ # [Output Only] Constraints for this attachment, if any. The attachment does not work if these constraints are not met.
13773
14089
  # @!attribute [rw] creation_timestamp
13774
14090
  # @return [::String]
13775
14091
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -13807,10 +14123,16 @@ module Google
13807
14123
  # URL of the underlying Interconnect object that this attachment's traffic will traverse through.
13808
14124
  # @!attribute [rw] ipsec_internal_addresses
13809
14125
  # @return [::Array<::String>]
13810
- # A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
14126
+ # A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool.
13811
14127
  # @!attribute [rw] kind
13812
14128
  # @return [::String]
13813
14129
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
14130
+ # @!attribute [rw] label_fingerprint
14131
+ # @return [::String]
14132
+ # A fingerprint for the labels being applied to this InterconnectAttachment, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InterconnectAttachment.
14133
+ # @!attribute [rw] labels
14134
+ # @return [::Google::Protobuf::Map{::String => ::String}]
14135
+ # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
13814
14136
  # @!attribute [rw] mtu
13815
14137
  # @return [::Integer]
13816
14138
  # Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
@@ -13836,6 +14158,9 @@ module Google
13836
14158
  # @!attribute [rw] region
13837
14159
  # @return [::String]
13838
14160
  # [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
14161
+ # @!attribute [rw] remote_service
14162
+ # @return [::String]
14163
+ # [Output Only] If the attachment is on a Cross-Cloud Interconnect connection, this field contains the interconnect's remote location service provider. Example values: "Amazon Web Services" "Microsoft Azure". The field is set only for attachments on Cross-Cloud Interconnect connections. Its value is copied from the InterconnectRemoteLocation remoteService field.
13839
14164
  # @!attribute [rw] router
13840
14165
  # @return [::String]
13841
14166
  # URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region within which the Cloud Router is configured.
@@ -13853,6 +14178,9 @@ module Google
13853
14178
  # @return [::String]
13854
14179
  # [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
13855
14180
  # Check the State enum for the list of possible values.
14181
+ # @!attribute [rw] subnet_length
14182
+ # @return [::Integer]
14183
+ # Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility.
13856
14184
  # @!attribute [rw] type
13857
14185
  # @return [::String]
13858
14186
  # The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
@@ -13864,6 +14192,15 @@ module Google
13864
14192
  include ::Google::Protobuf::MessageExts
13865
14193
  extend ::Google::Protobuf::MessageExts::ClassMethods
13866
14194
 
14195
+ # @!attribute [rw] key
14196
+ # @return [::String]
14197
+ # @!attribute [rw] value
14198
+ # @return [::String]
14199
+ class LabelsEntry
14200
+ include ::Google::Protobuf::MessageExts
14201
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14202
+ end
14203
+
13867
14204
  # Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
13868
14205
  module Bandwidth
13869
14206
  # A value indicating that the enum field is not set.
@@ -14031,6 +14368,42 @@ module Google
14031
14368
  end
14032
14369
  end
14033
14370
 
14371
+ # @!attribute [rw] bgp_md5
14372
+ # @return [::String]
14373
+ # [Output Only] Whether the attachment's BGP session requires/allows/disallows BGP MD5 authentication. This can take one of the following values: MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud Interconnect connection to a remote cloud provider that requires BGP MD5 authentication has the interconnectRemoteLocation attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and that property is propagated to the attachment. Similarly, if BGP MD5 is MD5_UNSUPPORTED, an error is returned if MD5 is requested.
14374
+ # Check the BgpMd5 enum for the list of possible values.
14375
+ # @!attribute [rw] bgp_peer_asn_ranges
14376
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange>]
14377
+ # [Output Only] List of ASN ranges that the remote location is known to support. Formatted as an array of inclusive ranges \\{min: min-value, max: max-value}. For example, [\\{min: 123, max: 123}, \\{min: 64512, max: 65534}] allows the peer ASN to be 123 or anything in the range 64512-65534. This field is only advisory. Although the API accepts other ranges, these are the ranges that we recommend.
14378
+ class InterconnectAttachmentConfigurationConstraints
14379
+ include ::Google::Protobuf::MessageExts
14380
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14381
+
14382
+ # [Output Only] Whether the attachment's BGP session requires/allows/disallows BGP MD5 authentication. This can take one of the following values: MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud Interconnect connection to a remote cloud provider that requires BGP MD5 authentication has the interconnectRemoteLocation attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and that property is propagated to the attachment. Similarly, if BGP MD5 is MD5_UNSUPPORTED, an error is returned if MD5 is requested.
14383
+ module BgpMd5
14384
+ # A value indicating that the enum field is not set.
14385
+ UNDEFINED_BGP_MD5 = 0
14386
+
14387
+ # MD5_OPTIONAL: BGP MD5 authentication is supported and can optionally be configured.
14388
+ MD5_OPTIONAL = 532_156_673
14389
+
14390
+ # MD5_REQUIRED: BGP MD5 authentication must be configured.
14391
+ MD5_REQUIRED = 218_034_496
14392
+
14393
+ # MD5_UNSUPPORTED: BGP MD5 authentication must not be configured
14394
+ MD5_UNSUPPORTED = 86_962_388
14395
+ end
14396
+ end
14397
+
14398
+ # @!attribute [rw] max
14399
+ # @return [::Integer]
14400
+ # @!attribute [rw] min
14401
+ # @return [::Integer]
14402
+ class InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange
14403
+ include ::Google::Protobuf::MessageExts
14404
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14405
+ end
14406
+
14034
14407
  # Response to the list request, and contains a list of interconnect attachments.
14035
14408
  # @!attribute [rw] id
14036
14409
  # @return [::String]
@@ -14105,7 +14478,7 @@ module Google
14105
14478
  extend ::Google::Protobuf::MessageExts::ClassMethods
14106
14479
  end
14107
14480
 
14108
- # Diagnostics information about interconnect, contains detailed and current technical information about Google's side of the connection.
14481
+ # Diagnostics information about the Interconnect connection, which contains detailed and current technical information about Google's side of the connection.
14109
14482
  # @!attribute [rw] arp_caches
14110
14483
  # @return [::Array<::Google::Cloud::Compute::V1::InterconnectDiagnosticsARPEntry>]
14111
14484
  # A list of InterconnectDiagnostics.ARPEntry objects, describing individual neighbors currently seen by the Google router in the ARP cache for the Interconnect. This will be empty when the Interconnect is not bundled.
@@ -14522,6 +14895,196 @@ module Google
14522
14895
  end
14523
14896
  end
14524
14897
 
14898
+ # Represents a Cross-Cloud Interconnect Remote Location resource. You can use this resource to find remote location details about an Interconnect attachment (VLAN).
14899
+ # @!attribute [rw] address
14900
+ # @return [::String]
14901
+ # [Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.
14902
+ # @!attribute [rw] attachment_configuration_constraints
14903
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentConfigurationConstraints]
14904
+ # [Output Only] Subset of fields from InterconnectAttachment's |configurationConstraints| field that apply to all attachments for this remote location.
14905
+ # @!attribute [rw] city
14906
+ # @return [::String]
14907
+ # [Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
14908
+ # @!attribute [rw] constraints
14909
+ # @return [::Google::Cloud::Compute::V1::InterconnectRemoteLocationConstraints]
14910
+ # [Output Only] Constraints on the parameters for creating Cross-Cloud Interconnect and associated InterconnectAttachments.
14911
+ # @!attribute [rw] continent
14912
+ # @return [::String]
14913
+ # [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA
14914
+ # Check the Continent enum for the list of possible values.
14915
+ # @!attribute [rw] creation_timestamp
14916
+ # @return [::String]
14917
+ # [Output Only] Creation timestamp in RFC3339 text format.
14918
+ # @!attribute [rw] description
14919
+ # @return [::String]
14920
+ # [Output Only] An optional description of the resource.
14921
+ # @!attribute [rw] facility_provider
14922
+ # @return [::String]
14923
+ # [Output Only] The name of the provider for this facility (e.g., EQUINIX).
14924
+ # @!attribute [rw] facility_provider_facility_id
14925
+ # @return [::String]
14926
+ # [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).
14927
+ # @!attribute [rw] id
14928
+ # @return [::Integer]
14929
+ # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
14930
+ # @!attribute [rw] kind
14931
+ # @return [::String]
14932
+ # [Output Only] Type of the resource. Always compute#interconnectRemoteLocation for interconnect remote locations.
14933
+ # @!attribute [rw] lacp
14934
+ # @return [::String]
14935
+ # [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED
14936
+ # Check the Lacp enum for the list of possible values.
14937
+ # @!attribute [rw] max_lag_size100_gbps
14938
+ # @return [::Integer]
14939
+ # [Output Only] The maximum number of 100 Gbps ports supported in a link aggregation group (LAG). When linkType is 100 Gbps, requestedLinkCount cannot exceed max_lag_size_100_gbps.
14940
+ # @!attribute [rw] max_lag_size10_gbps
14941
+ # @return [::Integer]
14942
+ # [Output Only] The maximum number of 10 Gbps ports supported in a link aggregation group (LAG). When linkType is 10 Gbps, requestedLinkCount cannot exceed max_lag_size_10_gbps.
14943
+ # @!attribute [rw] name
14944
+ # @return [::String]
14945
+ # [Output Only] Name of the resource.
14946
+ # @!attribute [rw] peeringdb_facility_id
14947
+ # @return [::String]
14948
+ # [Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).
14949
+ # @!attribute [rw] permitted_connections
14950
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectRemoteLocationPermittedConnections>]
14951
+ # [Output Only] Permitted connections.
14952
+ # @!attribute [rw] remote_service
14953
+ # @return [::String]
14954
+ # [Output Only] Indicates the service provider present at the remote location. Example values: "Amazon Web Services", "Microsoft Azure".
14955
+ # @!attribute [rw] self_link
14956
+ # @return [::String]
14957
+ # [Output Only] Server-defined URL for the resource.
14958
+ # @!attribute [rw] status
14959
+ # @return [::String]
14960
+ # [Output Only] The status of this InterconnectRemoteLocation, which can take one of the following values: - CLOSED: The InterconnectRemoteLocation is closed and is unavailable for provisioning new Cross-Cloud Interconnects. - AVAILABLE: The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects.
14961
+ # Check the Status enum for the list of possible values.
14962
+ class InterconnectRemoteLocation
14963
+ include ::Google::Protobuf::MessageExts
14964
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14965
+
14966
+ # [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA
14967
+ module Continent
14968
+ # A value indicating that the enum field is not set.
14969
+ UNDEFINED_CONTINENT = 0
14970
+
14971
+ AFRICA = 317_443_706
14972
+
14973
+ ASIA_PAC = 119_782_269
14974
+
14975
+ EUROPE = 445_819_298
14976
+
14977
+ NORTH_AMERICA = 448_015_508
14978
+
14979
+ SOUTH_AMERICA = 32_597_340
14980
+ end
14981
+
14982
+ # [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED
14983
+ module Lacp
14984
+ # A value indicating that the enum field is not set.
14985
+ UNDEFINED_LACP = 0
14986
+
14987
+ # LACP_SUPPORTED: LACP is supported, and enabled by default on the Cross-Cloud Interconnect.
14988
+ LACP_SUPPORTED = 339_576_113
14989
+
14990
+ # LACP_UNSUPPORTED: LACP is not supported and is not be enabled on this port. GetDiagnostics shows bundleAggregationType as "static". GCP does not support LAGs without LACP, so requestedLinkCount must be 1.
14991
+ LACP_UNSUPPORTED = 203_930_104
14992
+ end
14993
+
14994
+ # [Output Only] The status of this InterconnectRemoteLocation, which can take one of the following values: - CLOSED: The InterconnectRemoteLocation is closed and is unavailable for provisioning new Cross-Cloud Interconnects. - AVAILABLE: The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects.
14995
+ module Status
14996
+ # A value indicating that the enum field is not set.
14997
+ UNDEFINED_STATUS = 0
14998
+
14999
+ # The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects.
15000
+ AVAILABLE = 442_079_913
15001
+
15002
+ # The InterconnectRemoteLocation is closed for provisioning new Cross-Cloud Interconnects.
15003
+ CLOSED = 380_163_436
15004
+ end
15005
+ end
15006
+
15007
+ # @!attribute [rw] port_pair_remote_location
15008
+ # @return [::String]
15009
+ # [Output Only] Port pair remote location constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, PORT_PAIR_MATCHING_REMOTE_LOCATION. GCP's API refers only to individual ports, but the UI uses this field when ordering a pair of ports, to prevent users from accidentally ordering something that is incompatible with their cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud Interconnect ports, and one of them uses a remote location with portPairMatchingRemoteLocation set to matching, the UI requires that both ports use the same remote location.
15010
+ # Check the PortPairRemoteLocation enum for the list of possible values.
15011
+ # @!attribute [rw] port_pair_vlan
15012
+ # @return [::String]
15013
+ # [Output Only] Port pair VLAN constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN
15014
+ # Check the PortPairVlan enum for the list of possible values.
15015
+ # @!attribute [rw] subnet_length_range
15016
+ # @return [::Google::Cloud::Compute::V1::InterconnectRemoteLocationConstraintsSubnetLengthRange]
15017
+ # [Output Only] [min-length, max-length] The minimum and maximum value (inclusive) for the IPv4 subnet length. For example, an interconnectRemoteLocation for Azure has \\{min: 30, max: 30} because Azure requires /30 subnets. This range specifies the values supported by both cloud providers. Interconnect currently supports /29 and /30 IPv4 subnet lengths. If a remote cloud has no constraint on IPv4 subnet length, the range would thus be \\{min: 29, max: 30}.
15018
+ class InterconnectRemoteLocationConstraints
15019
+ include ::Google::Protobuf::MessageExts
15020
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15021
+
15022
+ # [Output Only] Port pair remote location constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, PORT_PAIR_MATCHING_REMOTE_LOCATION. GCP's API refers only to individual ports, but the UI uses this field when ordering a pair of ports, to prevent users from accidentally ordering something that is incompatible with their cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud Interconnect ports, and one of them uses a remote location with portPairMatchingRemoteLocation set to matching, the UI requires that both ports use the same remote location.
15023
+ module PortPairRemoteLocation
15024
+ # A value indicating that the enum field is not set.
15025
+ UNDEFINED_PORT_PAIR_REMOTE_LOCATION = 0
15026
+
15027
+ # If PORT_PAIR_MATCHING_REMOTE_LOCATION, the remote cloud provider allocates ports in pairs, and the user should choose the same remote location for both ports.
15028
+ PORT_PAIR_MATCHING_REMOTE_LOCATION = 207_291_859
15029
+
15030
+ # If PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, a user may opt to provision a redundant pair of Cross-Cloud Interconnects using two different remote locations in the same city.
15031
+ PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION = 60_609_829
15032
+ end
15033
+
15034
+ # [Output Only] Port pair VLAN constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN
15035
+ module PortPairVlan
15036
+ # A value indicating that the enum field is not set.
15037
+ UNDEFINED_PORT_PAIR_VLAN = 0
15038
+
15039
+ # If PORT_PAIR_MATCHING_VLAN, the Interconnect for this attachment is part of a pair of ports that should have matching VLAN allocations. This occurs with Cross-Cloud Interconnect to Azure remote locations. While GCP's API does not explicitly group pairs of ports, the UI uses this field to ensure matching VLAN ids when configuring a redundant VLAN pair.
15040
+ PORT_PAIR_MATCHING_VLAN = 250_295_358
15041
+
15042
+ # PORT_PAIR_UNCONSTRAINED_VLAN means there is no constraint.
15043
+ PORT_PAIR_UNCONSTRAINED_VLAN = 175_227_948
15044
+ end
15045
+ end
15046
+
15047
+ # @!attribute [rw] max
15048
+ # @return [::Integer]
15049
+ # @!attribute [rw] min
15050
+ # @return [::Integer]
15051
+ class InterconnectRemoteLocationConstraintsSubnetLengthRange
15052
+ include ::Google::Protobuf::MessageExts
15053
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15054
+ end
15055
+
15056
+ # Response to the list request, and contains a list of interconnect remote locations.
15057
+ # @!attribute [rw] id
15058
+ # @return [::String]
15059
+ # [Output Only] Unique identifier for the resource; defined by the server.
15060
+ # @!attribute [rw] items
15061
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectRemoteLocation>]
15062
+ # A list of InterconnectRemoteLocation resources.
15063
+ # @!attribute [rw] kind
15064
+ # @return [::String]
15065
+ # [Output Only] Type of resource. Always compute#interconnectRemoteLocationList for lists of interconnect remote locations.
15066
+ # @!attribute [rw] next_page_token
15067
+ # @return [::String]
15068
+ # [Output Only] This token lets you 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.
15069
+ # @!attribute [rw] self_link
15070
+ # @return [::String]
15071
+ # [Output Only] Server-defined URL for this resource.
15072
+ # @!attribute [rw] warning
15073
+ # @return [::Google::Cloud::Compute::V1::Warning]
15074
+ # [Output Only] Informational warning message.
15075
+ class InterconnectRemoteLocationList
15076
+ include ::Google::Protobuf::MessageExts
15077
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15078
+ end
15079
+
15080
+ # @!attribute [rw] interconnect_location
15081
+ # @return [::String]
15082
+ # [Output Only] URL of an Interconnect location that is permitted to connect to this Interconnect remote location.
15083
+ class InterconnectRemoteLocationPermittedConnections
15084
+ include ::Google::Protobuf::MessageExts
15085
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15086
+ end
15087
+
14525
15088
  # Response for the InterconnectsGetDiagnosticsRequest.
14526
15089
  # @!attribute [rw] result
14527
15090
  # @return [::Google::Cloud::Compute::V1::InterconnectDiagnostics]
@@ -15471,7 +16034,34 @@ module Google
15471
16034
  extend ::Google::Protobuf::MessageExts::ClassMethods
15472
16035
  end
15473
16036
 
15474
- # A request message for InterconnectAttachments.List. See the method description for details.
16037
+ # A request message for InterconnectAttachments.List. See the method description for details.
16038
+ # @!attribute [rw] filter
16039
+ # @return [::String]
16040
+ # 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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`.
16041
+ # @!attribute [rw] max_results
16042
+ # @return [::Integer]
16043
+ # 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`)
16044
+ # @!attribute [rw] order_by
16045
+ # @return [::String]
16046
+ # 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.
16047
+ # @!attribute [rw] page_token
16048
+ # @return [::String]
16049
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
16050
+ # @!attribute [rw] project
16051
+ # @return [::String]
16052
+ # Project ID for this request.
16053
+ # @!attribute [rw] region
16054
+ # @return [::String]
16055
+ # Name of the region for this request.
16056
+ # @!attribute [rw] return_partial_success
16057
+ # @return [::Boolean]
16058
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
16059
+ class ListInterconnectAttachmentsRequest
16060
+ include ::Google::Protobuf::MessageExts
16061
+ extend ::Google::Protobuf::MessageExts::ClassMethods
16062
+ end
16063
+
16064
+ # A request message for InterconnectLocations.List. See the method description for details.
15475
16065
  # @!attribute [rw] filter
15476
16066
  # @return [::String]
15477
16067
  # 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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`.
@@ -15487,18 +16077,15 @@ module Google
15487
16077
  # @!attribute [rw] project
15488
16078
  # @return [::String]
15489
16079
  # Project ID for this request.
15490
- # @!attribute [rw] region
15491
- # @return [::String]
15492
- # Name of the region for this request.
15493
16080
  # @!attribute [rw] return_partial_success
15494
16081
  # @return [::Boolean]
15495
16082
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
15496
- class ListInterconnectAttachmentsRequest
16083
+ class ListInterconnectLocationsRequest
15497
16084
  include ::Google::Protobuf::MessageExts
15498
16085
  extend ::Google::Protobuf::MessageExts::ClassMethods
15499
16086
  end
15500
16087
 
15501
- # A request message for InterconnectLocations.List. See the method description for details.
16088
+ # A request message for InterconnectRemoteLocations.List. See the method description for details.
15502
16089
  # @!attribute [rw] filter
15503
16090
  # @return [::String]
15504
16091
  # 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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`.
@@ -15517,7 +16104,7 @@ module Google
15517
16104
  # @!attribute [rw] return_partial_success
15518
16105
  # @return [::Boolean]
15519
16106
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
15520
- class ListInterconnectLocationsRequest
16107
+ class ListInterconnectRemoteLocationsRequest
15521
16108
  include ::Google::Protobuf::MessageExts
15522
16109
  extend ::Google::Protobuf::MessageExts::ClassMethods
15523
16110
  end
@@ -17919,7 +18506,7 @@ module Google
17919
18506
  # A value indicating that the enum field is not set.
17920
18507
  UNDEFINED_INSTANCE_STATUS = 0
17921
18508
 
17922
- # The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
18509
+ # The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
17923
18510
  DEPROVISIONING = 428_935_662
17924
18511
 
17925
18512
  # Resources are being allocated for the instance.
@@ -18056,6 +18643,27 @@ module Google
18056
18643
  extend ::Google::Protobuf::MessageExts::ClassMethods
18057
18644
  end
18058
18645
 
18646
+ # A request message for Addresses.Move. See the method description for details.
18647
+ # @!attribute [rw] address
18648
+ # @return [::String]
18649
+ # Name of the address resource to move.
18650
+ # @!attribute [rw] project
18651
+ # @return [::String]
18652
+ # Source project ID which the Address is moved from.
18653
+ # @!attribute [rw] region
18654
+ # @return [::String]
18655
+ # Name of the region for this request.
18656
+ # @!attribute [rw] region_addresses_move_request_resource
18657
+ # @return [::Google::Cloud::Compute::V1::RegionAddressesMoveRequest]
18658
+ # The body resource for this request
18659
+ # @!attribute [rw] request_id
18660
+ # @return [::String]
18661
+ # 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).
18662
+ class MoveAddressRequest
18663
+ include ::Google::Protobuf::MessageExts
18664
+ extend ::Google::Protobuf::MessageExts::ClassMethods
18665
+ end
18666
+
18059
18667
  # A request message for Projects.MoveDisk. See the method description for details.
18060
18668
  # @!attribute [rw] disk_move_request_resource
18061
18669
  # @return [::Google::Cloud::Compute::V1::DiskMoveRequest]
@@ -18086,6 +18694,24 @@ module Google
18086
18694
  extend ::Google::Protobuf::MessageExts::ClassMethods
18087
18695
  end
18088
18696
 
18697
+ # A request message for GlobalAddresses.Move. See the method description for details.
18698
+ # @!attribute [rw] address
18699
+ # @return [::String]
18700
+ # Name of the address resource to move.
18701
+ # @!attribute [rw] global_addresses_move_request_resource
18702
+ # @return [::Google::Cloud::Compute::V1::GlobalAddressesMoveRequest]
18703
+ # The body resource for this request
18704
+ # @!attribute [rw] project
18705
+ # @return [::String]
18706
+ # Source project ID which the Address is moved from.
18707
+ # @!attribute [rw] request_id
18708
+ # @return [::String]
18709
+ # 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).
18710
+ class MoveGlobalAddressRequest
18711
+ include ::Google::Protobuf::MessageExts
18712
+ extend ::Google::Protobuf::MessageExts::ClassMethods
18713
+ end
18714
+
18089
18715
  # A request message for Projects.MoveInstance. See the method description for details.
18090
18716
  # @!attribute [rw] instance_move_request_resource
18091
18717
  # @return [::Google::Cloud::Compute::V1::InstanceMoveRequest]
@@ -18134,7 +18760,7 @@ module Google
18134
18760
  # [Output Only] URL of the firewall policy the network is associated with.
18135
18761
  # @!attribute [rw] gateway_i_pv4
18136
18762
  # @return [::String]
18137
- # [Output Only] The gateway address for default routing out of the network, selected by GCP.
18763
+ # [Output Only] The gateway address for default routing out of the network, selected by Google Cloud.
18138
18764
  # @!attribute [rw] id
18139
18765
  # @return [::Integer]
18140
18766
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
@@ -18199,7 +18825,7 @@ module Google
18199
18825
  # An optional description of this resource. Provide this property when you create the resource.
18200
18826
  # @!attribute [rw] fingerprint
18201
18827
  # @return [::String]
18202
- # [Output Only] Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. An up-to-date fingerprint must be provided in order to patch.
18828
+ # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. An up-to-date fingerprint must be provided in order to patch.
18203
18829
  # @!attribute [rw] id
18204
18830
  # @return [::Integer]
18205
18831
  # [Output Only] The unique identifier for the resource type. The server generates this identifier.
@@ -18211,7 +18837,7 @@ module Google
18211
18837
  # 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.
18212
18838
  # @!attribute [rw] network
18213
18839
  # @return [::String]
18214
- # [Output Only] The URL of the network which the Network Attachment belongs to.
18840
+ # [Output Only] The URL of the network which the Network Attachment belongs to. Practically it is inferred by fetching the network of the first subnetwork associated. Because it is required that all the subnetworks must be from the same network, it is assured that the Network Attachment belongs to the same network as all the subnetworks.
18215
18841
  # @!attribute [rw] producer_accept_lists
18216
18842
  # @return [::Array<::String>]
18217
18843
  # Projects that are allowed to connect to this network attachment. The project can be specified using its id or number.
@@ -18282,13 +18908,13 @@ module Google
18282
18908
  # [Output Only] A connection connected to this network attachment.
18283
18909
  # @!attribute [rw] ip_address
18284
18910
  # @return [::String]
18285
- # The IP address assigned to the producer instance network interface. This value will be a range in case of Serverless.
18911
+ # The IPv4 address assigned to the producer instance network interface. This value will be a range in case of Serverless.
18286
18912
  # @!attribute [rw] project_id_or_num
18287
18913
  # @return [::String]
18288
18914
  # The project id or number of the interface to which the IP was assigned.
18289
18915
  # @!attribute [rw] secondary_ip_cidr_ranges
18290
18916
  # @return [::Array<::String>]
18291
- # Alias IP ranges from the same subnetwork
18917
+ # Alias IP ranges from the same subnetwork.
18292
18918
  # @!attribute [rw] status
18293
18919
  # @return [::String]
18294
18920
  # The status of a connected endpoint to this network attachment.
@@ -18835,7 +19461,7 @@ module Google
18835
19461
  # The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.
18836
19462
  # @!attribute [rw] stack_type
18837
19463
  # @return [::String]
18838
- # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
19464
+ # The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.
18839
19465
  # Check the StackType enum for the list of possible values.
18840
19466
  # @!attribute [rw] subnetwork
18841
19467
  # @return [::String]
@@ -18873,7 +19499,7 @@ module Google
18873
19499
  VIRTIO_NET = 452_123_481
18874
19500
  end
18875
19501
 
18876
- # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
19502
+ # The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.
18877
19503
  module StackType
18878
19504
  # A value indicating that the enum field is not set.
18879
19505
  UNDEFINED_STACK_TYPE = 0
@@ -19941,37 +20567,37 @@ module Google
19941
20567
  # Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service.
19942
20568
  # @!attribute [rw] base_ejection_time
19943
20569
  # @return [::Google::Cloud::Compute::V1::Duration]
19944
- # The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s.
20570
+ # The base time that a backend endpoint is ejected for. Defaults to 30000ms or 30s. After a backend endpoint is returned back to the load balancing pool, it can be ejected again in another ejection analysis. Thus, the total ejection time is equal to the base ejection time multiplied by the number of times the backend endpoint has been ejected. Defaults to 30000ms or 30s.
19945
20571
  # @!attribute [rw] consecutive_errors
19946
20572
  # @return [::Integer]
19947
- # Number of errors before a host is ejected from the connection pool. When the backend host is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
20573
+ # Number of consecutive errors before a backend endpoint is ejected from the load balancing pool. When the backend endpoint is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5.
19948
20574
  # @!attribute [rw] consecutive_gateway_failure
19949
20575
  # @return [::Integer]
19950
- # The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
20576
+ # The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3.
19951
20577
  # @!attribute [rw] enforcing_consecutive_errors
19952
20578
  # @return [::Integer]
19953
- # The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
20579
+ # The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0.
19954
20580
  # @!attribute [rw] enforcing_consecutive_gateway_failure
19955
20581
  # @return [::Integer]
19956
- # The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
20582
+ # The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.
19957
20583
  # @!attribute [rw] enforcing_success_rate
19958
20584
  # @return [::Integer]
19959
- # The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.
20585
+ # The percentage chance that a backend endpoint will be ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service uses Serverless NEG.
19960
20586
  # @!attribute [rw] interval
19961
20587
  # @return [::Google::Cloud::Compute::V1::Duration]
19962
- # Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second.
20588
+ # Time interval between ejection analysis sweeps. This can result in both new ejections and backend endpoints being returned to service. The interval is equal to the number of seconds as defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in outlierDetection.interval.nanos. Defaults to 1 second.
19963
20589
  # @!attribute [rw] max_ejection_percent
19964
20590
  # @return [::Integer]
19965
- # Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 50%.
20591
+ # Maximum percentage of backend endpoints in the load balancing pool for the backend service that can be ejected if the ejection conditions are met. Defaults to 50%.
19966
20592
  # @!attribute [rw] success_rate_minimum_hosts
19967
20593
  # @return [::Integer]
19968
- # The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5.
20594
+ # The number of backend endpoints in the load balancing pool that must have enough request volume to detect success rate outliers. If the number of backend endpoints is fewer than this setting, outlier detection via success rate statistics is not performed for any backend endpoint in the load balancing pool. Defaults to 5. Not supported when the backend service uses Serverless NEG.
19969
20595
  # @!attribute [rw] success_rate_request_volume
19970
20596
  # @return [::Integer]
19971
- # The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100.
20597
+ # The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this backend endpoint in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that backend endpoint. Defaults to 100. Not supported when the backend service uses Serverless NEG.
19972
20598
  # @!attribute [rw] success_rate_stdev_factor
19973
20599
  # @return [::Integer]
19974
- # This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900.
20600
+ # This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * successRateStdevFactor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. Not supported when the backend service uses Serverless NEG.
19975
20601
  class OutlierDetection
19976
20602
  include ::Google::Protobuf::MessageExts
19977
20603
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -21520,7 +22146,7 @@ module Google
21520
22146
  # An optional description of this resource. Provide this property when you create the resource.
21521
22147
  # @!attribute [rw] dns_verification_ip
21522
22148
  # @return [::String]
21523
- # The IPv4 address to be used for reverse DNS verification.
22149
+ # The address to be used for reverse DNS verification.
21524
22150
  # @!attribute [rw] fingerprint
21525
22151
  # @return [::String]
21526
22152
  # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be provided in order to update the PublicAdvertisedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicAdvertisedPrefix.
@@ -21529,7 +22155,7 @@ module Google
21529
22155
  # [Output Only] The unique identifier for the resource type. The server generates this identifier.
21530
22156
  # @!attribute [rw] ip_cidr_range
21531
22157
  # @return [::String]
21532
- # The IPv4 address range, in CIDR format, represented by this public advertised prefix.
22158
+ # The address range, in CIDR format, represented by this public advertised prefix.
21533
22159
  # @!attribute [rw] kind
21534
22160
  # @return [::String]
21535
22161
  # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for public advertised prefixes.
@@ -21640,7 +22266,7 @@ module Google
21640
22266
  # [Output Only] The unique identifier for the resource type. The server generates this identifier.
21641
22267
  # @!attribute [rw] ip_cidr_range
21642
22268
  # @return [::String]
21643
- # The IPv4 address range, in CIDR format, represented by this public delegated prefix.
22269
+ # The IP address range, in CIDR format, represented by this public delegated prefix.
21644
22270
  # @!attribute [rw] is_live_migration
21645
22271
  # @return [::Boolean]
21646
22272
  # If true, the prefix will be live migrated.
@@ -21756,7 +22382,7 @@ module Google
21756
22382
  # An optional description of this resource. Provide this property when you create the resource.
21757
22383
  # @!attribute [rw] ip_cidr_range
21758
22384
  # @return [::String]
21759
- # The IPv4 address range, in CIDR format, represented by this sub public delegated prefix.
22385
+ # The IP address range, in CIDR format, represented by this sub public delegated prefix.
21760
22386
  # @!attribute [rw] is_address
21761
22387
  # @return [::Boolean]
21762
22388
  # Whether the sub prefix is delegated to create Address resources in the delegatee project.
@@ -21869,6 +22495,8 @@ module Google
21869
22495
 
21870
22496
  COMMITTED_NVIDIA_K80_GPUS = 3_857_188
21871
22497
 
22498
+ COMMITTED_NVIDIA_L4_GPUS = 19_163_645
22499
+
21872
22500
  COMMITTED_NVIDIA_P100_GPUS = 107_528_100
21873
22501
 
21874
22502
  COMMITTED_NVIDIA_P4_GPUS = 347_952_897
@@ -21972,6 +22600,12 @@ module Google
21972
22600
 
21973
22601
  NETWORK_FIREWALL_POLICIES = 101_117_374
21974
22602
 
22603
+ NET_LB_SECURITY_POLICIES_PER_REGION = 157_892_269
22604
+
22605
+ NET_LB_SECURITY_POLICY_RULES_PER_REGION = 356_090_931
22606
+
22607
+ NET_LB_SECURITY_POLICY_RULE_ATTRIBUTES_PER_REGION = 311_243_888
22608
+
21975
22609
  NODE_GROUPS = 24_624_817
21976
22610
 
21977
22611
  NODE_TEMPLATES = 474_896_668
@@ -21982,6 +22616,8 @@ module Google
21982
22616
 
21983
22617
  NVIDIA_K80_GPUS = 163_886_599
21984
22618
 
22619
+ NVIDIA_L4_GPUS = 491_923_130
22620
+
21985
22621
  NVIDIA_P100_GPUS = 236_601_633
21986
22622
 
21987
22623
  NVIDIA_P100_VWS_GPUS = 213_970_574
@@ -22010,6 +22646,8 @@ module Google
22010
22646
 
22011
22647
  PREEMPTIBLE_NVIDIA_K80_GPUS = 374_960_201
22012
22648
 
22649
+ PREEMPTIBLE_NVIDIA_L4_GPUS = 100_408_376
22650
+
22013
22651
  PREEMPTIBLE_NVIDIA_P100_GPUS = 337_432_351
22014
22652
 
22015
22653
  PREEMPTIBLE_NVIDIA_P100_VWS_GPUS = 313_544_076
@@ -22056,6 +22694,8 @@ module Google
22056
22694
 
22057
22695
  SECURITY_POLICIES_PER_REGION = 249_041_734
22058
22696
 
22697
+ SECURITY_POLICY_ADVANCED_RULES_PER_REGION = 371_815_341
22698
+
22059
22699
  SECURITY_POLICY_CEVAL_RULES = 470_815_689
22060
22700
 
22061
22701
  SECURITY_POLICY_RULES = 203_549_225
@@ -22268,6 +22908,17 @@ module Google
22268
22908
  end
22269
22909
  end
22270
22910
 
22911
+ # @!attribute [rw] description
22912
+ # @return [::String]
22913
+ # An optional destination address description if intended to be different from the source.
22914
+ # @!attribute [rw] destination_address
22915
+ # @return [::String]
22916
+ # The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project/regions/region /addresses/address - projects/project/regions/region/addresses/address Note that destination project must be different from the source project. So /regions/region/addresses/address is not valid partial url.
22917
+ class RegionAddressesMoveRequest
22918
+ include ::Google::Protobuf::MessageExts
22919
+ extend ::Google::Protobuf::MessageExts::ClassMethods
22920
+ end
22921
+
22271
22922
  # Contains a list of autoscalers.
22272
22923
  # @!attribute [rw] id
22273
22924
  # @return [::String]
@@ -22339,6 +22990,14 @@ module Google
22339
22990
  extend ::Google::Protobuf::MessageExts::ClassMethods
22340
22991
  end
22341
22992
 
22993
+ # @!attribute [rw] async_secondary_disk
22994
+ # @return [::String]
22995
+ # The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
22996
+ class RegionDisksStartAsyncReplicationRequest
22997
+ include ::Google::Protobuf::MessageExts
22998
+ extend ::Google::Protobuf::MessageExts::ClassMethods
22999
+ end
23000
+
22342
23001
  # Contains a list of InstanceGroup resources.
22343
23002
  # @!attribute [rw] id
22344
23003
  # @return [::String]
@@ -22431,17 +23090,17 @@ module Google
22431
23090
  # The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
22432
23091
  # @!attribute [rw] minimal_action
22433
23092
  # @return [::String]
22434
- # The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.
23093
+ # The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.
22435
23094
  # Check the MinimalAction enum for the list of possible values.
22436
23095
  # @!attribute [rw] most_disruptive_allowed_action
22437
23096
  # @return [::String]
22438
- # The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.
23097
+ # The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.
22439
23098
  # Check the MostDisruptiveAllowedAction enum for the list of possible values.
22440
23099
  class RegionInstanceGroupManagersApplyUpdatesRequest
22441
23100
  include ::Google::Protobuf::MessageExts
22442
23101
  extend ::Google::Protobuf::MessageExts::ClassMethods
22443
23102
 
22444
- # The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.
23103
+ # The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.
22445
23104
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
22446
23105
  # NONE
22447
23106
  # REFRESH
@@ -22452,7 +23111,7 @@ module Google
22452
23111
  UNDEFINED_MINIMAL_ACTION = 0
22453
23112
  end
22454
23113
 
22455
- # The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.
23114
+ # The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.
22456
23115
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
22457
23116
  # NONE
22458
23117
  # REFRESH
@@ -23370,6 +24029,9 @@ module Google
23370
24029
  # [Output Only] Creation timestamp in RFC3339 text format.
23371
24030
  # @!attribute [rw] description
23372
24031
  # @return [::String]
24032
+ # @!attribute [rw] disk_consistency_group_policy
24033
+ # @return [::Google::Cloud::Compute::V1::ResourcePolicyDiskConsistencyGroupPolicy]
24034
+ # Resource policy for disk consistency groups.
23373
24035
  # @!attribute [rw] group_placement_policy
23374
24036
  # @return [::Google::Cloud::Compute::V1::ResourcePolicyGroupPlacementPolicy]
23375
24037
  # Resource policy for instances for placement configuration.
@@ -23478,6 +24140,12 @@ module Google
23478
24140
  extend ::Google::Protobuf::MessageExts::ClassMethods
23479
24141
  end
23480
24142
 
24143
+ # Resource policy for disk consistency groups.
24144
+ class ResourcePolicyDiskConsistencyGroupPolicy
24145
+ include ::Google::Protobuf::MessageExts
24146
+ extend ::Google::Protobuf::MessageExts::ClassMethods
24147
+ end
24148
+
23481
24149
  # A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation as well as network locality
23482
24150
  # @!attribute [rw] availability_domain_count
23483
24151
  # @return [::Integer]
@@ -23774,6 +24442,9 @@ module Google
23774
24442
  # @!attribute [rw] next_hop_gateway
23775
24443
  # @return [::String]
23776
24444
  # The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects/ project/global/gateways/default-internet-gateway
24445
+ # @!attribute [rw] next_hop_hub
24446
+ # @return [::String]
24447
+ # [Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets.
23777
24448
  # @!attribute [rw] next_hop_ilb
23778
24449
  # @return [::String]
23779
24450
  # The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: - 10.128.0.56 - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule
@@ -24052,6 +24723,12 @@ module Google
24052
24723
  # @!attribute [rw] bfd
24053
24724
  # @return [::Google::Cloud::Compute::V1::RouterBgpPeerBfd]
24054
24725
  # BFD configuration for the BGP peering.
24726
+ # @!attribute [rw] custom_learned_ip_ranges
24727
+ # @return [::Array<::Google::Cloud::Compute::V1::RouterBgpPeerCustomLearnedIpRange>]
24728
+ # A list of user-defined custom learned route IP address ranges for a BGP session.
24729
+ # @!attribute [rw] custom_learned_route_priority
24730
+ # @return [::Integer]
24731
+ # The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from `0` to `65335`. If you don't provide a value, Google Cloud assigns a priority of `100` to the ranges.
24055
24732
  # @!attribute [rw] enable
24056
24733
  # @return [::String]
24057
24734
  # The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
@@ -24165,6 +24842,14 @@ module Google
24165
24842
  end
24166
24843
  end
24167
24844
 
24845
+ # @!attribute [rw] range
24846
+ # @return [::String]
24847
+ # The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a `/32` singular IP address range, and, for IPv6, `/128`.
24848
+ class RouterBgpPeerCustomLearnedIpRange
24849
+ include ::Google::Protobuf::MessageExts
24850
+ extend ::Google::Protobuf::MessageExts::ClassMethods
24851
+ end
24852
+
24168
24853
  # @!attribute [rw] ip_range
24169
24854
  # @return [::String]
24170
24855
  # IP address and range of the interface. 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 address as it represents the IP address of the interface.
@@ -24243,6 +24928,10 @@ module Google
24243
24928
  end
24244
24929
 
24245
24930
  # Represents a Nat resource. It enables the VMs within the specified subnetworks to access Internet without external IP addresses. It specifies a list of subnetworks (and the ranges within) that want to use NAT. Customers can also provide the external IPs that would be used for NAT. GCP would auto-allocate ephemeral IPs if no external IPs are provided.
24931
+ # @!attribute [rw] auto_network_tier
24932
+ # @return [::String]
24933
+ # The network tier to use when automatically reserving IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, PREMIUM tier will be used.
24934
+ # Check the AutoNetworkTier enum for the list of possible values.
24246
24935
  # @!attribute [rw] drain_nat_ips
24247
24936
  # @return [::Array<::String>]
24248
24937
  # A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
@@ -24282,7 +24971,7 @@ module Google
24282
24971
  # A list of rules associated with this NAT.
24283
24972
  # @!attribute [rw] source_subnetwork_ip_ranges_to_nat
24284
24973
  # @return [::String]
24285
- # Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other Router.Nat section in any Router for this network in this region.
24974
+ # Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
24286
24975
  # Check the SourceSubnetworkIpRangesToNat enum for the list of possible values.
24287
24976
  # @!attribute [rw] subnetworks
24288
24977
  # @return [::Array<::Google::Cloud::Compute::V1::RouterNatSubnetworkToNat>]
@@ -24303,6 +24992,23 @@ module Google
24303
24992
  include ::Google::Protobuf::MessageExts
24304
24993
  extend ::Google::Protobuf::MessageExts::ClassMethods
24305
24994
 
24995
+ # The network tier to use when automatically reserving IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, PREMIUM tier will be used.
24996
+ module AutoNetworkTier
24997
+ # A value indicating that the enum field is not set.
24998
+ UNDEFINED_AUTO_NETWORK_TIER = 0
24999
+
25000
+ # Public internet quality with fixed bandwidth.
25001
+ FIXED_STANDARD = 310_464_328
25002
+
25003
+ # High quality, Google-grade network tier, support for all networking products.
25004
+ PREMIUM = 399_530_551
25005
+
25006
+ # Public internet quality, only limited support for other networking products.
25007
+ STANDARD = 484_642_493
25008
+
25009
+ # (Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
25010
+ STANDARD_OVERRIDES_FIXED_STANDARD = 465_847_234
25011
+ end
24306
25012
 
24307
25013
  module EndpointTypes
24308
25014
  # A value indicating that the enum field is not set.
@@ -24327,7 +25033,7 @@ module Google
24327
25033
  MANUAL_ONLY = 261_251_205
24328
25034
  end
24329
25035
 
24330
- # Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other Router.Nat section in any Router for this network in this region.
25036
+ # Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
24331
25037
  module SourceSubnetworkIpRangesToNat
24332
25038
  # A value indicating that the enum field is not set.
24333
25039
  UNDEFINED_SOURCE_SUBNETWORK_IP_RANGES_TO_NAT = 0
@@ -25100,6 +25806,12 @@ module Google
25100
25806
  # @!attribute [rw] kind
25101
25807
  # @return [::String]
25102
25808
  # [Output only] Type of the resource. Always compute#securityPolicyfor security policies
25809
+ # @!attribute [rw] label_fingerprint
25810
+ # @return [::String]
25811
+ # A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the security policy.
25812
+ # @!attribute [rw] labels
25813
+ # @return [::Google::Protobuf::Map{::String => ::String}]
25814
+ # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
25103
25815
  # @!attribute [rw] name
25104
25816
  # @return [::String]
25105
25817
  # 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.
@@ -25122,6 +25834,15 @@ module Google
25122
25834
  include ::Google::Protobuf::MessageExts
25123
25835
  extend ::Google::Protobuf::MessageExts::ClassMethods
25124
25836
 
25837
+ # @!attribute [rw] key
25838
+ # @return [::String]
25839
+ # @!attribute [rw] value
25840
+ # @return [::String]
25841
+ class LabelsEntry
25842
+ include ::Google::Protobuf::MessageExts
25843
+ extend ::Google::Protobuf::MessageExts::ClassMethods
25844
+ end
25845
+
25125
25846
  # The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time.
25126
25847
  module Type
25127
25848
  # A value indicating that the enum field is not set.
@@ -25144,19 +25865,19 @@ module Google
25144
25865
  extend ::Google::Protobuf::MessageExts::ClassMethods
25145
25866
  end
25146
25867
 
25147
- # Configuration options for L7 DDoS detection.
25868
+ # Configuration options for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25148
25869
  # @!attribute [rw] enable
25149
25870
  # @return [::Boolean]
25150
- # If set to true, enables CAAP for L7 DDoS detection.
25871
+ # If set to true, enables CAAP for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25151
25872
  # @!attribute [rw] rule_visibility
25152
25873
  # @return [::String]
25153
- # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules.
25874
+ # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25154
25875
  # Check the RuleVisibility enum for the list of possible values.
25155
25876
  class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig
25156
25877
  include ::Google::Protobuf::MessageExts
25157
25878
  extend ::Google::Protobuf::MessageExts::ClassMethods
25158
25879
 
25159
- # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules.
25880
+ # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25160
25881
  module RuleVisibility
25161
25882
  # A value indicating that the enum field is not set.
25162
25883
  UNDEFINED_RULE_VISIBILITY = 0
@@ -25248,7 +25969,7 @@ module Google
25248
25969
 
25249
25970
  # @!attribute [rw] redirect_site_key
25250
25971
  # @return [::String]
25251
- # An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used.
25972
+ # An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25252
25973
  class SecurityPolicyRecaptchaOptionsConfig
25253
25974
  include ::Google::Protobuf::MessageExts
25254
25975
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -25264,13 +25985,13 @@ module Google
25264
25985
  # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
25265
25986
  # @!attribute [rw] action
25266
25987
  # @return [::String]
25267
- # The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this.
25988
+ # The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this.
25268
25989
  # @!attribute [rw] description
25269
25990
  # @return [::String]
25270
25991
  # An optional description of this resource. Provide this property when you create the resource.
25271
25992
  # @!attribute [rw] header_action
25272
25993
  # @return [::Google::Cloud::Compute::V1::SecurityPolicyRuleHttpHeaderAction]
25273
- # Optional, additional actions that are performed on headers.
25994
+ # Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25274
25995
  # @!attribute [rw] kind
25275
25996
  # @return [::String]
25276
25997
  # [Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules
@@ -25291,7 +26012,7 @@ module Google
25291
26012
  # Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
25292
26013
  # @!attribute [rw] redirect_options
25293
26014
  # @return [::Google::Cloud::Compute::V1::SecurityPolicyRuleRedirectOptions]
25294
- # Parameters defining the redirect action. Cannot be specified for any other actions.
26015
+ # Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25295
26016
  class SecurityPolicyRule
25296
26017
  include ::Google::Protobuf::MessageExts
25297
26018
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -25322,7 +26043,7 @@ module Google
25322
26043
  # The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
25323
26044
  # @!attribute [rw] expr
25324
26045
  # @return [::Google::Cloud::Compute::V1::Expr]
25325
- # User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
26046
+ # User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies.
25326
26047
  # @!attribute [rw] versioned_expr
25327
26048
  # @return [::String]
25328
26049
  # Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.
@@ -25426,15 +26147,18 @@ module Google
25426
26147
  # @return [::String]
25427
26148
  # Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates.
25428
26149
  # Check the EnforceOnKey enum for the list of possible values.
26150
+ # @!attribute [rw] enforce_on_key_configs
26151
+ # @return [::Array<::Google::Cloud::Compute::V1::SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig>]
26152
+ # If specified, any combination of values of enforce_on_key_type/enforce_on_key_name is treated as the key on which ratelimit threshold/action is enforced. You can specify up to 3 enforce_on_key_configs. If enforce_on_key_configs is specified, enforce_on_key must not be specified.
25429
26153
  # @!attribute [rw] enforce_on_key_name
25430
26154
  # @return [::String]
25431
26155
  # Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
25432
26156
  # @!attribute [rw] exceed_action
25433
26157
  # @return [::String]
25434
- # Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect parameters come from `exceedRedirectOptions` below.
26158
+ # Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect parameters come from `exceedRedirectOptions` below. The `redirect` action is only supported in Global Security Policies of type CLOUD_ARMOR.
25435
26159
  # @!attribute [rw] exceed_redirect_options
25436
26160
  # @return [::Google::Cloud::Compute::V1::SecurityPolicyRuleRedirectOptions]
25437
- # Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect.
26161
+ # Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25438
26162
  # @!attribute [rw] rate_limit_threshold
25439
26163
  # @return [::Google::Cloud::Compute::V1::SecurityPolicyRuleRateLimitOptionsThreshold]
25440
26164
  # Threshold at which to begin ratelimiting.
@@ -25465,6 +26189,40 @@ module Google
25465
26189
  end
25466
26190
  end
25467
26191
 
26192
+ # @!attribute [rw] enforce_on_key_name
26193
+ # @return [::String]
26194
+ # Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
26195
+ # @!attribute [rw] enforce_on_key_type
26196
+ # @return [::String]
26197
+ # Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates.
26198
+ # Check the EnforceOnKeyType enum for the list of possible values.
26199
+ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig
26200
+ include ::Google::Protobuf::MessageExts
26201
+ extend ::Google::Protobuf::MessageExts::ClassMethods
26202
+
26203
+ # Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates.
26204
+ module EnforceOnKeyType
26205
+ # A value indicating that the enum field is not set.
26206
+ UNDEFINED_ENFORCE_ON_KEY_TYPE = 0
26207
+
26208
+ ALL = 64_897
26209
+
26210
+ HTTP_COOKIE = 494_981_627
26211
+
26212
+ HTTP_HEADER = 91_597_348
26213
+
26214
+ HTTP_PATH = 311_503_228
26215
+
26216
+ IP = 2343
26217
+
26218
+ REGION_CODE = 79_559_768
26219
+
26220
+ SNI = 82_254
26221
+
26222
+ XFF_IP = 438_707_118
26223
+ end
26224
+ end
26225
+
25468
26226
  # @!attribute [rw] count
25469
26227
  # @return [::Integer]
25470
26228
  # Number of HTTP(S) requests for calculating the threshold.
@@ -25501,10 +26259,10 @@ module Google
25501
26259
  # The authentication and authorization settings for a BackendService.
25502
26260
  # @!attribute [rw] client_tls_policy
25503
26261
  # @return [::String]
25504
- # Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends. clientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, communications are not encrypted. Note: This field currently has no impact.
26262
+ # Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends. clientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, communications are not encrypted.
25505
26263
  # @!attribute [rw] subject_alt_names
25506
26264
  # @return [::Array<::String>]
25507
- # Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service. Note that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities. Only applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode). Note: This field currently has no impact.
26265
+ # Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service. Note that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities. Only applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode).
25508
26266
  class SecuritySettings
25509
26267
  include ::Google::Protobuf::MessageExts
25510
26268
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -25586,7 +26344,7 @@ module Google
25586
26344
  extend ::Google::Protobuf::MessageExts::ClassMethods
25587
26345
  end
25588
26346
 
25589
- # Represents a ServiceAttachment resource. A service attachment represents a service that a producer has exposed. It encapsulates the load balancer which fronts the service runs and a list of NAT IP ranges that the producers uses to represent the consumers connecting to the service. next tag = 20
26347
+ # Represents a ServiceAttachment resource. A service attachment represents a service that a producer has exposed. It encapsulates the load balancer which fronts the service runs and a list of NAT IP ranges that the producers uses to represent the consumers connecting to the service.
25590
26348
  # @!attribute [rw] connected_endpoints
25591
26349
  # @return [::Array<::Google::Cloud::Compute::V1::ServiceAttachmentConnectedEndpoint>]
25592
26350
  # [Output Only] An array of connections for all the consumers connected to this service attachment.
@@ -25633,6 +26391,9 @@ module Google
25633
26391
  # @!attribute [rw] psc_service_attachment_id
25634
26392
  # @return [::Google::Cloud::Compute::V1::Uint128]
25635
26393
  # [Output Only] An 128-bit global unique ID of the PSC service attachment.
26394
+ # @!attribute [rw] reconcile_connections
26395
+ # @return [::Boolean]
26396
+ # This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints. - If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified . - If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list. For newly created service attachment, this boolean defaults to true.
25636
26397
  # @!attribute [rw] region
25637
26398
  # @return [::String]
25638
26399
  # [Output Only] URL of the region where the service attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
@@ -27389,6 +28150,9 @@ module Google
27389
28150
  # @!attribute [rw] project
27390
28151
  # @return [::String]
27391
28152
  # Project ID for this request.
28153
+ # @!attribute [rw] request_id
28154
+ # @return [::String]
28155
+ # 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).
27392
28156
  # @!attribute [rw] zone
27393
28157
  # @return [::String]
27394
28158
  # The name of the zone for this request.
@@ -28056,6 +28820,48 @@ module Google
28056
28820
  extend ::Google::Protobuf::MessageExts::ClassMethods
28057
28821
  end
28058
28822
 
28823
+ # A request message for Disks.StartAsyncReplication. See the method description for details.
28824
+ # @!attribute [rw] disk
28825
+ # @return [::String]
28826
+ # The name of the persistent disk.
28827
+ # @!attribute [rw] disks_start_async_replication_request_resource
28828
+ # @return [::Google::Cloud::Compute::V1::DisksStartAsyncReplicationRequest]
28829
+ # The body resource for this request
28830
+ # @!attribute [rw] project
28831
+ # @return [::String]
28832
+ # Project ID for this request.
28833
+ # @!attribute [rw] request_id
28834
+ # @return [::String]
28835
+ # 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).
28836
+ # @!attribute [rw] zone
28837
+ # @return [::String]
28838
+ # The name of the zone for this request.
28839
+ class StartAsyncReplicationDiskRequest
28840
+ include ::Google::Protobuf::MessageExts
28841
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28842
+ end
28843
+
28844
+ # A request message for RegionDisks.StartAsyncReplication. See the method description for details.
28845
+ # @!attribute [rw] disk
28846
+ # @return [::String]
28847
+ # The name of the persistent disk.
28848
+ # @!attribute [rw] project
28849
+ # @return [::String]
28850
+ # Project ID for this request.
28851
+ # @!attribute [rw] region
28852
+ # @return [::String]
28853
+ # The name of the region for this request.
28854
+ # @!attribute [rw] region_disks_start_async_replication_request_resource
28855
+ # @return [::Google::Cloud::Compute::V1::RegionDisksStartAsyncReplicationRequest]
28856
+ # The body resource for this request
28857
+ # @!attribute [rw] request_id
28858
+ # @return [::String]
28859
+ # 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).
28860
+ class StartAsyncReplicationRegionDiskRequest
28861
+ include ::Google::Protobuf::MessageExts
28862
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28863
+ end
28864
+
28059
28865
  # A request message for Instances.Start. See the method description for details.
28060
28866
  # @!attribute [rw] instance
28061
28867
  # @return [::String]
@@ -28139,6 +28945,78 @@ module Google
28139
28945
  end
28140
28946
  end
28141
28947
 
28948
+ # A request message for Disks.StopAsyncReplication. See the method description for details.
28949
+ # @!attribute [rw] disk
28950
+ # @return [::String]
28951
+ # The name of the persistent disk.
28952
+ # @!attribute [rw] project
28953
+ # @return [::String]
28954
+ # Project ID for this request.
28955
+ # @!attribute [rw] request_id
28956
+ # @return [::String]
28957
+ # 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).
28958
+ # @!attribute [rw] zone
28959
+ # @return [::String]
28960
+ # The name of the zone for this request.
28961
+ class StopAsyncReplicationDiskRequest
28962
+ include ::Google::Protobuf::MessageExts
28963
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28964
+ end
28965
+
28966
+ # A request message for RegionDisks.StopAsyncReplication. See the method description for details.
28967
+ # @!attribute [rw] disk
28968
+ # @return [::String]
28969
+ # The name of the persistent disk.
28970
+ # @!attribute [rw] project
28971
+ # @return [::String]
28972
+ # Project ID for this request.
28973
+ # @!attribute [rw] region
28974
+ # @return [::String]
28975
+ # The name of the region for this request.
28976
+ # @!attribute [rw] request_id
28977
+ # @return [::String]
28978
+ # 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).
28979
+ class StopAsyncReplicationRegionDiskRequest
28980
+ include ::Google::Protobuf::MessageExts
28981
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28982
+ end
28983
+
28984
+ # A request message for Disks.StopGroupAsyncReplication. See the method description for details.
28985
+ # @!attribute [rw] disks_stop_group_async_replication_resource_resource
28986
+ # @return [::Google::Cloud::Compute::V1::DisksStopGroupAsyncReplicationResource]
28987
+ # The body resource for this request
28988
+ # @!attribute [rw] project
28989
+ # @return [::String]
28990
+ # Project ID for this request.
28991
+ # @!attribute [rw] request_id
28992
+ # @return [::String]
28993
+ # 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).
28994
+ # @!attribute [rw] zone
28995
+ # @return [::String]
28996
+ # The name of the zone for this request. This must be the zone of the primary or secondary disks in the consistency group.
28997
+ class StopGroupAsyncReplicationDiskRequest
28998
+ include ::Google::Protobuf::MessageExts
28999
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29000
+ end
29001
+
29002
+ # A request message for RegionDisks.StopGroupAsyncReplication. See the method description for details.
29003
+ # @!attribute [rw] disks_stop_group_async_replication_resource_resource
29004
+ # @return [::Google::Cloud::Compute::V1::DisksStopGroupAsyncReplicationResource]
29005
+ # The body resource for this request
29006
+ # @!attribute [rw] project
29007
+ # @return [::String]
29008
+ # Project ID for this request.
29009
+ # @!attribute [rw] region
29010
+ # @return [::String]
29011
+ # The name of the region for this request. This must be the region of the primary or secondary disks in the consistency group.
29012
+ # @!attribute [rw] request_id
29013
+ # @return [::String]
29014
+ # 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).
29015
+ class StopGroupAsyncReplicationRegionDiskRequest
29016
+ include ::Google::Protobuf::MessageExts
29017
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29018
+ end
29019
+
28142
29020
  # A request message for Instances.Stop. See the method description for details.
28143
29021
  # @!attribute [rw] discard_local_ssd
28144
29022
  # @return [::Boolean]
@@ -28169,7 +29047,7 @@ module Google
28169
29047
  # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
28170
29048
  # @!attribute [rw] enable_flow_logs
28171
29049
  # @return [::Boolean]
28172
- # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
29050
+ # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
28173
29051
  # @!attribute [rw] external_ipv6_prefix
28174
29052
  # @return [::String]
28175
29053
  # The external IPv6 address range that is owned by this subnetwork.
@@ -28216,14 +29094,14 @@ module Google
28216
29094
  # Check the PrivateIpv6GoogleAccess enum for the list of possible values.
28217
29095
  # @!attribute [rw] purpose
28218
29096
  # @return [::String]
28219
- # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
29097
+ # The purpose of the resource. This field can be either PRIVATE, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. A subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork that is reserved for regional 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 INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is the preferred setting for all regional Envoy load balancers. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
28220
29098
  # Check the Purpose enum for the list of possible values.
28221
29099
  # @!attribute [rw] region
28222
29100
  # @return [::String]
28223
29101
  # URL of the region where the Subnetwork resides. This field can be set only at resource creation time.
28224
29102
  # @!attribute [rw] role
28225
29103
  # @return [::String]
28226
- # The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
29104
+ # The role of subnetwork. Currently, this field is only used when purpose = REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
28227
29105
  # Check the Role enum for the list of possible values.
28228
29106
  # @!attribute [rw] secondary_ip_ranges
28229
29107
  # @return [::Array<::Google::Cloud::Compute::V1::SubnetworkSecondaryRange>]
@@ -28272,7 +29150,7 @@ module Google
28272
29150
  ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
28273
29151
  end
28274
29152
 
28275
- # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
29153
+ # The purpose of the resource. This field can be either PRIVATE, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. A subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork that is reserved for regional 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 INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is the preferred setting for all regional Envoy load balancers. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
28276
29154
  module Purpose
28277
29155
  # A value indicating that the enum field is not set.
28278
29156
  UNDEFINED_PURPOSE = 0
@@ -28293,7 +29171,7 @@ module Google
28293
29171
  REGIONAL_MANAGED_PROXY = 153_049_966
28294
29172
  end
28295
29173
 
28296
- # The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
29174
+ # The role of subnetwork. Currently, this field is only used when purpose = REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
28297
29175
  module Role
28298
29176
  # A value indicating that the enum field is not set.
28299
29177
  UNDEFINED_ROLE = 0
@@ -28398,7 +29276,7 @@ module Google
28398
29276
  # Check the AggregationInterval enum for the list of possible values.
28399
29277
  # @!attribute [rw] enable
28400
29278
  # @return [::Boolean]
28401
- # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled.
29279
+ # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
28402
29280
  # @!attribute [rw] filter_expr
28403
29281
  # @return [::String]
28404
29282
  # Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging.
@@ -28684,6 +29562,9 @@ module Google
28684
29562
  # @!attribute [rw] fingerprint
28685
29563
  # @return [::String]
28686
29564
  # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetHttpProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpProxy.
29565
+ # @!attribute [rw] http_keep_alive_timeout_sec
29566
+ # @return [::Integer]
29567
+ # Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For Global external HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For Global external HTTP(S) load balancer (classic), this option is not available publicly.
28687
29568
  # @!attribute [rw] id
28688
29569
  # @return [::Integer]
28689
29570
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
@@ -28779,7 +29660,7 @@ module Google
28779
29660
 
28780
29661
  # @!attribute [rw] certificate_map
28781
29662
  # @return [::String]
28782
- # URL of the Certificate Map to associate with this TargetHttpsProxy.
29663
+ # URL of the Certificate Map to associate with this TargetHttpsProxy. Accepted format is //certificatemanager.googleapis.com/projects/\\{project }/locations/\\{location}/certificateMaps/\\{resourceName}.
28783
29664
  class TargetHttpsProxiesSetCertificateMapRequest
28784
29665
  include ::Google::Protobuf::MessageExts
28785
29666
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -28823,7 +29704,7 @@ module Google
28823
29704
  # Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.
28824
29705
  # @!attribute [rw] certificate_map
28825
29706
  # @return [::String]
28826
- # URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored.
29707
+ # URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/\\{project }/locations/\\{location}/certificateMaps/\\{resourceName}.
28827
29708
  # @!attribute [rw] creation_timestamp
28828
29709
  # @return [::String]
28829
29710
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -28833,6 +29714,9 @@ module Google
28833
29714
  # @!attribute [rw] fingerprint
28834
29715
  # @return [::String]
28835
29716
  # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.
29717
+ # @!attribute [rw] http_keep_alive_timeout_sec
29718
+ # @return [::Integer]
29719
+ # Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For Global external HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For Global external HTTP(S) load balancer (classic), this option is not available publicly.
28836
29720
  # @!attribute [rw] id
28837
29721
  # @return [::Integer]
28838
29722
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
@@ -28857,7 +29741,7 @@ module Google
28857
29741
  # [Output Only] Server-defined URL for the resource.
28858
29742
  # @!attribute [rw] server_tls_policy
28859
29743
  # @return [::String]
28860
- # 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. If left blank, communications are not encrypted. Note: This field currently has no impact.
29744
+ # 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.
28861
29745
  # @!attribute [rw] ssl_certificates
28862
29746
  # @return [::Array<::String>]
28863
29747
  # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
@@ -29264,7 +30148,7 @@ module Google
29264
30148
 
29265
30149
  # @!attribute [rw] certificate_map
29266
30150
  # @return [::String]
29267
- # URL of the Certificate Map to associate with this TargetSslProxy.
30151
+ # URL of the Certificate Map to associate with this TargetSslProxy. Accepted format is //certificatemanager.googleapis.com/projects/\\{project }/locations/\\{location}/certificateMaps/\\{resourceName}.
29268
30152
  class TargetSslProxiesSetCertificateMapRequest
29269
30153
  include ::Google::Protobuf::MessageExts
29270
30154
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -29300,7 +30184,7 @@ module Google
29300
30184
  # Represents a Target SSL Proxy resource. A target SSL proxy is a component of a SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy, and the target proxy then references an external backend service. For more information, read Using Target Proxies.
29301
30185
  # @!attribute [rw] certificate_map
29302
30186
  # @return [::String]
29303
- # URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored.
30187
+ # URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/\\{project }/locations/\\{location}/certificateMaps/\\{resourceName}.
29304
30188
  # @!attribute [rw] creation_timestamp
29305
30189
  # @return [::String]
29306
30190
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -29531,6 +30415,12 @@ module Google
29531
30415
  # @!attribute [rw] kind
29532
30416
  # @return [::String]
29533
30417
  # [Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.
30418
+ # @!attribute [rw] label_fingerprint
30419
+ # @return [::String]
30420
+ # A fingerprint for the labels being applied to this TargetVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a TargetVpnGateway.
30421
+ # @!attribute [rw] labels
30422
+ # @return [::Google::Protobuf::Map{::String => ::String}]
30423
+ # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
29534
30424
  # @!attribute [rw] name
29535
30425
  # @return [::String]
29536
30426
  # 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.
@@ -29554,6 +30444,15 @@ module Google
29554
30444
  include ::Google::Protobuf::MessageExts
29555
30445
  extend ::Google::Protobuf::MessageExts::ClassMethods
29556
30446
 
30447
+ # @!attribute [rw] key
30448
+ # @return [::String]
30449
+ # @!attribute [rw] value
30450
+ # @return [::String]
30451
+ class LabelsEntry
30452
+ include ::Google::Protobuf::MessageExts
30453
+ extend ::Google::Protobuf::MessageExts::ClassMethods
30454
+ end
30455
+
29557
30456
  # [Output Only] The status of the VPN gateway, which can be one of the following: CREATING, READY, FAILED, or DELETING.
29558
30457
  module Status
29559
30458
  # A value indicating that the enum field is not set.
@@ -30825,6 +31724,9 @@ module Google
30825
31724
  # @!attribute [rw] path_prefix_rewrite
30826
31725
  # @return [::String]
30827
31726
  # Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. The value must be from 1 to 1024 characters.
31727
+ # @!attribute [rw] path_template_rewrite
31728
+ # @return [::String]
31729
+ # If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax. A corresponding path_template_match must be specified. Any template variables must exist in the path_template_match field. - -At least one variable must be specified in the path_template_match field - You can omit variables from the rewritten URL - The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. \\{format=*} or \\{var=**}. For example, a path_template_match of /static/\\{format=**} could be rewritten as /static/content/\\{format} to prefix /content to the URL. Variables can also be re-ordered in a rewrite, so that /\\{country}/\\{format}/\\{suffix=**} can be rewritten as /content/\\{format}/\\{country}/\\{suffix}. At least one non-empty routeRules[].matchRules[].path_template_match is required. Only one of path_prefix_rewrite or path_template_rewrite may be specified.
30828
31730
  class UrlRewrite
30829
31731
  include ::Google::Protobuf::MessageExts
30830
31732
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -30849,11 +31751,11 @@ module Google
30849
31751
  # Network URL.
30850
31752
  # @!attribute [rw] purpose
30851
31753
  # @return [::String]
30852
- # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
31754
+ # The purpose of the resource. This field can be either PRIVATE, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. A subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork that is reserved for regional 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 INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is the preferred setting for all regional Envoy load balancers. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
30853
31755
  # Check the Purpose enum for the list of possible values.
30854
31756
  # @!attribute [rw] role
30855
31757
  # @return [::String]
30856
- # The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
31758
+ # The role of subnetwork. Currently, this field is only used when purpose = REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
30857
31759
  # Check the Role enum for the list of possible values.
30858
31760
  # @!attribute [rw] secondary_ip_ranges
30859
31761
  # @return [::Array<::Google::Cloud::Compute::V1::UsableSubnetworkSecondaryRange>]
@@ -30881,7 +31783,7 @@ module Google
30881
31783
  INTERNAL = 279_295_677
30882
31784
  end
30883
31785
 
30884
- # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
31786
+ # The purpose of the resource. This field can be either PRIVATE, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. A subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork that is reserved for regional 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 INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is the preferred setting for all regional Envoy load balancers. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
30885
31787
  module Purpose
30886
31788
  # A value indicating that the enum field is not set.
30887
31789
  UNDEFINED_PURPOSE = 0
@@ -30902,7 +31804,7 @@ module Google
30902
31804
  REGIONAL_MANAGED_PROXY = 153_049_966
30903
31805
  end
30904
31806
 
30905
- # The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
31807
+ # The role of subnetwork. Currently, this field is only used when purpose = REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
30906
31808
  module Role
30907
31809
  # A value indicating that the enum field is not set.
30908
31810
  UNDEFINED_ROLE = 0
@@ -31261,7 +32163,7 @@ module Google
31261
32163
  # The VPN gateway interface this VPN tunnel is associated with.
31262
32164
  # @!attribute [rw] peer_gateway_interface
31263
32165
  # @return [::Integer]
31264
- # The peer gateway interface this VPN tunnel is connected to, the peer gateway could either be an external VPN gateway or GCP VPN gateway.
32166
+ # The peer gateway interface this VPN tunnel is connected to, the peer gateway could either be an external VPN gateway or a Google Cloud VPN gateway.
31265
32167
  # @!attribute [rw] tunnel_url
31266
32168
  # @return [::String]
31267
32169
  # URL reference to the VPN tunnel.
@@ -31270,7 +32172,7 @@ module Google
31270
32172
  extend ::Google::Protobuf::MessageExts::ClassMethods
31271
32173
  end
31272
32174
 
31273
- # A VPN connection contains all VPN tunnels connected from this VpnGateway to the same peer gateway. The peer gateway could either be a external VPN gateway or GCP VPN gateway.
32175
+ # A VPN connection contains all VPN tunnels connected from this VpnGateway to the same peer gateway. The peer gateway could either be an external VPN gateway or a Google Cloud VPN gateway.
31274
32176
  # @!attribute [rw] peer_external_gateway
31275
32177
  # @return [::String]
31276
32178
  # URL reference to the peer external VPN gateways to which the VPN tunnels in this VPN connection are connected. This field is mutually exclusive with peer_gcp_gateway.
@@ -31340,6 +32242,12 @@ module Google
31340
32242
  # @!attribute [rw] kind
31341
32243
  # @return [::String]
31342
32244
  # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
32245
+ # @!attribute [rw] label_fingerprint
32246
+ # @return [::String]
32247
+ # A fingerprint for the labels being applied to this VpnTunnel, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnTunnel.
32248
+ # @!attribute [rw] labels
32249
+ # @return [::Google::Protobuf::Map{::String => ::String}]
32250
+ # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
31343
32251
  # @!attribute [rw] local_traffic_selector
31344
32252
  # @return [::Array<::String>]
31345
32253
  # Local traffic selector to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges must be disjoint. Only IPv4 is supported.
@@ -31393,6 +32301,15 @@ module Google
31393
32301
  include ::Google::Protobuf::MessageExts
31394
32302
  extend ::Google::Protobuf::MessageExts::ClassMethods
31395
32303
 
32304
+ # @!attribute [rw] key
32305
+ # @return [::String]
32306
+ # @!attribute [rw] value
32307
+ # @return [::String]
32308
+ class LabelsEntry
32309
+ include ::Google::Protobuf::MessageExts
32310
+ extend ::Google::Protobuf::MessageExts::ClassMethods
32311
+ end
32312
+
31396
32313
  # [Output Only] The status of the VPN tunnel, which can be one of the following: - PROVISIONING: Resource is being allocated for the VPN tunnel. - WAITING_FOR_FULL_CONFIG: Waiting to receive all VPN-related configs from the user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route resources are needed to setup the VPN tunnel. - FIRST_HANDSHAKE: Successful first handshake with the peer VPN. - ESTABLISHED: Secure session is successfully established with the peer VPN. - NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS - AUTHORIZATION_ERROR: Auth error (for example, bad shared secret). - NEGOTIATION_FAILURE: Handshake failed. - DEPROVISIONING: Resources are being deallocated for the VPN tunnel. - FAILED: Tunnel creation has failed and the tunnel is not ready to be used. - NO_INCOMING_PACKETS: No incoming packets from peer. - REJECTED: Tunnel configuration was rejected, can be result of being denied access. - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required resources. - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for Classic VPN tunnels or the project is in frozen state. - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably behind NAT. - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-VPN tunnel.
31397
32314
  module Status
31398
32315
  # A value indicating that the enum field is not set.
@@ -31626,6 +32543,9 @@ module Google
31626
32543
  # When deploying a deployment with a exceedingly large number of resources
31627
32544
  LARGE_DEPLOYMENT_WARNING = 481_440_678
31628
32545
 
32546
+ # Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
32547
+ LIST_OVERHEAD_QUOTA_EXCEED = 47_618_117
32548
+
31629
32549
  # A resource depends on a missing type
31630
32550
  MISSING_TYPE_DEPENDENCY = 344_505_463
31631
32551
 
@@ -31728,6 +32648,9 @@ module Google
31728
32648
  # When deploying a deployment with a exceedingly large number of resources
31729
32649
  LARGE_DEPLOYMENT_WARNING = 481_440_678
31730
32650
 
32651
+ # Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
32652
+ LIST_OVERHEAD_QUOTA_EXCEED = 47_618_117
32653
+
31731
32654
  # A resource depends on a missing type
31732
32655
  MISSING_TYPE_DEPENDENCY = 344_505_463
31733
32656