google-cloud-compute-v1 2.2.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/compute/v1/addresses/rest/client.rb +88 -0
  3. data/lib/google/cloud/compute/v1/addresses/rest/service_stub.rb +62 -0
  4. data/lib/google/cloud/compute/v1/compute_pb.rb +47 -1
  5. data/lib/google/cloud/compute/v1/disks/rest/client.rb +346 -0
  6. data/lib/google/cloud/compute/v1/disks/rest/service_stub.rb +245 -0
  7. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +85 -0
  8. data/lib/google/cloud/compute/v1/global_addresses/rest/service_stub.rb +61 -0
  9. data/lib/google/cloud/compute/v1/instances/rest/client.rb +3 -1
  10. data/lib/google/cloud/compute/v1/interconnect_remote_locations/credentials.rb +53 -0
  11. data/lib/google/cloud/compute/v1/interconnect_remote_locations/rest/client.rb +436 -0
  12. data/lib/google/cloud/compute/v1/interconnect_remote_locations/rest/service_stub.rb +167 -0
  13. data/lib/google/cloud/compute/v1/interconnect_remote_locations/rest.rb +51 -0
  14. data/lib/google/cloud/compute/v1/interconnect_remote_locations.rb +47 -0
  15. data/lib/google/cloud/compute/v1/projects/rest/client.rb +1 -1
  16. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +346 -0
  17. data/lib/google/cloud/compute/v1/region_disks/rest/service_stub.rb +245 -0
  18. data/lib/google/cloud/compute/v1/region_security_policies/rest/client.rb +1 -1
  19. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +90 -0
  20. data/lib/google/cloud/compute/v1/resource_policies/rest/service_stub.rb +62 -0
  21. data/lib/google/cloud/compute/v1/rest.rb +1 -0
  22. data/lib/google/cloud/compute/v1/routers/rest/client.rb +3 -1
  23. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +2 -2
  24. data/lib/google/cloud/compute/v1/version.rb +1 -1
  25. data/lib/google/cloud/compute/v1.rb +1 -0
  26. data/proto_docs/google/cloud/compute/v1/compute.rb +1098 -123
  27. metadata +7 -2
@@ -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
@@ -2945,7 +2982,7 @@ module Google
2945
2982
  # [Output Only] Creation timestamp in RFC3339 text format.
2946
2983
  # @!attribute [rw] custom_response_headers
2947
2984
  # @return [::Array<::String>]
2948
- # Headers that the HTTP/S load balancer should add to proxied responses.
2985
+ # Headers that the Application Load Balancer should add to proxied responses.
2949
2986
  # @!attribute [rw] description
2950
2987
  # @return [::String]
2951
2988
  # An optional textual description of the resource; provided by the client when the resource is created.
@@ -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]
@@ -6685,6 +6899,9 @@ module Google
6685
6899
  # The group picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.
6686
6900
  ANY = 64_972
6687
6901
 
6902
+ # The group creates all VM instances within a single zone. The zone is selected based on the present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads with heavy interprocess communication.
6903
+ ANY_SINGLE_ZONE = 61_100_880
6904
+
6688
6905
  # The group prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across selected zones to minimize the impact of zonal failure. Recommended for highly available serving workloads.
6689
6906
  BALANCED = 468_409_608
6690
6907
 
@@ -7306,18 +7523,42 @@ module Google
7306
7523
  end
7307
7524
 
7308
7525
  # Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.
7526
+ # @!attribute [rw] dest_address_groups
7527
+ # @return [::Array<::String>]
7528
+ # Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
7529
+ # @!attribute [rw] dest_fqdns
7530
+ # @return [::Array<::String>]
7531
+ # Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
7309
7532
  # @!attribute [rw] dest_ip_ranges
7310
7533
  # @return [::Array<::String>]
7311
7534
  # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
7535
+ # @!attribute [rw] dest_region_codes
7536
+ # @return [::Array<::String>]
7537
+ # 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.
7538
+ # @!attribute [rw] dest_threat_intelligences
7539
+ # @return [::Array<::String>]
7540
+ # Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
7312
7541
  # @!attribute [rw] layer4_configs
7313
7542
  # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRuleMatcherLayer4Config>]
7314
7543
  # Pairs of IP protocols and ports that the rule should match.
7544
+ # @!attribute [rw] src_address_groups
7545
+ # @return [::Array<::String>]
7546
+ # Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
7547
+ # @!attribute [rw] src_fqdns
7548
+ # @return [::Array<::String>]
7549
+ # Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
7315
7550
  # @!attribute [rw] src_ip_ranges
7316
7551
  # @return [::Array<::String>]
7317
7552
  # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
7553
+ # @!attribute [rw] src_region_codes
7554
+ # @return [::Array<::String>]
7555
+ # 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
7556
  # @!attribute [rw] src_secure_tags
7319
7557
  # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRuleSecureTag>]
7320
7558
  # 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.
7559
+ # @!attribute [rw] src_threat_intelligences
7560
+ # @return [::Array<::String>]
7561
+ # Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
7321
7562
  class FirewallPolicyRuleMatcher
7322
7563
  include ::Google::Protobuf::MessageExts
7323
7564
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -7384,7 +7625,10 @@ module Google
7384
7625
  # 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
7626
  # @!attribute [rw] allow_global_access
7386
7627
  # @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.
7628
+ # 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.
7629
+ # @!attribute [rw] allow_psc_global_access
7630
+ # @return [::Boolean]
7631
+ # This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.
7388
7632
  # @!attribute [rw] backend_service
7389
7633
  # @return [::String]
7390
7634
  # 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 +7675,7 @@ module Google
7431
7675
  # 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
7676
  # @!attribute [rw] network
7433
7677
  # @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.
7678
+ # 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
7679
  # @!attribute [rw] network_tier
7436
7680
  # @return [::String]
7437
7681
  # 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 +8807,18 @@ module Google
8563
8807
  extend ::Google::Protobuf::MessageExts::ClassMethods
8564
8808
  end
8565
8809
 
8810
+ # A request message for InterconnectRemoteLocations.Get. See the method description for details.
8811
+ # @!attribute [rw] interconnect_remote_location
8812
+ # @return [::String]
8813
+ # Name of the interconnect remote location to return.
8814
+ # @!attribute [rw] project
8815
+ # @return [::String]
8816
+ # Project ID for this request.
8817
+ class GetInterconnectRemoteLocationRequest
8818
+ include ::Google::Protobuf::MessageExts
8819
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8820
+ end
8821
+
8566
8822
  # A request message for Interconnects.Get. See the method description for details.
8567
8823
  # @!attribute [rw] interconnect
8568
8824
  # @return [::String]
@@ -8633,6 +8889,9 @@ module Google
8633
8889
  # @!attribute [rw] max_results
8634
8890
  # @return [::Integer]
8635
8891
  # 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`)
8892
+ # @!attribute [rw] nat_name
8893
+ # @return [::String]
8894
+ # 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
8895
  # @!attribute [rw] order_by
8637
8896
  # @return [::String]
8638
8897
  # 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 +9890,17 @@ module Google
9631
9890
  extend ::Google::Protobuf::MessageExts::ClassMethods
9632
9891
  end
9633
9892
 
9893
+ # @!attribute [rw] description
9894
+ # @return [::String]
9895
+ # An optional destination address description if intended to be different from the source.
9896
+ # @!attribute [rw] destination_address
9897
+ # @return [::String]
9898
+ # 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.
9899
+ class GlobalAddressesMoveRequest
9900
+ include ::Google::Protobuf::MessageExts
9901
+ extend ::Google::Protobuf::MessageExts::ClassMethods
9902
+ end
9903
+
9634
9904
  # @!attribute [rw] network_endpoints
9635
9905
  # @return [::Array<::Google::Cloud::Compute::V1::NetworkEndpoint>]
9636
9906
  # The list of network endpoints to be attached.
@@ -9745,13 +10015,13 @@ module Google
9745
10015
  # Guest OS features.
9746
10016
  # @!attribute [rw] type
9747
10017
  # @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.
10018
+ # 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
10019
  # Check the Type enum for the list of possible values.
9750
10020
  class GuestOsFeature
9751
10021
  include ::Google::Protobuf::MessageExts
9752
10022
  extend ::Google::Protobuf::MessageExts::ClassMethods
9753
10023
 
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.
10024
+ # 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
10025
  module Type
9756
10026
  # A value indicating that the enum field is not set.
9757
10027
  UNDEFINED_TYPE = 0
@@ -9937,7 +10207,7 @@ module Google
9937
10207
  end
9938
10208
  end
9939
10209
 
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.
10210
+ # 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
10211
  # @!attribute [rw] check_interval_sec
9942
10212
  # @return [::Integer]
9943
10213
  # How often (in seconds) to send a health check. The default value is 5 seconds.
@@ -10199,7 +10469,7 @@ module Google
10199
10469
  # A forwarding rule IP address assigned to this instance.
10200
10470
  # @!attribute [rw] health_state
10201
10471
  # @return [::String]
10202
- # Health state of the instance.
10472
+ # Health state of the IPv4 address of the instance.
10203
10473
  # Check the HealthState enum for the list of possible values.
10204
10474
  # @!attribute [rw] instance
10205
10475
  # @return [::String]
@@ -10228,7 +10498,7 @@ module Google
10228
10498
  extend ::Google::Protobuf::MessageExts::ClassMethods
10229
10499
  end
10230
10500
 
10231
- # Health state of the instance.
10501
+ # Health state of the IPv4 address of the instance.
10232
10502
  module HealthState
10233
10503
  # A value indicating that the enum field is not set.
10234
10504
  UNDEFINED_HEALTH_STATE = 0
@@ -10578,6 +10848,9 @@ module Google
10578
10848
  # @!attribute [rw] metadata_filters
10579
10849
  # @return [::Array<::Google::Cloud::Compute::V1::MetadataFilter>]
10580
10850
  # 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.
10851
+ # @!attribute [rw] path_template_match
10852
+ # @return [::String]
10853
+ # 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
10854
  # @!attribute [rw] prefix_match
10582
10855
  # @return [::String]
10583
10856
  # 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 +12351,9 @@ module Google
12078
12351
  # @!attribute [rw] id
12079
12352
  # @return [::Integer]
12080
12353
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
12354
+ # @!attribute [rw] instance_encryption_key
12355
+ # @return [::Google::Cloud::Compute::V1::CustomerEncryptionKey]
12356
+ # 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
12357
  # @!attribute [rw] key_revocation_action_type
12082
12358
  # @return [::String]
12083
12359
  # KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
@@ -12219,7 +12495,7 @@ module Google
12219
12495
  # A value indicating that the enum field is not set.
12220
12496
  UNDEFINED_STATUS = 0
12221
12497
 
12222
- # The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
12498
+ # The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
12223
12499
  DEPROVISIONING = 428_935_662
12224
12500
 
12225
12501
  # Resources are being allocated for the instance.
@@ -12446,6 +12722,9 @@ module Google
12446
12722
  # @!attribute [rw] instance_group
12447
12723
  # @return [::String]
12448
12724
  # [Output Only] The URL of the Instance Group resource.
12725
+ # @!attribute [rw] instance_lifecycle_policy
12726
+ # @return [::Google::Cloud::Compute::V1::InstanceGroupManagerInstanceLifecyclePolicy]
12727
+ # The repair policy for this managed instance group.
12449
12728
  # @!attribute [rw] instance_template
12450
12729
  # @return [::String]
12451
12730
  # 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 +12869,31 @@ module Google
12590
12869
  # The URL for the health check that signals autohealing.
12591
12870
  # @!attribute [rw] initial_delay_sec
12592
12871
  # @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].
12872
+ # 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
12873
  class InstanceGroupManagerAutoHealingPolicy
12595
12874
  include ::Google::Protobuf::MessageExts
12596
12875
  extend ::Google::Protobuf::MessageExts::ClassMethods
12597
12876
  end
12598
12877
 
12878
+ # @!attribute [rw] force_update_on_repair
12879
+ # @return [::String]
12880
+ # 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.
12881
+ # Check the ForceUpdateOnRepair enum for the list of possible values.
12882
+ class InstanceGroupManagerInstanceLifecyclePolicy
12883
+ include ::Google::Protobuf::MessageExts
12884
+ extend ::Google::Protobuf::MessageExts::ClassMethods
12885
+
12886
+ # 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.
12887
+ module ForceUpdateOnRepair
12888
+ # A value indicating that the enum field is not set.
12889
+ UNDEFINED_FORCE_UPDATE_ON_REPAIR = 0
12890
+
12891
+ NO = 2497
12892
+
12893
+ YES = 87_751
12894
+ end
12895
+ end
12896
+
12599
12897
  # [Output Only] A list of managed instance groups.
12600
12898
  # @!attribute [rw] id
12601
12899
  # @return [::String]
@@ -12680,7 +12978,7 @@ module Google
12680
12978
  # Check the MinimalAction enum for the list of possible values.
12681
12979
  # @!attribute [rw] most_disruptive_allowed_action
12682
12980
  # @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.
12981
+ # 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
12982
  # Check the MostDisruptiveAllowedAction enum for the list of possible values.
12685
12983
  # @!attribute [rw] replacement_method
12686
12984
  # @return [::String]
@@ -12688,7 +12986,7 @@ module Google
12688
12986
  # Check the ReplacementMethod enum for the list of possible values.
12689
12987
  # @!attribute [rw] type
12690
12988
  # @return [::String]
12691
- # The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls).
12989
+ # The type of update process. You can specify either PROACTIVE so that the MIG automatically updates VMs to the latest configurations or OPPORTUNISTIC so that you can select the VMs that you want to update.
12692
12990
  # Check the Type enum for the list of possible values.
12693
12991
  class InstanceGroupManagerUpdatePolicy
12694
12992
  include ::Google::Protobuf::MessageExts
@@ -12714,7 +13012,7 @@ module Google
12714
13012
  UNDEFINED_MINIMAL_ACTION = 0
12715
13013
  end
12716
13014
 
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.
13015
+ # 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
13016
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
12719
13017
  # NONE
12720
13018
  # REFRESH
@@ -12737,14 +13035,14 @@ module Google
12737
13035
  SUBSTITUTE = 280_924_314
12738
13036
  end
12739
13037
 
12740
- # The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls).
13038
+ # The type of update process. You can specify either PROACTIVE so that the MIG automatically updates VMs to the latest configurations or OPPORTUNISTIC so that you can select the VMs that you want to update.
12741
13039
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
12742
13040
  # PROACTIVE
12743
13041
  module Type
12744
13042
  # A value indicating that the enum field is not set.
12745
13043
  UNDEFINED_TYPE = 0
12746
13044
 
12747
- # No action is being proactively performed in order to bring this IGM to its target version distribution (regardless of whether this distribution is expressed using instanceTemplate or versions field).
13045
+ # MIG will apply new configurations to existing VMs only when you selectively target specific or all VMs to be updated.
12748
13046
  OPPORTUNISTIC = 429_530_089
12749
13047
  end
12750
13048
  end
@@ -12780,17 +13078,17 @@ module Google
12780
13078
  # 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
13079
  # @!attribute [rw] minimal_action
12782
13080
  # @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.
13081
+ # 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
13082
  # Check the MinimalAction enum for the list of possible values.
12785
13083
  # @!attribute [rw] most_disruptive_allowed_action
12786
13084
  # @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.
13085
+ # 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
13086
  # Check the MostDisruptiveAllowedAction enum for the list of possible values.
12789
13087
  class InstanceGroupManagersApplyUpdatesRequest
12790
13088
  include ::Google::Protobuf::MessageExts
12791
13089
  extend ::Google::Protobuf::MessageExts::ClassMethods
12792
13090
 
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.
13091
+ # 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
13092
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
12795
13093
  # NONE
12796
13094
  # REFRESH
@@ -12801,7 +13099,7 @@ module Google
12801
13099
  UNDEFINED_MINIMAL_ACTION = 0
12802
13100
  end
12803
13101
 
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.
13102
+ # 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
13103
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
12806
13104
  # NONE
12807
13105
  # REFRESH
@@ -12824,7 +13122,7 @@ module Google
12824
13122
 
12825
13123
  # @!attribute [rw] instances
12826
13124
  # @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].
13125
+ # 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
13126
  # @!attribute [rw] skip_instances_on_validation_error
12829
13127
  # @return [::Boolean]
12830
13128
  # 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 +13725,7 @@ module Google
13427
13725
  # A value indicating that the enum field is not set.
13428
13726
  UNDEFINED_STATUS = 0
13429
13727
 
13430
- # The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
13728
+ # The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
13431
13729
  DEPROVISIONING = 428_935_662
13432
13730
 
13433
13731
  # Resources are being allocated for the instance.
@@ -13617,7 +13915,7 @@ module Google
13617
13915
  extend ::Google::Protobuf::MessageExts::ClassMethods
13618
13916
  end
13619
13917
 
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.
13918
+ # 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
13919
  # @!attribute [rw] admin_enabled
13622
13920
  # @return [::Boolean]
13623
13921
  # 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 +13953,12 @@ module Google
13655
13953
  # @!attribute [rw] kind
13656
13954
  # @return [::String]
13657
13955
  # [Output Only] Type of the resource. Always compute#interconnect for interconnects.
13956
+ # @!attribute [rw] label_fingerprint
13957
+ # @return [::String]
13958
+ # 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.
13959
+ # @!attribute [rw] labels
13960
+ # @return [::Google::Protobuf::Map{::String => ::String}]
13961
+ # 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
13962
  # @!attribute [rw] link_type
13659
13963
  # @return [::String]
13660
13964
  # 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 +13982,9 @@ module Google
13678
13982
  # @!attribute [rw] provisioned_link_count
13679
13983
  # @return [::Integer]
13680
13984
  # [Output Only] Number of links actually provisioned in this interconnect.
13985
+ # @!attribute [rw] remote_location
13986
+ # @return [::String]
13987
+ # 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
13988
  # @!attribute [rw] requested_link_count
13682
13989
  # @return [::Integer]
13683
13990
  # Target number of physical links in the link bundle, as requested by the customer.
@@ -13695,6 +14002,15 @@ module Google
13695
14002
  include ::Google::Protobuf::MessageExts
13696
14003
  extend ::Google::Protobuf::MessageExts::ClassMethods
13697
14004
 
14005
+ # @!attribute [rw] key
14006
+ # @return [::String]
14007
+ # @!attribute [rw] value
14008
+ # @return [::String]
14009
+ class LabelsEntry
14010
+ include ::Google::Protobuf::MessageExts
14011
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14012
+ end
14013
+
13698
14014
  # 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
14015
  module InterconnectType
13700
14016
  # A value indicating that the enum field is not set.
@@ -13770,6 +14086,9 @@ module Google
13770
14086
  # @!attribute [rw] cloud_router_ipv6_interface_id
13771
14087
  # @return [::String]
13772
14088
  # This field is not available.
14089
+ # @!attribute [rw] configuration_constraints
14090
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentConfigurationConstraints]
14091
+ # [Output Only] Constraints for this attachment, if any. The attachment does not work if these constraints are not met.
13773
14092
  # @!attribute [rw] creation_timestamp
13774
14093
  # @return [::String]
13775
14094
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -13807,10 +14126,16 @@ module Google
13807
14126
  # URL of the underlying Interconnect object that this attachment's traffic will traverse through.
13808
14127
  # @!attribute [rw] ipsec_internal_addresses
13809
14128
  # @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.
14129
+ # 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
14130
  # @!attribute [rw] kind
13812
14131
  # @return [::String]
13813
14132
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
14133
+ # @!attribute [rw] label_fingerprint
14134
+ # @return [::String]
14135
+ # 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.
14136
+ # @!attribute [rw] labels
14137
+ # @return [::Google::Protobuf::Map{::String => ::String}]
14138
+ # 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
14139
  # @!attribute [rw] mtu
13815
14140
  # @return [::Integer]
13816
14141
  # 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 +14161,9 @@ module Google
13836
14161
  # @!attribute [rw] region
13837
14162
  # @return [::String]
13838
14163
  # [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.
14164
+ # @!attribute [rw] remote_service
14165
+ # @return [::String]
14166
+ # [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
14167
  # @!attribute [rw] router
13840
14168
  # @return [::String]
13841
14169
  # 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 +14181,9 @@ module Google
13853
14181
  # @return [::String]
13854
14182
  # [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
14183
  # Check the State enum for the list of possible values.
14184
+ # @!attribute [rw] subnet_length
14185
+ # @return [::Integer]
14186
+ # 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
14187
  # @!attribute [rw] type
13857
14188
  # @return [::String]
13858
14189
  # 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 +14195,15 @@ module Google
13864
14195
  include ::Google::Protobuf::MessageExts
13865
14196
  extend ::Google::Protobuf::MessageExts::ClassMethods
13866
14197
 
14198
+ # @!attribute [rw] key
14199
+ # @return [::String]
14200
+ # @!attribute [rw] value
14201
+ # @return [::String]
14202
+ class LabelsEntry
14203
+ include ::Google::Protobuf::MessageExts
14204
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14205
+ end
14206
+
13867
14207
  # 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
14208
  module Bandwidth
13869
14209
  # A value indicating that the enum field is not set.
@@ -14031,6 +14371,42 @@ module Google
14031
14371
  end
14032
14372
  end
14033
14373
 
14374
+ # @!attribute [rw] bgp_md5
14375
+ # @return [::String]
14376
+ # [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.
14377
+ # Check the BgpMd5 enum for the list of possible values.
14378
+ # @!attribute [rw] bgp_peer_asn_ranges
14379
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange>]
14380
+ # [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.
14381
+ class InterconnectAttachmentConfigurationConstraints
14382
+ include ::Google::Protobuf::MessageExts
14383
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14384
+
14385
+ # [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.
14386
+ module BgpMd5
14387
+ # A value indicating that the enum field is not set.
14388
+ UNDEFINED_BGP_MD5 = 0
14389
+
14390
+ # MD5_OPTIONAL: BGP MD5 authentication is supported and can optionally be configured.
14391
+ MD5_OPTIONAL = 532_156_673
14392
+
14393
+ # MD5_REQUIRED: BGP MD5 authentication must be configured.
14394
+ MD5_REQUIRED = 218_034_496
14395
+
14396
+ # MD5_UNSUPPORTED: BGP MD5 authentication must not be configured
14397
+ MD5_UNSUPPORTED = 86_962_388
14398
+ end
14399
+ end
14400
+
14401
+ # @!attribute [rw] max
14402
+ # @return [::Integer]
14403
+ # @!attribute [rw] min
14404
+ # @return [::Integer]
14405
+ class InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange
14406
+ include ::Google::Protobuf::MessageExts
14407
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14408
+ end
14409
+
14034
14410
  # Response to the list request, and contains a list of interconnect attachments.
14035
14411
  # @!attribute [rw] id
14036
14412
  # @return [::String]
@@ -14105,7 +14481,7 @@ module Google
14105
14481
  extend ::Google::Protobuf::MessageExts::ClassMethods
14106
14482
  end
14107
14483
 
14108
- # Diagnostics information about interconnect, contains detailed and current technical information about Google's side of the connection.
14484
+ # Diagnostics information about the Interconnect connection, which contains detailed and current technical information about Google's side of the connection.
14109
14485
  # @!attribute [rw] arp_caches
14110
14486
  # @return [::Array<::Google::Cloud::Compute::V1::InterconnectDiagnosticsARPEntry>]
14111
14487
  # 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,33 +14898,223 @@ module Google
14522
14898
  end
14523
14899
  end
14524
14900
 
14525
- # Response for the InterconnectsGetDiagnosticsRequest.
14526
- # @!attribute [rw] result
14527
- # @return [::Google::Cloud::Compute::V1::InterconnectDiagnostics]
14528
- class InterconnectsGetDiagnosticsResponse
14529
- include ::Google::Protobuf::MessageExts
14530
- extend ::Google::Protobuf::MessageExts::ClassMethods
14531
- end
14532
-
14533
- # A request message for UrlMaps.InvalidateCache. See the method description for details.
14534
- # @!attribute [rw] cache_invalidation_rule_resource
14535
- # @return [::Google::Cloud::Compute::V1::CacheInvalidationRule]
14536
- # The body resource for this request
14537
- # @!attribute [rw] project
14901
+ # Represents a Cross-Cloud Interconnect Remote Location resource. You can use this resource to find remote location details about an Interconnect attachment (VLAN).
14902
+ # @!attribute [rw] address
14538
14903
  # @return [::String]
14539
- # Project ID for this request.
14540
- # @!attribute [rw] request_id
14904
+ # [Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.
14905
+ # @!attribute [rw] attachment_configuration_constraints
14906
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentConfigurationConstraints]
14907
+ # [Output Only] Subset of fields from InterconnectAttachment's |configurationConstraints| field that apply to all attachments for this remote location.
14908
+ # @!attribute [rw] city
14541
14909
  # @return [::String]
14542
- # 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).
14543
- # @!attribute [rw] url_map
14910
+ # [Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
14911
+ # @!attribute [rw] constraints
14912
+ # @return [::Google::Cloud::Compute::V1::InterconnectRemoteLocationConstraints]
14913
+ # [Output Only] Constraints on the parameters for creating Cross-Cloud Interconnect and associated InterconnectAttachments.
14914
+ # @!attribute [rw] continent
14544
14915
  # @return [::String]
14545
- # Name of the UrlMap scoping this request.
14546
- class InvalidateCacheUrlMapRequest
14547
- include ::Google::Protobuf::MessageExts
14548
- extend ::Google::Protobuf::MessageExts::ClassMethods
14549
- end
14550
-
14551
- # Metadata
14916
+ # [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA
14917
+ # Check the Continent enum for the list of possible values.
14918
+ # @!attribute [rw] creation_timestamp
14919
+ # @return [::String]
14920
+ # [Output Only] Creation timestamp in RFC3339 text format.
14921
+ # @!attribute [rw] description
14922
+ # @return [::String]
14923
+ # [Output Only] An optional description of the resource.
14924
+ # @!attribute [rw] facility_provider
14925
+ # @return [::String]
14926
+ # [Output Only] The name of the provider for this facility (e.g., EQUINIX).
14927
+ # @!attribute [rw] facility_provider_facility_id
14928
+ # @return [::String]
14929
+ # [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).
14930
+ # @!attribute [rw] id
14931
+ # @return [::Integer]
14932
+ # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
14933
+ # @!attribute [rw] kind
14934
+ # @return [::String]
14935
+ # [Output Only] Type of the resource. Always compute#interconnectRemoteLocation for interconnect remote locations.
14936
+ # @!attribute [rw] lacp
14937
+ # @return [::String]
14938
+ # [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED
14939
+ # Check the Lacp enum for the list of possible values.
14940
+ # @!attribute [rw] max_lag_size100_gbps
14941
+ # @return [::Integer]
14942
+ # [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.
14943
+ # @!attribute [rw] max_lag_size10_gbps
14944
+ # @return [::Integer]
14945
+ # [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.
14946
+ # @!attribute [rw] name
14947
+ # @return [::String]
14948
+ # [Output Only] Name of the resource.
14949
+ # @!attribute [rw] peeringdb_facility_id
14950
+ # @return [::String]
14951
+ # [Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).
14952
+ # @!attribute [rw] permitted_connections
14953
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectRemoteLocationPermittedConnections>]
14954
+ # [Output Only] Permitted connections.
14955
+ # @!attribute [rw] remote_service
14956
+ # @return [::String]
14957
+ # [Output Only] Indicates the service provider present at the remote location. Example values: "Amazon Web Services", "Microsoft Azure".
14958
+ # @!attribute [rw] self_link
14959
+ # @return [::String]
14960
+ # [Output Only] Server-defined URL for the resource.
14961
+ # @!attribute [rw] status
14962
+ # @return [::String]
14963
+ # [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.
14964
+ # Check the Status enum for the list of possible values.
14965
+ class InterconnectRemoteLocation
14966
+ include ::Google::Protobuf::MessageExts
14967
+ extend ::Google::Protobuf::MessageExts::ClassMethods
14968
+
14969
+ # [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA
14970
+ module Continent
14971
+ # A value indicating that the enum field is not set.
14972
+ UNDEFINED_CONTINENT = 0
14973
+
14974
+ AFRICA = 317_443_706
14975
+
14976
+ ASIA_PAC = 119_782_269
14977
+
14978
+ EUROPE = 445_819_298
14979
+
14980
+ NORTH_AMERICA = 448_015_508
14981
+
14982
+ SOUTH_AMERICA = 32_597_340
14983
+ end
14984
+
14985
+ # [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED
14986
+ module Lacp
14987
+ # A value indicating that the enum field is not set.
14988
+ UNDEFINED_LACP = 0
14989
+
14990
+ # LACP_SUPPORTED: LACP is supported, and enabled by default on the Cross-Cloud Interconnect.
14991
+ LACP_SUPPORTED = 339_576_113
14992
+
14993
+ # 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.
14994
+ LACP_UNSUPPORTED = 203_930_104
14995
+ end
14996
+
14997
+ # [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.
14998
+ module Status
14999
+ # A value indicating that the enum field is not set.
15000
+ UNDEFINED_STATUS = 0
15001
+
15002
+ # The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects.
15003
+ AVAILABLE = 442_079_913
15004
+
15005
+ # The InterconnectRemoteLocation is closed for provisioning new Cross-Cloud Interconnects.
15006
+ CLOSED = 380_163_436
15007
+ end
15008
+ end
15009
+
15010
+ # @!attribute [rw] port_pair_remote_location
15011
+ # @return [::String]
15012
+ # [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.
15013
+ # Check the PortPairRemoteLocation enum for the list of possible values.
15014
+ # @!attribute [rw] port_pair_vlan
15015
+ # @return [::String]
15016
+ # [Output Only] Port pair VLAN constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN
15017
+ # Check the PortPairVlan enum for the list of possible values.
15018
+ # @!attribute [rw] subnet_length_range
15019
+ # @return [::Google::Cloud::Compute::V1::InterconnectRemoteLocationConstraintsSubnetLengthRange]
15020
+ # [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}.
15021
+ class InterconnectRemoteLocationConstraints
15022
+ include ::Google::Protobuf::MessageExts
15023
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15024
+
15025
+ # [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.
15026
+ module PortPairRemoteLocation
15027
+ # A value indicating that the enum field is not set.
15028
+ UNDEFINED_PORT_PAIR_REMOTE_LOCATION = 0
15029
+
15030
+ # 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.
15031
+ PORT_PAIR_MATCHING_REMOTE_LOCATION = 207_291_859
15032
+
15033
+ # 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.
15034
+ PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION = 60_609_829
15035
+ end
15036
+
15037
+ # [Output Only] Port pair VLAN constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN
15038
+ module PortPairVlan
15039
+ # A value indicating that the enum field is not set.
15040
+ UNDEFINED_PORT_PAIR_VLAN = 0
15041
+
15042
+ # 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.
15043
+ PORT_PAIR_MATCHING_VLAN = 250_295_358
15044
+
15045
+ # PORT_PAIR_UNCONSTRAINED_VLAN means there is no constraint.
15046
+ PORT_PAIR_UNCONSTRAINED_VLAN = 175_227_948
15047
+ end
15048
+ end
15049
+
15050
+ # @!attribute [rw] max
15051
+ # @return [::Integer]
15052
+ # @!attribute [rw] min
15053
+ # @return [::Integer]
15054
+ class InterconnectRemoteLocationConstraintsSubnetLengthRange
15055
+ include ::Google::Protobuf::MessageExts
15056
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15057
+ end
15058
+
15059
+ # Response to the list request, and contains a list of interconnect remote locations.
15060
+ # @!attribute [rw] id
15061
+ # @return [::String]
15062
+ # [Output Only] Unique identifier for the resource; defined by the server.
15063
+ # @!attribute [rw] items
15064
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectRemoteLocation>]
15065
+ # A list of InterconnectRemoteLocation resources.
15066
+ # @!attribute [rw] kind
15067
+ # @return [::String]
15068
+ # [Output Only] Type of resource. Always compute#interconnectRemoteLocationList for lists of interconnect remote locations.
15069
+ # @!attribute [rw] next_page_token
15070
+ # @return [::String]
15071
+ # [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.
15072
+ # @!attribute [rw] self_link
15073
+ # @return [::String]
15074
+ # [Output Only] Server-defined URL for this resource.
15075
+ # @!attribute [rw] warning
15076
+ # @return [::Google::Cloud::Compute::V1::Warning]
15077
+ # [Output Only] Informational warning message.
15078
+ class InterconnectRemoteLocationList
15079
+ include ::Google::Protobuf::MessageExts
15080
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15081
+ end
15082
+
15083
+ # @!attribute [rw] interconnect_location
15084
+ # @return [::String]
15085
+ # [Output Only] URL of an Interconnect location that is permitted to connect to this Interconnect remote location.
15086
+ class InterconnectRemoteLocationPermittedConnections
15087
+ include ::Google::Protobuf::MessageExts
15088
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15089
+ end
15090
+
15091
+ # Response for the InterconnectsGetDiagnosticsRequest.
15092
+ # @!attribute [rw] result
15093
+ # @return [::Google::Cloud::Compute::V1::InterconnectDiagnostics]
15094
+ class InterconnectsGetDiagnosticsResponse
15095
+ include ::Google::Protobuf::MessageExts
15096
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15097
+ end
15098
+
15099
+ # A request message for UrlMaps.InvalidateCache. See the method description for details.
15100
+ # @!attribute [rw] cache_invalidation_rule_resource
15101
+ # @return [::Google::Cloud::Compute::V1::CacheInvalidationRule]
15102
+ # The body resource for this request
15103
+ # @!attribute [rw] project
15104
+ # @return [::String]
15105
+ # Project ID for this request.
15106
+ # @!attribute [rw] request_id
15107
+ # @return [::String]
15108
+ # 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).
15109
+ # @!attribute [rw] url_map
15110
+ # @return [::String]
15111
+ # Name of the UrlMap scoping this request.
15112
+ class InvalidateCacheUrlMapRequest
15113
+ include ::Google::Protobuf::MessageExts
15114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
15115
+ end
15116
+
15117
+ # Metadata
14552
15118
  # @!attribute [rw] key
14553
15119
  # @return [::String]
14554
15120
  # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
@@ -15522,6 +16088,30 @@ module Google
15522
16088
  extend ::Google::Protobuf::MessageExts::ClassMethods
15523
16089
  end
15524
16090
 
16091
+ # A request message for InterconnectRemoteLocations.List. See the method description for details.
16092
+ # @!attribute [rw] filter
16093
+ # @return [::String]
16094
+ # 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`.
16095
+ # @!attribute [rw] max_results
16096
+ # @return [::Integer]
16097
+ # 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`)
16098
+ # @!attribute [rw] order_by
16099
+ # @return [::String]
16100
+ # 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.
16101
+ # @!attribute [rw] page_token
16102
+ # @return [::String]
16103
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
16104
+ # @!attribute [rw] project
16105
+ # @return [::String]
16106
+ # Project ID for this request.
16107
+ # @!attribute [rw] return_partial_success
16108
+ # @return [::Boolean]
16109
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
16110
+ class ListInterconnectRemoteLocationsRequest
16111
+ include ::Google::Protobuf::MessageExts
16112
+ extend ::Google::Protobuf::MessageExts::ClassMethods
16113
+ end
16114
+
15525
16115
  # A request message for Interconnects.List. See the method description for details.
15526
16116
  # @!attribute [rw] filter
15527
16117
  # @return [::String]
@@ -17919,7 +18509,7 @@ module Google
17919
18509
  # A value indicating that the enum field is not set.
17920
18510
  UNDEFINED_INSTANCE_STATUS = 0
17921
18511
 
17922
- # The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
18512
+ # The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
17923
18513
  DEPROVISIONING = 428_935_662
17924
18514
 
17925
18515
  # Resources are being allocated for the instance.
@@ -18056,6 +18646,27 @@ module Google
18056
18646
  extend ::Google::Protobuf::MessageExts::ClassMethods
18057
18647
  end
18058
18648
 
18649
+ # A request message for Addresses.Move. See the method description for details.
18650
+ # @!attribute [rw] address
18651
+ # @return [::String]
18652
+ # Name of the address resource to move.
18653
+ # @!attribute [rw] project
18654
+ # @return [::String]
18655
+ # Source project ID which the Address is moved from.
18656
+ # @!attribute [rw] region
18657
+ # @return [::String]
18658
+ # Name of the region for this request.
18659
+ # @!attribute [rw] region_addresses_move_request_resource
18660
+ # @return [::Google::Cloud::Compute::V1::RegionAddressesMoveRequest]
18661
+ # The body resource for this request
18662
+ # @!attribute [rw] request_id
18663
+ # @return [::String]
18664
+ # 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).
18665
+ class MoveAddressRequest
18666
+ include ::Google::Protobuf::MessageExts
18667
+ extend ::Google::Protobuf::MessageExts::ClassMethods
18668
+ end
18669
+
18059
18670
  # A request message for Projects.MoveDisk. See the method description for details.
18060
18671
  # @!attribute [rw] disk_move_request_resource
18061
18672
  # @return [::Google::Cloud::Compute::V1::DiskMoveRequest]
@@ -18086,6 +18697,24 @@ module Google
18086
18697
  extend ::Google::Protobuf::MessageExts::ClassMethods
18087
18698
  end
18088
18699
 
18700
+ # A request message for GlobalAddresses.Move. See the method description for details.
18701
+ # @!attribute [rw] address
18702
+ # @return [::String]
18703
+ # Name of the address resource to move.
18704
+ # @!attribute [rw] global_addresses_move_request_resource
18705
+ # @return [::Google::Cloud::Compute::V1::GlobalAddressesMoveRequest]
18706
+ # The body resource for this request
18707
+ # @!attribute [rw] project
18708
+ # @return [::String]
18709
+ # Source project ID which the Address is moved from.
18710
+ # @!attribute [rw] request_id
18711
+ # @return [::String]
18712
+ # 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).
18713
+ class MoveGlobalAddressRequest
18714
+ include ::Google::Protobuf::MessageExts
18715
+ extend ::Google::Protobuf::MessageExts::ClassMethods
18716
+ end
18717
+
18089
18718
  # A request message for Projects.MoveInstance. See the method description for details.
18090
18719
  # @!attribute [rw] instance_move_request_resource
18091
18720
  # @return [::Google::Cloud::Compute::V1::InstanceMoveRequest]
@@ -18134,7 +18763,7 @@ module Google
18134
18763
  # [Output Only] URL of the firewall policy the network is associated with.
18135
18764
  # @!attribute [rw] gateway_i_pv4
18136
18765
  # @return [::String]
18137
- # [Output Only] The gateway address for default routing out of the network, selected by GCP.
18766
+ # [Output Only] The gateway address for default routing out of the network, selected by Google Cloud.
18138
18767
  # @!attribute [rw] id
18139
18768
  # @return [::Integer]
18140
18769
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
@@ -18199,7 +18828,7 @@ module Google
18199
18828
  # An optional description of this resource. Provide this property when you create the resource.
18200
18829
  # @!attribute [rw] fingerprint
18201
18830
  # @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.
18831
+ # 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
18832
  # @!attribute [rw] id
18204
18833
  # @return [::Integer]
18205
18834
  # [Output Only] The unique identifier for the resource type. The server generates this identifier.
@@ -18211,7 +18840,7 @@ module Google
18211
18840
  # 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
18841
  # @!attribute [rw] network
18213
18842
  # @return [::String]
18214
- # [Output Only] The URL of the network which the Network Attachment belongs to.
18843
+ # [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
18844
  # @!attribute [rw] producer_accept_lists
18216
18845
  # @return [::Array<::String>]
18217
18846
  # Projects that are allowed to connect to this network attachment. The project can be specified using its id or number.
@@ -18282,13 +18911,13 @@ module Google
18282
18911
  # [Output Only] A connection connected to this network attachment.
18283
18912
  # @!attribute [rw] ip_address
18284
18913
  # @return [::String]
18285
- # The IP address assigned to the producer instance network interface. This value will be a range in case of Serverless.
18914
+ # The IPv4 address assigned to the producer instance network interface. This value will be a range in case of Serverless.
18286
18915
  # @!attribute [rw] project_id_or_num
18287
18916
  # @return [::String]
18288
18917
  # The project id or number of the interface to which the IP was assigned.
18289
18918
  # @!attribute [rw] secondary_ip_cidr_ranges
18290
18919
  # @return [::Array<::String>]
18291
- # Alias IP ranges from the same subnetwork
18920
+ # Alias IP ranges from the same subnetwork.
18292
18921
  # @!attribute [rw] status
18293
18922
  # @return [::String]
18294
18923
  # The status of a connected endpoint to this network attachment.
@@ -18835,7 +19464,7 @@ module Google
18835
19464
  # 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
19465
  # @!attribute [rw] stack_type
18837
19466
  # @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.
19467
+ # 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
19468
  # Check the StackType enum for the list of possible values.
18840
19469
  # @!attribute [rw] subnetwork
18841
19470
  # @return [::String]
@@ -18873,7 +19502,7 @@ module Google
18873
19502
  VIRTIO_NET = 452_123_481
18874
19503
  end
18875
19504
 
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.
19505
+ # 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
19506
  module StackType
18878
19507
  # A value indicating that the enum field is not set.
18879
19508
  UNDEFINED_STACK_TYPE = 0
@@ -19941,37 +20570,37 @@ module Google
19941
20570
  # Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service.
19942
20571
  # @!attribute [rw] base_ejection_time
19943
20572
  # @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.
20573
+ # 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
20574
  # @!attribute [rw] consecutive_errors
19946
20575
  # @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.
20576
+ # 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
20577
  # @!attribute [rw] consecutive_gateway_failure
19949
20578
  # @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.
20579
+ # 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
20580
  # @!attribute [rw] enforcing_consecutive_errors
19952
20581
  # @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.
20582
+ # 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
20583
  # @!attribute [rw] enforcing_consecutive_gateway_failure
19955
20584
  # @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.
20585
+ # 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
20586
  # @!attribute [rw] enforcing_success_rate
19958
20587
  # @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.
20588
+ # 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
20589
  # @!attribute [rw] interval
19961
20590
  # @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.
20591
+ # 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
20592
  # @!attribute [rw] max_ejection_percent
19964
20593
  # @return [::Integer]
19965
- # Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 50%.
20594
+ # 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
20595
  # @!attribute [rw] success_rate_minimum_hosts
19967
20596
  # @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.
20597
+ # 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
20598
  # @!attribute [rw] success_rate_request_volume
19970
20599
  # @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.
20600
+ # 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
20601
  # @!attribute [rw] success_rate_stdev_factor
19973
20602
  # @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.
20603
+ # 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
20604
  class OutlierDetection
19976
20605
  include ::Google::Protobuf::MessageExts
19977
20606
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -20888,6 +21517,30 @@ module Google
20888
21517
  extend ::Google::Protobuf::MessageExts::ClassMethods
20889
21518
  end
20890
21519
 
21520
+ # A request message for ResourcePolicies.Patch. See the method description for details.
21521
+ # @!attribute [rw] project
21522
+ # @return [::String]
21523
+ # Project ID for this request.
21524
+ # @!attribute [rw] region
21525
+ # @return [::String]
21526
+ # Name of the region for this request.
21527
+ # @!attribute [rw] request_id
21528
+ # @return [::String]
21529
+ # 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).
21530
+ # @!attribute [rw] resource_policy
21531
+ # @return [::String]
21532
+ # Id of the resource policy to patch.
21533
+ # @!attribute [rw] resource_policy_resource
21534
+ # @return [::Google::Cloud::Compute::V1::ResourcePolicy]
21535
+ # The body resource for this request
21536
+ # @!attribute [rw] update_mask
21537
+ # @return [::String]
21538
+ # update_mask indicates fields to be updated as part of this request.
21539
+ class PatchResourcePolicyRequest
21540
+ include ::Google::Protobuf::MessageExts
21541
+ extend ::Google::Protobuf::MessageExts::ClassMethods
21542
+ end
21543
+
20891
21544
  # A request message for Routers.Patch. See the method description for details.
20892
21545
  # @!attribute [rw] project
20893
21546
  # @return [::String]
@@ -21520,7 +22173,7 @@ module Google
21520
22173
  # An optional description of this resource. Provide this property when you create the resource.
21521
22174
  # @!attribute [rw] dns_verification_ip
21522
22175
  # @return [::String]
21523
- # The IPv4 address to be used for reverse DNS verification.
22176
+ # The address to be used for reverse DNS verification.
21524
22177
  # @!attribute [rw] fingerprint
21525
22178
  # @return [::String]
21526
22179
  # 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 +22182,7 @@ module Google
21529
22182
  # [Output Only] The unique identifier for the resource type. The server generates this identifier.
21530
22183
  # @!attribute [rw] ip_cidr_range
21531
22184
  # @return [::String]
21532
- # The IPv4 address range, in CIDR format, represented by this public advertised prefix.
22185
+ # The address range, in CIDR format, represented by this public advertised prefix.
21533
22186
  # @!attribute [rw] kind
21534
22187
  # @return [::String]
21535
22188
  # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for public advertised prefixes.
@@ -21640,7 +22293,7 @@ module Google
21640
22293
  # [Output Only] The unique identifier for the resource type. The server generates this identifier.
21641
22294
  # @!attribute [rw] ip_cidr_range
21642
22295
  # @return [::String]
21643
- # The IPv4 address range, in CIDR format, represented by this public delegated prefix.
22296
+ # The IP address range, in CIDR format, represented by this public delegated prefix.
21644
22297
  # @!attribute [rw] is_live_migration
21645
22298
  # @return [::Boolean]
21646
22299
  # If true, the prefix will be live migrated.
@@ -21756,7 +22409,7 @@ module Google
21756
22409
  # An optional description of this resource. Provide this property when you create the resource.
21757
22410
  # @!attribute [rw] ip_cidr_range
21758
22411
  # @return [::String]
21759
- # The IPv4 address range, in CIDR format, represented by this sub public delegated prefix.
22412
+ # The IP address range, in CIDR format, represented by this sub public delegated prefix.
21760
22413
  # @!attribute [rw] is_address
21761
22414
  # @return [::Boolean]
21762
22415
  # Whether the sub prefix is delegated to create Address resources in the delegatee project.
@@ -21869,6 +22522,8 @@ module Google
21869
22522
 
21870
22523
  COMMITTED_NVIDIA_K80_GPUS = 3_857_188
21871
22524
 
22525
+ COMMITTED_NVIDIA_L4_GPUS = 19_163_645
22526
+
21872
22527
  COMMITTED_NVIDIA_P100_GPUS = 107_528_100
21873
22528
 
21874
22529
  COMMITTED_NVIDIA_P4_GPUS = 347_952_897
@@ -21972,6 +22627,12 @@ module Google
21972
22627
 
21973
22628
  NETWORK_FIREWALL_POLICIES = 101_117_374
21974
22629
 
22630
+ NET_LB_SECURITY_POLICIES_PER_REGION = 157_892_269
22631
+
22632
+ NET_LB_SECURITY_POLICY_RULES_PER_REGION = 356_090_931
22633
+
22634
+ NET_LB_SECURITY_POLICY_RULE_ATTRIBUTES_PER_REGION = 311_243_888
22635
+
21975
22636
  NODE_GROUPS = 24_624_817
21976
22637
 
21977
22638
  NODE_TEMPLATES = 474_896_668
@@ -21982,6 +22643,8 @@ module Google
21982
22643
 
21983
22644
  NVIDIA_K80_GPUS = 163_886_599
21984
22645
 
22646
+ NVIDIA_L4_GPUS = 491_923_130
22647
+
21985
22648
  NVIDIA_P100_GPUS = 236_601_633
21986
22649
 
21987
22650
  NVIDIA_P100_VWS_GPUS = 213_970_574
@@ -22010,6 +22673,8 @@ module Google
22010
22673
 
22011
22674
  PREEMPTIBLE_NVIDIA_K80_GPUS = 374_960_201
22012
22675
 
22676
+ PREEMPTIBLE_NVIDIA_L4_GPUS = 100_408_376
22677
+
22013
22678
  PREEMPTIBLE_NVIDIA_P100_GPUS = 337_432_351
22014
22679
 
22015
22680
  PREEMPTIBLE_NVIDIA_P100_VWS_GPUS = 313_544_076
@@ -22056,6 +22721,8 @@ module Google
22056
22721
 
22057
22722
  SECURITY_POLICIES_PER_REGION = 249_041_734
22058
22723
 
22724
+ SECURITY_POLICY_ADVANCED_RULES_PER_REGION = 371_815_341
22725
+
22059
22726
  SECURITY_POLICY_CEVAL_RULES = 470_815_689
22060
22727
 
22061
22728
  SECURITY_POLICY_RULES = 203_549_225
@@ -22111,6 +22778,9 @@ module Google
22111
22778
  # @!attribute [rw] dimensions
22112
22779
  # @return [::Google::Protobuf::Map{::String => ::String}]
22113
22780
  # The map holding related quota dimensions.
22781
+ # @!attribute [rw] future_limit
22782
+ # @return [::Float]
22783
+ # Future quota limit being rolled out. The limit's unit depends on the quota type or metric.
22114
22784
  # @!attribute [rw] limit
22115
22785
  # @return [::Float]
22116
22786
  # Current effective quota limit. The limit's unit depends on the quota type or metric.
@@ -22120,6 +22790,10 @@ module Google
22120
22790
  # @!attribute [rw] metric_name
22121
22791
  # @return [::String]
22122
22792
  # The Compute Engine quota metric name.
22793
+ # @!attribute [rw] rollout_status
22794
+ # @return [::String]
22795
+ # Rollout status of the future quota limit.
22796
+ # Check the RolloutStatus enum for the list of possible values.
22123
22797
  class QuotaExceededInfo
22124
22798
  include ::Google::Protobuf::MessageExts
22125
22799
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -22132,6 +22806,18 @@ module Google
22132
22806
  include ::Google::Protobuf::MessageExts
22133
22807
  extend ::Google::Protobuf::MessageExts::ClassMethods
22134
22808
  end
22809
+
22810
+ # Rollout status of the future quota limit.
22811
+ module RolloutStatus
22812
+ # A value indicating that the enum field is not set.
22813
+ UNDEFINED_ROLLOUT_STATUS = 0
22814
+
22815
+ # IN_PROGRESS - A rollout is in process which will change the limit value to future limit.
22816
+ IN_PROGRESS = 469_193_735
22817
+
22818
+ # ROLLOUT_STATUS_UNSPECIFIED - Rollout status is not specified. The default value.
22819
+ ROLLOUT_STATUS_UNSPECIFIED = 26_864_568
22820
+ end
22135
22821
  end
22136
22822
 
22137
22823
  # The parameters of the raw disk image.
@@ -22268,6 +22954,17 @@ module Google
22268
22954
  end
22269
22955
  end
22270
22956
 
22957
+ # @!attribute [rw] description
22958
+ # @return [::String]
22959
+ # An optional destination address description if intended to be different from the source.
22960
+ # @!attribute [rw] destination_address
22961
+ # @return [::String]
22962
+ # 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.
22963
+ class RegionAddressesMoveRequest
22964
+ include ::Google::Protobuf::MessageExts
22965
+ extend ::Google::Protobuf::MessageExts::ClassMethods
22966
+ end
22967
+
22271
22968
  # Contains a list of autoscalers.
22272
22969
  # @!attribute [rw] id
22273
22970
  # @return [::String]
@@ -22339,6 +23036,14 @@ module Google
22339
23036
  extend ::Google::Protobuf::MessageExts::ClassMethods
22340
23037
  end
22341
23038
 
23039
+ # @!attribute [rw] async_secondary_disk
23040
+ # @return [::String]
23041
+ # 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
23042
+ class RegionDisksStartAsyncReplicationRequest
23043
+ include ::Google::Protobuf::MessageExts
23044
+ extend ::Google::Protobuf::MessageExts::ClassMethods
23045
+ end
23046
+
22342
23047
  # Contains a list of InstanceGroup resources.
22343
23048
  # @!attribute [rw] id
22344
23049
  # @return [::String]
@@ -22431,17 +23136,17 @@ module Google
22431
23136
  # 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
23137
  # @!attribute [rw] minimal_action
22433
23138
  # @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.
23139
+ # 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
23140
  # Check the MinimalAction enum for the list of possible values.
22436
23141
  # @!attribute [rw] most_disruptive_allowed_action
22437
23142
  # @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.
23143
+ # 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
23144
  # Check the MostDisruptiveAllowedAction enum for the list of possible values.
22440
23145
  class RegionInstanceGroupManagersApplyUpdatesRequest
22441
23146
  include ::Google::Protobuf::MessageExts
22442
23147
  extend ::Google::Protobuf::MessageExts::ClassMethods
22443
23148
 
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.
23149
+ # 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
23150
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
22446
23151
  # NONE
22447
23152
  # REFRESH
@@ -22452,7 +23157,7 @@ module Google
22452
23157
  UNDEFINED_MINIMAL_ACTION = 0
22453
23158
  end
22454
23159
 
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.
23160
+ # 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
23161
  # Additional supported values which may be not listed in the enum directly due to technical reasons:
22457
23162
  # NONE
22458
23163
  # REFRESH
@@ -23370,6 +24075,9 @@ module Google
23370
24075
  # [Output Only] Creation timestamp in RFC3339 text format.
23371
24076
  # @!attribute [rw] description
23372
24077
  # @return [::String]
24078
+ # @!attribute [rw] disk_consistency_group_policy
24079
+ # @return [::Google::Cloud::Compute::V1::ResourcePolicyDiskConsistencyGroupPolicy]
24080
+ # Resource policy for disk consistency groups.
23373
24081
  # @!attribute [rw] group_placement_policy
23374
24082
  # @return [::Google::Cloud::Compute::V1::ResourcePolicyGroupPlacementPolicy]
23375
24083
  # Resource policy for instances for placement configuration.
@@ -23478,6 +24186,12 @@ module Google
23478
24186
  extend ::Google::Protobuf::MessageExts::ClassMethods
23479
24187
  end
23480
24188
 
24189
+ # Resource policy for disk consistency groups.
24190
+ class ResourcePolicyDiskConsistencyGroupPolicy
24191
+ include ::Google::Protobuf::MessageExts
24192
+ extend ::Google::Protobuf::MessageExts::ClassMethods
24193
+ end
24194
+
23481
24195
  # A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation as well as network locality
23482
24196
  # @!attribute [rw] availability_domain_count
23483
24197
  # @return [::Integer]
@@ -23774,6 +24488,9 @@ module Google
23774
24488
  # @!attribute [rw] next_hop_gateway
23775
24489
  # @return [::String]
23776
24490
  # 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
24491
+ # @!attribute [rw] next_hop_hub
24492
+ # @return [::String]
24493
+ # [Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets.
23777
24494
  # @!attribute [rw] next_hop_ilb
23778
24495
  # @return [::String]
23779
24496
  # 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 +24769,12 @@ module Google
24052
24769
  # @!attribute [rw] bfd
24053
24770
  # @return [::Google::Cloud::Compute::V1::RouterBgpPeerBfd]
24054
24771
  # BFD configuration for the BGP peering.
24772
+ # @!attribute [rw] custom_learned_ip_ranges
24773
+ # @return [::Array<::Google::Cloud::Compute::V1::RouterBgpPeerCustomLearnedIpRange>]
24774
+ # A list of user-defined custom learned route IP address ranges for a BGP session.
24775
+ # @!attribute [rw] custom_learned_route_priority
24776
+ # @return [::Integer]
24777
+ # 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
24778
  # @!attribute [rw] enable
24056
24779
  # @return [::String]
24057
24780
  # 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 +24888,14 @@ module Google
24165
24888
  end
24166
24889
  end
24167
24890
 
24891
+ # @!attribute [rw] range
24892
+ # @return [::String]
24893
+ # 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`.
24894
+ class RouterBgpPeerCustomLearnedIpRange
24895
+ include ::Google::Protobuf::MessageExts
24896
+ extend ::Google::Protobuf::MessageExts::ClassMethods
24897
+ end
24898
+
24168
24899
  # @!attribute [rw] ip_range
24169
24900
  # @return [::String]
24170
24901
  # 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 +24974,10 @@ module Google
24243
24974
  end
24244
24975
 
24245
24976
  # 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.
24977
+ # @!attribute [rw] auto_network_tier
24978
+ # @return [::String]
24979
+ # The network tier to use when automatically reserving IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, PREMIUM tier will be used.
24980
+ # Check the AutoNetworkTier enum for the list of possible values.
24246
24981
  # @!attribute [rw] drain_nat_ips
24247
24982
  # @return [::Array<::String>]
24248
24983
  # 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 +25017,7 @@ module Google
24282
25017
  # A list of rules associated with this NAT.
24283
25018
  # @!attribute [rw] source_subnetwork_ip_ranges_to_nat
24284
25019
  # @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.
25020
+ # 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
25021
  # Check the SourceSubnetworkIpRangesToNat enum for the list of possible values.
24287
25022
  # @!attribute [rw] subnetworks
24288
25023
  # @return [::Array<::Google::Cloud::Compute::V1::RouterNatSubnetworkToNat>]
@@ -24303,6 +25038,23 @@ module Google
24303
25038
  include ::Google::Protobuf::MessageExts
24304
25039
  extend ::Google::Protobuf::MessageExts::ClassMethods
24305
25040
 
25041
+ # The network tier to use when automatically reserving IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, PREMIUM tier will be used.
25042
+ module AutoNetworkTier
25043
+ # A value indicating that the enum field is not set.
25044
+ UNDEFINED_AUTO_NETWORK_TIER = 0
25045
+
25046
+ # Public internet quality with fixed bandwidth.
25047
+ FIXED_STANDARD = 310_464_328
25048
+
25049
+ # High quality, Google-grade network tier, support for all networking products.
25050
+ PREMIUM = 399_530_551
25051
+
25052
+ # Public internet quality, only limited support for other networking products.
25053
+ STANDARD = 484_642_493
25054
+
25055
+ # (Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
25056
+ STANDARD_OVERRIDES_FIXED_STANDARD = 465_847_234
25057
+ end
24306
25058
 
24307
25059
  module EndpointTypes
24308
25060
  # A value indicating that the enum field is not set.
@@ -24327,7 +25079,7 @@ module Google
24327
25079
  MANUAL_ONLY = 261_251_205
24328
25080
  end
24329
25081
 
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.
25082
+ # 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
25083
  module SourceSubnetworkIpRangesToNat
24332
25084
  # A value indicating that the enum field is not set.
24333
25085
  UNDEFINED_SOURCE_SUBNETWORK_IP_RANGES_TO_NAT = 0
@@ -24902,6 +25654,9 @@ module Google
24902
25654
  # @return [::String]
24903
25655
  # Specifies the termination action for the instance.
24904
25656
  # Check the InstanceTerminationAction enum for the list of possible values.
25657
+ # @!attribute [rw] local_ssd_recovery_timeout
25658
+ # @return [::Google::Cloud::Compute::V1::Duration]
25659
+ # Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
24905
25660
  # @!attribute [rw] location_hint
24906
25661
  # @return [::String]
24907
25662
  # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API.
@@ -25100,6 +25855,12 @@ module Google
25100
25855
  # @!attribute [rw] kind
25101
25856
  # @return [::String]
25102
25857
  # [Output only] Type of the resource. Always compute#securityPolicyfor security policies
25858
+ # @!attribute [rw] label_fingerprint
25859
+ # @return [::String]
25860
+ # 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.
25861
+ # @!attribute [rw] labels
25862
+ # @return [::Google::Protobuf::Map{::String => ::String}]
25863
+ # 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
25864
  # @!attribute [rw] name
25104
25865
  # @return [::String]
25105
25866
  # 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 +25883,15 @@ module Google
25122
25883
  include ::Google::Protobuf::MessageExts
25123
25884
  extend ::Google::Protobuf::MessageExts::ClassMethods
25124
25885
 
25886
+ # @!attribute [rw] key
25887
+ # @return [::String]
25888
+ # @!attribute [rw] value
25889
+ # @return [::String]
25890
+ class LabelsEntry
25891
+ include ::Google::Protobuf::MessageExts
25892
+ extend ::Google::Protobuf::MessageExts::ClassMethods
25893
+ end
25894
+
25125
25895
  # 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
25896
  module Type
25127
25897
  # A value indicating that the enum field is not set.
@@ -25144,19 +25914,19 @@ module Google
25144
25914
  extend ::Google::Protobuf::MessageExts::ClassMethods
25145
25915
  end
25146
25916
 
25147
- # Configuration options for L7 DDoS detection.
25917
+ # Configuration options for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25148
25918
  # @!attribute [rw] enable
25149
25919
  # @return [::Boolean]
25150
- # If set to true, enables CAAP for L7 DDoS detection.
25920
+ # If set to true, enables CAAP for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25151
25921
  # @!attribute [rw] rule_visibility
25152
25922
  # @return [::String]
25153
- # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules.
25923
+ # 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
25924
  # Check the RuleVisibility enum for the list of possible values.
25155
25925
  class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig
25156
25926
  include ::Google::Protobuf::MessageExts
25157
25927
  extend ::Google::Protobuf::MessageExts::ClassMethods
25158
25928
 
25159
- # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules.
25929
+ # 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
25930
  module RuleVisibility
25161
25931
  # A value indicating that the enum field is not set.
25162
25932
  UNDEFINED_RULE_VISIBILITY = 0
@@ -25248,7 +26018,7 @@ module Google
25248
26018
 
25249
26019
  # @!attribute [rw] redirect_site_key
25250
26020
  # @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.
26021
+ # 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
26022
  class SecurityPolicyRecaptchaOptionsConfig
25253
26023
  include ::Google::Protobuf::MessageExts
25254
26024
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -25264,13 +26034,13 @@ module Google
25264
26034
  # 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
26035
  # @!attribute [rw] action
25266
26036
  # @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.
26037
+ # 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
26038
  # @!attribute [rw] description
25269
26039
  # @return [::String]
25270
26040
  # An optional description of this resource. Provide this property when you create the resource.
25271
26041
  # @!attribute [rw] header_action
25272
26042
  # @return [::Google::Cloud::Compute::V1::SecurityPolicyRuleHttpHeaderAction]
25273
- # Optional, additional actions that are performed on headers.
26043
+ # Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
25274
26044
  # @!attribute [rw] kind
25275
26045
  # @return [::String]
25276
26046
  # [Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules
@@ -25291,7 +26061,7 @@ module Google
25291
26061
  # Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
25292
26062
  # @!attribute [rw] redirect_options
25293
26063
  # @return [::Google::Cloud::Compute::V1::SecurityPolicyRuleRedirectOptions]
25294
- # Parameters defining the redirect action. Cannot be specified for any other actions.
26064
+ # 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
26065
  class SecurityPolicyRule
25296
26066
  include ::Google::Protobuf::MessageExts
25297
26067
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -25322,7 +26092,7 @@ module Google
25322
26092
  # 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
26093
  # @!attribute [rw] expr
25324
26094
  # @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.
26095
+ # 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
26096
  # @!attribute [rw] versioned_expr
25327
26097
  # @return [::String]
25328
26098
  # 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 +26196,18 @@ module Google
25426
26196
  # @return [::String]
25427
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 "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
26198
  # Check the EnforceOnKey enum for the list of possible values.
26199
+ # @!attribute [rw] enforce_on_key_configs
26200
+ # @return [::Array<::Google::Cloud::Compute::V1::SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig>]
26201
+ # 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
26202
  # @!attribute [rw] enforce_on_key_name
25430
26203
  # @return [::String]
25431
26204
  # 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
26205
  # @!attribute [rw] exceed_action
25433
26206
  # @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.
26207
+ # 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
26208
  # @!attribute [rw] exceed_redirect_options
25436
26209
  # @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.
26210
+ # 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
26211
  # @!attribute [rw] rate_limit_threshold
25439
26212
  # @return [::Google::Cloud::Compute::V1::SecurityPolicyRuleRateLimitOptionsThreshold]
25440
26213
  # Threshold at which to begin ratelimiting.
@@ -25465,6 +26238,40 @@ module Google
25465
26238
  end
25466
26239
  end
25467
26240
 
26241
+ # @!attribute [rw] enforce_on_key_name
26242
+ # @return [::String]
26243
+ # 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.
26244
+ # @!attribute [rw] enforce_on_key_type
26245
+ # @return [::String]
26246
+ # 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.
26247
+ # Check the EnforceOnKeyType enum for the list of possible values.
26248
+ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig
26249
+ include ::Google::Protobuf::MessageExts
26250
+ extend ::Google::Protobuf::MessageExts::ClassMethods
26251
+
26252
+ # 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.
26253
+ module EnforceOnKeyType
26254
+ # A value indicating that the enum field is not set.
26255
+ UNDEFINED_ENFORCE_ON_KEY_TYPE = 0
26256
+
26257
+ ALL = 64_897
26258
+
26259
+ HTTP_COOKIE = 494_981_627
26260
+
26261
+ HTTP_HEADER = 91_597_348
26262
+
26263
+ HTTP_PATH = 311_503_228
26264
+
26265
+ IP = 2343
26266
+
26267
+ REGION_CODE = 79_559_768
26268
+
26269
+ SNI = 82_254
26270
+
26271
+ XFF_IP = 438_707_118
26272
+ end
26273
+ end
26274
+
25468
26275
  # @!attribute [rw] count
25469
26276
  # @return [::Integer]
25470
26277
  # Number of HTTP(S) requests for calculating the threshold.
@@ -25501,10 +26308,10 @@ module Google
25501
26308
  # The authentication and authorization settings for a BackendService.
25502
26309
  # @!attribute [rw] client_tls_policy
25503
26310
  # @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.
26311
+ # 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
26312
  # @!attribute [rw] subject_alt_names
25506
26313
  # @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.
26314
+ # 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
26315
  class SecuritySettings
25509
26316
  include ::Google::Protobuf::MessageExts
25510
26317
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -25586,7 +26393,7 @@ module Google
25586
26393
  extend ::Google::Protobuf::MessageExts::ClassMethods
25587
26394
  end
25588
26395
 
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
26396
+ # 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
26397
  # @!attribute [rw] connected_endpoints
25591
26398
  # @return [::Array<::Google::Cloud::Compute::V1::ServiceAttachmentConnectedEndpoint>]
25592
26399
  # [Output Only] An array of connections for all the consumers connected to this service attachment.
@@ -25633,6 +26440,9 @@ module Google
25633
26440
  # @!attribute [rw] psc_service_attachment_id
25634
26441
  # @return [::Google::Cloud::Compute::V1::Uint128]
25635
26442
  # [Output Only] An 128-bit global unique ID of the PSC service attachment.
26443
+ # @!attribute [rw] reconcile_connections
26444
+ # @return [::Boolean]
26445
+ # 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
26446
  # @!attribute [rw] region
25637
26447
  # @return [::String]
25638
26448
  # [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.
@@ -25696,6 +26506,9 @@ module Google
25696
26506
  end
25697
26507
 
25698
26508
  # [Output Only] A connection connected to this service attachment.
26509
+ # @!attribute [rw] consumer_network
26510
+ # @return [::String]
26511
+ # The url of the consumer network.
25699
26512
  # @!attribute [rw] endpoint
25700
26513
  # @return [::String]
25701
26514
  # The url of a connected endpoint.
@@ -27389,6 +28202,9 @@ module Google
27389
28202
  # @!attribute [rw] project
27390
28203
  # @return [::String]
27391
28204
  # Project ID for this request.
28205
+ # @!attribute [rw] request_id
28206
+ # @return [::String]
28207
+ # 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
28208
  # @!attribute [rw] zone
27393
28209
  # @return [::String]
27394
28210
  # The name of the zone for this request.
@@ -28056,6 +28872,48 @@ module Google
28056
28872
  extend ::Google::Protobuf::MessageExts::ClassMethods
28057
28873
  end
28058
28874
 
28875
+ # A request message for Disks.StartAsyncReplication. See the method description for details.
28876
+ # @!attribute [rw] disk
28877
+ # @return [::String]
28878
+ # The name of the persistent disk.
28879
+ # @!attribute [rw] disks_start_async_replication_request_resource
28880
+ # @return [::Google::Cloud::Compute::V1::DisksStartAsyncReplicationRequest]
28881
+ # The body resource for this request
28882
+ # @!attribute [rw] project
28883
+ # @return [::String]
28884
+ # Project ID for this request.
28885
+ # @!attribute [rw] request_id
28886
+ # @return [::String]
28887
+ # 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).
28888
+ # @!attribute [rw] zone
28889
+ # @return [::String]
28890
+ # The name of the zone for this request.
28891
+ class StartAsyncReplicationDiskRequest
28892
+ include ::Google::Protobuf::MessageExts
28893
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28894
+ end
28895
+
28896
+ # A request message for RegionDisks.StartAsyncReplication. See the method description for details.
28897
+ # @!attribute [rw] disk
28898
+ # @return [::String]
28899
+ # The name of the persistent disk.
28900
+ # @!attribute [rw] project
28901
+ # @return [::String]
28902
+ # Project ID for this request.
28903
+ # @!attribute [rw] region
28904
+ # @return [::String]
28905
+ # The name of the region for this request.
28906
+ # @!attribute [rw] region_disks_start_async_replication_request_resource
28907
+ # @return [::Google::Cloud::Compute::V1::RegionDisksStartAsyncReplicationRequest]
28908
+ # The body resource for this request
28909
+ # @!attribute [rw] request_id
28910
+ # @return [::String]
28911
+ # 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).
28912
+ class StartAsyncReplicationRegionDiskRequest
28913
+ include ::Google::Protobuf::MessageExts
28914
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28915
+ end
28916
+
28059
28917
  # A request message for Instances.Start. See the method description for details.
28060
28918
  # @!attribute [rw] instance
28061
28919
  # @return [::String]
@@ -28139,6 +28997,78 @@ module Google
28139
28997
  end
28140
28998
  end
28141
28999
 
29000
+ # A request message for Disks.StopAsyncReplication. See the method description for details.
29001
+ # @!attribute [rw] disk
29002
+ # @return [::String]
29003
+ # The name of the persistent disk.
29004
+ # @!attribute [rw] project
29005
+ # @return [::String]
29006
+ # Project ID for this request.
29007
+ # @!attribute [rw] request_id
29008
+ # @return [::String]
29009
+ # 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).
29010
+ # @!attribute [rw] zone
29011
+ # @return [::String]
29012
+ # The name of the zone for this request.
29013
+ class StopAsyncReplicationDiskRequest
29014
+ include ::Google::Protobuf::MessageExts
29015
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29016
+ end
29017
+
29018
+ # A request message for RegionDisks.StopAsyncReplication. See the method description for details.
29019
+ # @!attribute [rw] disk
29020
+ # @return [::String]
29021
+ # The name of the persistent disk.
29022
+ # @!attribute [rw] project
29023
+ # @return [::String]
29024
+ # Project ID for this request.
29025
+ # @!attribute [rw] region
29026
+ # @return [::String]
29027
+ # The name of the region for this request.
29028
+ # @!attribute [rw] request_id
29029
+ # @return [::String]
29030
+ # 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).
29031
+ class StopAsyncReplicationRegionDiskRequest
29032
+ include ::Google::Protobuf::MessageExts
29033
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29034
+ end
29035
+
29036
+ # A request message for Disks.StopGroupAsyncReplication. See the method description for details.
29037
+ # @!attribute [rw] disks_stop_group_async_replication_resource_resource
29038
+ # @return [::Google::Cloud::Compute::V1::DisksStopGroupAsyncReplicationResource]
29039
+ # The body resource for this request
29040
+ # @!attribute [rw] project
29041
+ # @return [::String]
29042
+ # Project ID for this request.
29043
+ # @!attribute [rw] request_id
29044
+ # @return [::String]
29045
+ # 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).
29046
+ # @!attribute [rw] zone
29047
+ # @return [::String]
29048
+ # The name of the zone for this request. This must be the zone of the primary or secondary disks in the consistency group.
29049
+ class StopGroupAsyncReplicationDiskRequest
29050
+ include ::Google::Protobuf::MessageExts
29051
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29052
+ end
29053
+
29054
+ # A request message for RegionDisks.StopGroupAsyncReplication. See the method description for details.
29055
+ # @!attribute [rw] disks_stop_group_async_replication_resource_resource
29056
+ # @return [::Google::Cloud::Compute::V1::DisksStopGroupAsyncReplicationResource]
29057
+ # The body resource for this request
29058
+ # @!attribute [rw] project
29059
+ # @return [::String]
29060
+ # Project ID for this request.
29061
+ # @!attribute [rw] region
29062
+ # @return [::String]
29063
+ # The name of the region for this request. This must be the region of the primary or secondary disks in the consistency group.
29064
+ # @!attribute [rw] request_id
29065
+ # @return [::String]
29066
+ # 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).
29067
+ class StopGroupAsyncReplicationRegionDiskRequest
29068
+ include ::Google::Protobuf::MessageExts
29069
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29070
+ end
29071
+
28142
29072
  # A request message for Instances.Stop. See the method description for details.
28143
29073
  # @!attribute [rw] discard_local_ssd
28144
29074
  # @return [::Boolean]
@@ -28169,7 +29099,7 @@ module Google
28169
29099
  # 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
29100
  # @!attribute [rw] enable_flow_logs
28171
29101
  # @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.
29102
+ # 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
29103
  # @!attribute [rw] external_ipv6_prefix
28174
29104
  # @return [::String]
28175
29105
  # The external IPv6 address range that is owned by this subnetwork.
@@ -28216,14 +29146,14 @@ module Google
28216
29146
  # Check the PrivateIpv6GoogleAccess enum for the list of possible values.
28217
29147
  # @!attribute [rw] purpose
28218
29148
  # @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.
29149
+ # 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
29150
  # Check the Purpose enum for the list of possible values.
28221
29151
  # @!attribute [rw] region
28222
29152
  # @return [::String]
28223
29153
  # URL of the region where the Subnetwork resides. This field can be set only at resource creation time.
28224
29154
  # @!attribute [rw] role
28225
29155
  # @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.
29156
+ # 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
29157
  # Check the Role enum for the list of possible values.
28228
29158
  # @!attribute [rw] secondary_ip_ranges
28229
29159
  # @return [::Array<::Google::Cloud::Compute::V1::SubnetworkSecondaryRange>]
@@ -28272,7 +29202,7 @@ module Google
28272
29202
  ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
28273
29203
  end
28274
29204
 
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.
29205
+ # 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
29206
  module Purpose
28277
29207
  # A value indicating that the enum field is not set.
28278
29208
  UNDEFINED_PURPOSE = 0
@@ -28293,7 +29223,7 @@ module Google
28293
29223
  REGIONAL_MANAGED_PROXY = 153_049_966
28294
29224
  end
28295
29225
 
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.
29226
+ # 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
29227
  module Role
28298
29228
  # A value indicating that the enum field is not set.
28299
29229
  UNDEFINED_ROLE = 0
@@ -28398,7 +29328,7 @@ module Google
28398
29328
  # Check the AggregationInterval enum for the list of possible values.
28399
29329
  # @!attribute [rw] enable
28400
29330
  # @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.
29331
+ # 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
29332
  # @!attribute [rw] filter_expr
28403
29333
  # @return [::String]
28404
29334
  # 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 +29614,9 @@ module Google
28684
29614
  # @!attribute [rw] fingerprint
28685
29615
  # @return [::String]
28686
29616
  # 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.
29617
+ # @!attribute [rw] http_keep_alive_timeout_sec
29618
+ # @return [::Integer]
29619
+ # 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
29620
  # @!attribute [rw] id
28688
29621
  # @return [::Integer]
28689
29622
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
@@ -28779,7 +29712,7 @@ module Google
28779
29712
 
28780
29713
  # @!attribute [rw] certificate_map
28781
29714
  # @return [::String]
28782
- # URL of the Certificate Map to associate with this TargetHttpsProxy.
29715
+ # URL of the Certificate Map to associate with this TargetHttpsProxy. Accepted format is //certificatemanager.googleapis.com/projects/\\{project }/locations/\\{location}/certificateMaps/\\{resourceName}.
28783
29716
  class TargetHttpsProxiesSetCertificateMapRequest
28784
29717
  include ::Google::Protobuf::MessageExts
28785
29718
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -28823,7 +29756,7 @@ module Google
28823
29756
  # 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
29757
  # @!attribute [rw] certificate_map
28825
29758
  # @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.
29759
+ # 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
29760
  # @!attribute [rw] creation_timestamp
28828
29761
  # @return [::String]
28829
29762
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -28833,6 +29766,9 @@ module Google
28833
29766
  # @!attribute [rw] fingerprint
28834
29767
  # @return [::String]
28835
29768
  # 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.
29769
+ # @!attribute [rw] http_keep_alive_timeout_sec
29770
+ # @return [::Integer]
29771
+ # 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
29772
  # @!attribute [rw] id
28837
29773
  # @return [::Integer]
28838
29774
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
@@ -28857,7 +29793,7 @@ module Google
28857
29793
  # [Output Only] Server-defined URL for the resource.
28858
29794
  # @!attribute [rw] server_tls_policy
28859
29795
  # @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.
29796
+ # 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
29797
  # @!attribute [rw] ssl_certificates
28862
29798
  # @return [::Array<::String>]
28863
29799
  # 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 +30200,7 @@ module Google
29264
30200
 
29265
30201
  # @!attribute [rw] certificate_map
29266
30202
  # @return [::String]
29267
- # URL of the Certificate Map to associate with this TargetSslProxy.
30203
+ # URL of the Certificate Map to associate with this TargetSslProxy. Accepted format is //certificatemanager.googleapis.com/projects/\\{project }/locations/\\{location}/certificateMaps/\\{resourceName}.
29268
30204
  class TargetSslProxiesSetCertificateMapRequest
29269
30205
  include ::Google::Protobuf::MessageExts
29270
30206
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -29300,7 +30236,7 @@ module Google
29300
30236
  # 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
30237
  # @!attribute [rw] certificate_map
29302
30238
  # @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.
30239
+ # 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
30240
  # @!attribute [rw] creation_timestamp
29305
30241
  # @return [::String]
29306
30242
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -29531,6 +30467,12 @@ module Google
29531
30467
  # @!attribute [rw] kind
29532
30468
  # @return [::String]
29533
30469
  # [Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.
30470
+ # @!attribute [rw] label_fingerprint
30471
+ # @return [::String]
30472
+ # 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.
30473
+ # @!attribute [rw] labels
30474
+ # @return [::Google::Protobuf::Map{::String => ::String}]
30475
+ # 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
30476
  # @!attribute [rw] name
29535
30477
  # @return [::String]
29536
30478
  # 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 +30496,15 @@ module Google
29554
30496
  include ::Google::Protobuf::MessageExts
29555
30497
  extend ::Google::Protobuf::MessageExts::ClassMethods
29556
30498
 
30499
+ # @!attribute [rw] key
30500
+ # @return [::String]
30501
+ # @!attribute [rw] value
30502
+ # @return [::String]
30503
+ class LabelsEntry
30504
+ include ::Google::Protobuf::MessageExts
30505
+ extend ::Google::Protobuf::MessageExts::ClassMethods
30506
+ end
30507
+
29557
30508
  # [Output Only] The status of the VPN gateway, which can be one of the following: CREATING, READY, FAILED, or DELETING.
29558
30509
  module Status
29559
30510
  # A value indicating that the enum field is not set.
@@ -30825,6 +31776,9 @@ module Google
30825
31776
  # @!attribute [rw] path_prefix_rewrite
30826
31777
  # @return [::String]
30827
31778
  # 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.
31779
+ # @!attribute [rw] path_template_rewrite
31780
+ # @return [::String]
31781
+ # 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
31782
  class UrlRewrite
30829
31783
  include ::Google::Protobuf::MessageExts
30830
31784
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -30849,11 +31803,11 @@ module Google
30849
31803
  # Network URL.
30850
31804
  # @!attribute [rw] purpose
30851
31805
  # @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.
31806
+ # 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
31807
  # Check the Purpose enum for the list of possible values.
30854
31808
  # @!attribute [rw] role
30855
31809
  # @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.
31810
+ # 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
31811
  # Check the Role enum for the list of possible values.
30858
31812
  # @!attribute [rw] secondary_ip_ranges
30859
31813
  # @return [::Array<::Google::Cloud::Compute::V1::UsableSubnetworkSecondaryRange>]
@@ -30881,7 +31835,7 @@ module Google
30881
31835
  INTERNAL = 279_295_677
30882
31836
  end
30883
31837
 
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.
31838
+ # 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
31839
  module Purpose
30886
31840
  # A value indicating that the enum field is not set.
30887
31841
  UNDEFINED_PURPOSE = 0
@@ -30902,7 +31856,7 @@ module Google
30902
31856
  REGIONAL_MANAGED_PROXY = 153_049_966
30903
31857
  end
30904
31858
 
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.
31859
+ # 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
31860
  module Role
30907
31861
  # A value indicating that the enum field is not set.
30908
31862
  UNDEFINED_ROLE = 0
@@ -31261,7 +32215,7 @@ module Google
31261
32215
  # The VPN gateway interface this VPN tunnel is associated with.
31262
32216
  # @!attribute [rw] peer_gateway_interface
31263
32217
  # @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.
32218
+ # 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
32219
  # @!attribute [rw] tunnel_url
31266
32220
  # @return [::String]
31267
32221
  # URL reference to the VPN tunnel.
@@ -31270,7 +32224,7 @@ module Google
31270
32224
  extend ::Google::Protobuf::MessageExts::ClassMethods
31271
32225
  end
31272
32226
 
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.
32227
+ # 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
32228
  # @!attribute [rw] peer_external_gateway
31275
32229
  # @return [::String]
31276
32230
  # 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 +32294,12 @@ module Google
31340
32294
  # @!attribute [rw] kind
31341
32295
  # @return [::String]
31342
32296
  # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
32297
+ # @!attribute [rw] label_fingerprint
32298
+ # @return [::String]
32299
+ # 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.
32300
+ # @!attribute [rw] labels
32301
+ # @return [::Google::Protobuf::Map{::String => ::String}]
32302
+ # 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
32303
  # @!attribute [rw] local_traffic_selector
31344
32304
  # @return [::Array<::String>]
31345
32305
  # 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 +32353,15 @@ module Google
31393
32353
  include ::Google::Protobuf::MessageExts
31394
32354
  extend ::Google::Protobuf::MessageExts::ClassMethods
31395
32355
 
32356
+ # @!attribute [rw] key
32357
+ # @return [::String]
32358
+ # @!attribute [rw] value
32359
+ # @return [::String]
32360
+ class LabelsEntry
32361
+ include ::Google::Protobuf::MessageExts
32362
+ extend ::Google::Protobuf::MessageExts::ClassMethods
32363
+ end
32364
+
31396
32365
  # [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
32366
  module Status
31398
32367
  # A value indicating that the enum field is not set.
@@ -31626,6 +32595,9 @@ module Google
31626
32595
  # When deploying a deployment with a exceedingly large number of resources
31627
32596
  LARGE_DEPLOYMENT_WARNING = 481_440_678
31628
32597
 
32598
+ # Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
32599
+ LIST_OVERHEAD_QUOTA_EXCEED = 47_618_117
32600
+
31629
32601
  # A resource depends on a missing type
31630
32602
  MISSING_TYPE_DEPENDENCY = 344_505_463
31631
32603
 
@@ -31728,6 +32700,9 @@ module Google
31728
32700
  # When deploying a deployment with a exceedingly large number of resources
31729
32701
  LARGE_DEPLOYMENT_WARNING = 481_440_678
31730
32702
 
32703
+ # Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
32704
+ LIST_OVERHEAD_QUOTA_EXCEED = 47_618_117
32705
+
31731
32706
  # A resource depends on a missing type
31732
32707
  MISSING_TYPE_DEPENDENCY = 344_505_463
31733
32708