google-cloud-compute-v1 2.12.0 → 2.13.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -927,15 +927,39 @@ module Google
927
927
  # @!attribute [rw] enable_uefi_networking
928
928
  # @return [::Boolean]
929
929
  # Whether to enable UEFI networking for instance creation.
930
+ # @!attribute [rw] performance_monitoring_unit
931
+ # @return [::String]
932
+ # Type of Performance Monitoring Unit requested on instance.
933
+ # Check the PerformanceMonitoringUnit enum for the list of possible values.
930
934
  # @!attribute [rw] threads_per_core
931
935
  # @return [::Integer]
932
936
  # The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
937
+ # @!attribute [rw] turbo_mode
938
+ # @return [::String]
939
+ # Turbo frequency mode to use for the instance. Supported modes include: * ALL_CORE_MAX Using empty string or not setting this field will use the platform-specific default turbo mode.
933
940
  # @!attribute [rw] visible_core_count
934
941
  # @return [::Integer]
935
942
  # The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.
936
943
  class AdvancedMachineFeatures
937
944
  include ::Google::Protobuf::MessageExts
938
945
  extend ::Google::Protobuf::MessageExts::ClassMethods
946
+
947
+ # Type of Performance Monitoring Unit requested on instance.
948
+ module PerformanceMonitoringUnit
949
+ # A value indicating that the enum field is not set.
950
+ UNDEFINED_PERFORMANCE_MONITORING_UNIT = 0
951
+
952
+ # Architecturally defined non-LLC events.
953
+ ARCHITECTURAL = 155_113_693
954
+
955
+ # Most documented core/L2 and LLC events.
956
+ ENHANCED = 476_873_590
957
+
958
+ PERFORMANCE_MONITORING_UNIT_UNSPECIFIED = 429_210_692
959
+
960
+ # Most documented core/L2 events.
961
+ STANDARD = 484_642_493
962
+ end
939
963
  end
940
964
 
941
965
  # A request message for AcceleratorTypes.AggregatedList. See the method description for details.
@@ -2294,10 +2318,14 @@ module Google
2294
2318
  # A value indicating that the enum field is not set.
2295
2319
  UNDEFINED_VM_FAMILY = 0
2296
2320
 
2321
+ VM_FAMILY_CLOUD_TPU_DEVICE_CT3 = 42_845_948
2322
+
2297
2323
  VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L = 108_020_067
2298
2324
 
2299
2325
  VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP = 18_705_267
2300
2326
 
2327
+ VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P = 517_384_376
2328
+
2301
2329
  VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P = 517_384_407
2302
2330
  end
2303
2331
 
@@ -2597,7 +2625,7 @@ module Google
2597
2625
  # Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.
2598
2626
  # @!attribute [rw] disk_encryption_key
2599
2627
  # @return [::Google::Cloud::Compute::V1::CustomerEncryptionKey]
2600
- # Encrypts or decrypts a disk using a customer-supplied encryption key. If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key. If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance. If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later. Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group.
2628
+ # Encrypts or decrypts a disk using a customer-supplied encryption key. If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key. If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance. If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later. Note: Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. You cannot create VMs that have disks with customer-supplied keys using the bulk insert method.
2601
2629
  # @!attribute [rw] disk_size_gb
2602
2630
  # @return [::Integer]
2603
2631
  # The size of the disk in GB.
@@ -2636,7 +2664,7 @@ module Google
2636
2664
  # [Output Only] shielded vm initial state stored on disk
2637
2665
  # @!attribute [rw] source
2638
2666
  # @return [::String]
2639
- # Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD. If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. Note that for InstanceTemplate, specify the disk name for zonal disk, and the URL for regional disk.
2667
+ # Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. Note that for InstanceTemplate, specify the disk name for zonal disk, and the URL for regional disk.
2640
2668
  # @!attribute [rw] type
2641
2669
  # @return [::String]
2642
2670
  # Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT.
@@ -2752,13 +2780,13 @@ module Google
2752
2780
  # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name.
2753
2781
  # @!attribute [rw] source_image
2754
2782
  # @return [::String]
2755
- # The source image to create this disk. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family If the source image is deleted later, this field will not be set.
2783
+ # The source image to create this disk. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family If the source image is deleted later, this field will not be set.
2756
2784
  # @!attribute [rw] source_image_encryption_key
2757
2785
  # @return [::Google::Cloud::Compute::V1::CustomerEncryptionKey]
2758
2786
  # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. InstanceTemplate and InstancePropertiesPatch do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys.
2759
2787
  # @!attribute [rw] source_snapshot
2760
2788
  # @return [::String]
2761
- # The source snapshot to create this disk. When creating a new instance, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required except for local SSD. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set.
2789
+ # The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set.
2762
2790
  # @!attribute [rw] source_snapshot_encryption_key
2763
2791
  # @return [::Google::Cloud::Compute::V1::CustomerEncryptionKey]
2764
2792
  # The customer-supplied encryption key of the source snapshot.
@@ -2818,13 +2846,12 @@ module Google
2818
2846
  end
2819
2847
  end
2820
2848
 
2821
- # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
2849
+ # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
2822
2850
  # @!attribute [rw] audit_log_configs
2823
2851
  # @return [::Array<::Google::Cloud::Compute::V1::AuditLogConfig>]
2824
2852
  # The configuration for logging of each type of permission.
2825
2853
  # @!attribute [rw] exempted_members
2826
2854
  # @return [::Array<::String>]
2827
- # This is deprecated and has no effect. Do not use.
2828
2855
  # @!attribute [rw] service
2829
2856
  # @return [::String]
2830
2857
  # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
@@ -2839,7 +2866,6 @@ module Google
2839
2866
  # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
2840
2867
  # @!attribute [rw] ignore_child_exemptions
2841
2868
  # @return [::Boolean]
2842
- # This is deprecated and has no effect. Do not use.
2843
2869
  # @!attribute [rw] log_type
2844
2870
  # @return [::String]
2845
2871
  # The log type that this config enables.
@@ -2867,37 +2893,6 @@ module Google
2867
2893
  end
2868
2894
  end
2869
2895
 
2870
- # This is deprecated and has no effect. Do not use.
2871
- # @!attribute [rw] permission_type
2872
- # @return [::String]
2873
- # This is deprecated and has no effect. Do not use.
2874
- # Check the PermissionType enum for the list of possible values.
2875
- class AuthorizationLoggingOptions
2876
- include ::Google::Protobuf::MessageExts
2877
- extend ::Google::Protobuf::MessageExts::ClassMethods
2878
-
2879
- # This is deprecated and has no effect. Do not use.
2880
- module PermissionType
2881
- # A value indicating that the enum field is not set.
2882
- UNDEFINED_PERMISSION_TYPE = 0
2883
-
2884
- # This is deprecated and has no effect. Do not use.
2885
- ADMIN_READ = 128_951_462
2886
-
2887
- # This is deprecated and has no effect. Do not use.
2888
- ADMIN_WRITE = 244_412_079
2889
-
2890
- # This is deprecated and has no effect. Do not use.
2891
- DATA_READ = 305_224_971
2892
-
2893
- # This is deprecated and has no effect. Do not use.
2894
- DATA_WRITE = 340_181_738
2895
-
2896
- # This is deprecated and has no effect. Do not use.
2897
- PERMISSION_TYPE_UNSPECIFIED = 440_313_346
2898
- end
2899
- end
2900
-
2901
2896
  # Represents an Autoscaler resource. Google Compute Engine has two Autoscaler resources: * [Zonal](/compute/docs/reference/rest/v1/autoscalers) * [Regional](/compute/docs/reference/rest/v1/regionAutoscalers) Use autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances. For zonal managed instance groups resource, use the autoscaler resource. For regional managed instance groups, use the regionAutoscalers resource.
2902
2897
  # @!attribute [rw] autoscaling_policy
2903
2898
  # @return [::Google::Cloud::Compute::V1::AutoscalingPolicy]
@@ -3403,6 +3398,9 @@ module Google
3403
3398
  # @!attribute [rw] self_link
3404
3399
  # @return [::String]
3405
3400
  # [Output Only] Server-defined URL for the resource.
3401
+ # @!attribute [rw] used_by
3402
+ # @return [::Array<::Google::Cloud::Compute::V1::BackendBucketUsedBy>]
3403
+ # [Output Only] List of resources referencing that backend bucket.
3406
3404
  class BackendBucket
3407
3405
  include ::Google::Protobuf::MessageExts
3408
3406
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3537,6 +3535,14 @@ module Google
3537
3535
  extend ::Google::Protobuf::MessageExts::ClassMethods
3538
3536
  end
3539
3537
 
3538
+ # @!attribute [rw] reference
3539
+ # @return [::String]
3540
+ # [Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.
3541
+ class BackendBucketUsedBy
3542
+ include ::Google::Protobuf::MessageExts
3543
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3544
+ end
3545
+
3540
3546
  # Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/v1/regionBackendServices) For more information, see Backend Services.
3541
3547
  # @!attribute [rw] affinity_cookie_ttl_sec
3542
3548
  # @return [::Integer]
@@ -3594,6 +3600,10 @@ module Google
3594
3600
  # @!attribute [rw] id
3595
3601
  # @return [::Integer]
3596
3602
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
3603
+ # @!attribute [rw] ip_address_selection_policy
3604
+ # @return [::String]
3605
+ # Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED).
3606
+ # Check the IpAddressSelectionPolicy enum for the list of possible values.
3597
3607
  # @!attribute [rw] kind
3598
3608
  # @return [::String]
3599
3609
  # [Output Only] Type of resource. Always compute#backendService for backend services.
@@ -3606,7 +3616,7 @@ module Google
3606
3616
  # A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration.
3607
3617
  # @!attribute [rw] locality_lb_policy
3608
3618
  # @return [::String]
3609
- # The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are 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.
3619
+ # The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are 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.
3610
3620
  # Check the LocalityLbPolicy enum for the list of possible values.
3611
3621
  # @!attribute [rw] log_config
3612
3622
  # @return [::Google::Cloud::Compute::V1::BackendServiceLogConfig]
@@ -3658,6 +3668,9 @@ module Google
3658
3668
  # @return [::String]
3659
3669
  # Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are 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. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity).
3660
3670
  # Check the SessionAffinity enum for the list of possible values.
3671
+ # @!attribute [rw] strong_session_affinity_cookie
3672
+ # @return [::Google::Cloud::Compute::V1::BackendServiceHttpCookie]
3673
+ # Describes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY.
3661
3674
  # @!attribute [rw] subsetting
3662
3675
  # @return [::Google::Cloud::Compute::V1::Subsetting]
3663
3676
  # @!attribute [rw] timeout_sec
@@ -3665,6 +3678,7 @@ module Google
3665
3678
  # The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. 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. Instead, use maxStreamDuration.
3666
3679
  # @!attribute [rw] used_by
3667
3680
  # @return [::Array<::Google::Cloud::Compute::V1::BackendServiceUsedBy>]
3681
+ # [Output Only] List of resources referencing given backend service.
3668
3682
  class BackendService
3669
3683
  include ::Google::Protobuf::MessageExts
3670
3684
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3690,6 +3704,24 @@ module Google
3690
3704
  DISABLED = 516_696_700
3691
3705
  end
3692
3706
 
3707
+ # Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED).
3708
+ module IpAddressSelectionPolicy
3709
+ # A value indicating that the enum field is not set.
3710
+ UNDEFINED_IP_ADDRESS_SELECTION_POLICY = 0
3711
+
3712
+ # Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting.
3713
+ IPV4_ONLY = 22_373_798
3714
+
3715
+ # Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends.
3716
+ IPV6_ONLY = 79_632_100
3717
+
3718
+ # Unspecified IP address selection policy.
3719
+ IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED = 36_210_144
3720
+
3721
+ # Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address).
3722
+ PREFER_IPV6 = 408_601_302
3723
+ end
3724
+
3693
3725
  # Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.
3694
3726
  module LoadBalancingScheme
3695
3727
  # A value indicating that the enum field is not set.
@@ -3713,7 +3745,7 @@ module Google
3713
3745
  INVALID_LOAD_BALANCING_SCHEME = 275_352_060
3714
3746
  end
3715
3747
 
3716
- # The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are 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.
3748
+ # The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are 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.
3717
3749
  module LocalityLbPolicy
3718
3750
  # A value indicating that the enum field is not set.
3719
3751
  UNDEFINED_LOCALITY_LB_POLICY = 0
@@ -3798,6 +3830,9 @@ module Google
3798
3830
 
3799
3831
  # No session affinity. Connections from the same client IP may go to any instance in the pool.
3800
3832
  NONE = 2_402_104
3833
+
3834
+ # Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired.
3835
+ STRONG_COOKIE_AFFINITY = 438_628_091
3801
3836
  end
3802
3837
  end
3803
3838
 
@@ -4000,6 +4035,21 @@ module Google
4000
4035
  end
4001
4036
  end
4002
4037
 
4038
+ # The HTTP cookie used for stateful session affinity.
4039
+ # @!attribute [rw] name
4040
+ # @return [::String]
4041
+ # Name of the cookie.
4042
+ # @!attribute [rw] path
4043
+ # @return [::String]
4044
+ # Path to set for the cookie.
4045
+ # @!attribute [rw] ttl
4046
+ # @return [::Google::Cloud::Compute::V1::Duration]
4047
+ # Lifetime of the cookie.
4048
+ class BackendServiceHttpCookie
4049
+ include ::Google::Protobuf::MessageExts
4050
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4051
+ end
4052
+
4003
4053
  # Identity-Aware Proxy
4004
4054
  # @!attribute [rw] enabled
4005
4055
  # @return [::Boolean]
@@ -4170,6 +4220,7 @@ module Google
4170
4220
 
4171
4221
  # @!attribute [rw] reference
4172
4222
  # @return [::String]
4223
+ # [Output Only] Server-defined URL for resources referencing given BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and ForwardingRule.
4173
4224
  class BackendServiceUsedBy
4174
4225
  include ::Google::Protobuf::MessageExts
4175
4226
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4396,7 +4447,6 @@ module Google
4396
4447
  # Associates `members`, or principals, with a `role`.
4397
4448
  # @!attribute [rw] binding_id
4398
4449
  # @return [::String]
4399
- # This is deprecated and has no effect. Do not use.
4400
4450
  # @!attribute [rw] condition
4401
4451
  # @return [::Google::Cloud::Compute::V1::Expr]
4402
4452
  # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -4465,7 +4515,7 @@ module Google
4465
4515
  # The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided.
4466
4516
  # @!attribute [rw] location_policy
4467
4517
  # @return [::Google::Cloud::Compute::V1::LocationPolicy]
4468
- # Policy for chosing target zone. For more information, see Create VMs in bulk .
4518
+ # Policy for choosing target zone. For more information, see Create VMs in bulk.
4469
4519
  # @!attribute [rw] min_count
4470
4520
  # @return [::Integer]
4471
4521
  # The minimum number of instances to create. If no min_count is specified then count is used as the default value. If min_count instances cannot be created, then no instances will be created and instances already created will be deleted.
@@ -4722,6 +4772,9 @@ module Google
4722
4772
  # @!attribute [rw] creation_timestamp
4723
4773
  # @return [::String]
4724
4774
  # [Output Only] Creation timestamp in RFC3339 text format.
4775
+ # @!attribute [rw] custom_end_timestamp
4776
+ # @return [::String]
4777
+ # [Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.
4725
4778
  # @!attribute [rw] description
4726
4779
  # @return [::String]
4727
4780
  # An optional description of this resource. Provide this property when you create the resource.
@@ -4756,6 +4809,9 @@ module Google
4756
4809
  # @!attribute [rw] reservations
4757
4810
  # @return [::Array<::Google::Cloud::Compute::V1::Reservation>]
4758
4811
  # List of create-on-create reservations for this commitment.
4812
+ # @!attribute [rw] resource_status
4813
+ # @return [::Google::Cloud::Compute::V1::CommitmentResourceStatus]
4814
+ # [Output Only] Status information for Commitment resource.
4759
4815
  # @!attribute [rw] resources
4760
4816
  # @return [::Array<::Google::Cloud::Compute::V1::ResourceCommitment>]
4761
4817
  # A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.
@@ -4847,6 +4903,10 @@ module Google
4847
4903
 
4848
4904
  GENERAL_PURPOSE = 299_793_543
4849
4905
 
4906
+ GENERAL_PURPOSE_C4 = 301_911_817
4907
+
4908
+ GENERAL_PURPOSE_C4A = 232_460_888
4909
+
4850
4910
  GENERAL_PURPOSE_E2 = 301_911_877
4851
4911
 
4852
4912
  GENERAL_PURPOSE_N2 = 301_912_156
@@ -4928,6 +4988,15 @@ module Google
4928
4988
  extend ::Google::Protobuf::MessageExts::ClassMethods
4929
4989
  end
4930
4990
 
4991
+ # [Output Only] Contains output only fields.
4992
+ # @!attribute [rw] custom_term_eligibility_end_timestamp
4993
+ # @return [::String]
4994
+ # [Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.
4995
+ class CommitmentResourceStatus
4996
+ include ::Google::Protobuf::MessageExts
4997
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4998
+ end
4999
+
4931
5000
  # @!attribute [rw] commitments
4932
5001
  # @return [::Array<::Google::Cloud::Compute::V1::Commitment>]
4933
5002
  # [Output Only] A list of commitments contained in this scope.
@@ -4939,112 +5008,37 @@ module Google
4939
5008
  extend ::Google::Protobuf::MessageExts::ClassMethods
4940
5009
  end
4941
5010
 
4942
- # This is deprecated and has no effect. Do not use.
4943
- # @!attribute [rw] iam
4944
- # @return [::String]
4945
- # This is deprecated and has no effect. Do not use.
4946
- # Check the Iam enum for the list of possible values.
4947
- # @!attribute [rw] op
4948
- # @return [::String]
4949
- # This is deprecated and has no effect. Do not use.
4950
- # Check the Op enum for the list of possible values.
4951
- # @!attribute [rw] svc
4952
- # @return [::String]
4953
- # This is deprecated and has no effect. Do not use.
4954
- # @!attribute [rw] sys
5011
+ # A set of Confidential Instance options.
5012
+ # @!attribute [rw] confidential_instance_type
4955
5013
  # @return [::String]
4956
- # This is deprecated and has no effect. Do not use.
4957
- # Check the Sys enum for the list of possible values.
4958
- # @!attribute [rw] values
4959
- # @return [::Array<::String>]
4960
- # This is deprecated and has no effect. Do not use.
4961
- class Condition
5014
+ # Defines the type of technology used by the confidential instance.
5015
+ # Check the ConfidentialInstanceType enum for the list of possible values.
5016
+ # @!attribute [rw] enable_confidential_compute
5017
+ # @return [::Boolean]
5018
+ # Defines whether the instance should have confidential compute enabled.
5019
+ class ConfidentialInstanceConfig
4962
5020
  include ::Google::Protobuf::MessageExts
4963
5021
  extend ::Google::Protobuf::MessageExts::ClassMethods
4964
5022
 
4965
- # This is deprecated and has no effect. Do not use.
4966
- # Additional supported values which may be not listed in the enum directly due to technical reasons:
4967
- # NO_ATTR
4968
- module Iam
5023
+ # Defines the type of technology used by the confidential instance.
5024
+ module ConfidentialInstanceType
4969
5025
  # A value indicating that the enum field is not set.
4970
- UNDEFINED_IAM = 0
4971
-
4972
- # This is deprecated and has no effect. Do not use.
4973
- APPROVER = 357_258_949
4974
-
4975
- # This is deprecated and has no effect. Do not use.
4976
- ATTRIBUTION = 232_465_503
4977
-
4978
- # This is deprecated and has no effect. Do not use.
4979
- AUTHORITY = 504_108_835
4980
-
4981
- # This is deprecated and has no effect. Do not use.
4982
- CREDENTIALS_TYPE = 348_222_141
5026
+ UNDEFINED_CONFIDENTIAL_INSTANCE_TYPE = 0
4983
5027
 
4984
- # This is deprecated and has no effect. Do not use.
4985
- CREDS_ASSERTION = 332_343_272
4986
-
4987
- # This is deprecated and has no effect. Do not use.
4988
- JUSTIFICATION_TYPE = 206_147_719
4989
-
4990
- # This is deprecated and has no effect. Do not use.
4991
- SECURITY_REALM = 526_269_616
4992
- end
4993
-
4994
- # This is deprecated and has no effect. Do not use.
4995
- module Op
4996
- # A value indicating that the enum field is not set.
4997
- UNDEFINED_OP = 0
4998
-
4999
- # This is deprecated and has no effect. Do not use.
5000
- DISCHARGED = 266_338_274
5001
-
5002
- # This is deprecated and has no effect. Do not use.
5003
- EQUALS = 442_201_023
5004
-
5005
- # This is deprecated and has no effect. Do not use.
5006
- IN = 2341
5007
-
5008
- # This is deprecated and has no effect. Do not use.
5009
- NOT_EQUALS = 19_718_859
5010
-
5011
- # This is deprecated and has no effect. Do not use.
5012
- NOT_IN = 161_144_369
5013
-
5014
- # This is deprecated and has no effect. Do not use.
5015
- NO_OP = 74_481_951
5016
- end
5017
-
5018
- # This is deprecated and has no effect. Do not use.
5019
- # Additional supported values which may be not listed in the enum directly due to technical reasons:
5020
- # NO_ATTR
5021
- module Sys
5022
- # A value indicating that the enum field is not set.
5023
- UNDEFINED_SYS = 0
5024
-
5025
- # This is deprecated and has no effect. Do not use.
5026
- IP = 2343
5028
+ # No type specified. Do not use this value.
5029
+ CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED = 115_021_829
5027
5030
 
5028
- # This is deprecated and has no effect. Do not use.
5029
- NAME = 2_388_619
5031
+ # AMD Secure Encrypted Virtualization.
5032
+ SEV = 81_988
5030
5033
 
5031
- # This is deprecated and has no effect. Do not use.
5032
- REGION = 266_017_524
5034
+ # AMD Secure Encrypted Virtualization - Secure Nested Paging.
5035
+ SEV_SNP = 21_753_562
5033
5036
 
5034
- # This is deprecated and has no effect. Do not use.
5035
- SERVICE = 17_781_397
5037
+ # Intel Trust Domain eXtension.
5038
+ TDX = 82_920
5036
5039
  end
5037
5040
  end
5038
5041
 
5039
- # A set of Confidential Instance options.
5040
- # @!attribute [rw] enable_confidential_compute
5041
- # @return [::Boolean]
5042
- # Defines whether the instance should have confidential compute enabled.
5043
- class ConfidentialInstanceConfig
5044
- include ::Google::Protobuf::MessageExts
5045
- extend ::Google::Protobuf::MessageExts::ClassMethods
5046
- end
5047
-
5048
5042
  # Message containing connection draining configuration.
5049
5043
  # @!attribute [rw] draining_timeout_sec
5050
5044
  # @return [::Integer]
@@ -5201,6 +5195,33 @@ module Google
5201
5195
  extend ::Google::Protobuf::MessageExts::ClassMethods
5202
5196
  end
5203
5197
 
5198
+ # Specifies the custom error response policy that must be applied when the backend service or backend bucket responds with an error.
5199
+ # @!attribute [rw] error_response_rules
5200
+ # @return [::Array<::Google::Cloud::Compute::V1::CustomErrorResponsePolicyCustomErrorResponseRule>]
5201
+ # Specifies rules for returning error responses. In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority. For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX). If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.
5202
+ # @!attribute [rw] error_service
5203
+ # @return [::String]
5204
+ # The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are: - https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket - compute/v1/projects/project/global/backendBuckets/myBackendBucket - global/backendBuckets/myBackendBucket If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService. If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured). errorService is not supported for internal or regional HTTP/HTTPS load balancers.
5205
+ class CustomErrorResponsePolicy
5206
+ include ::Google::Protobuf::MessageExts
5207
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5208
+ end
5209
+
5210
+ # Specifies the mapping between the response code that will be returned along with the custom error content and the response code returned by the backend service.
5211
+ # @!attribute [rw] match_response_codes
5212
+ # @return [::Array<::String>]
5213
+ # Valid values include: - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value. - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599. - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499. Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
5214
+ # @!attribute [rw] override_response_code
5215
+ # @return [::Integer]
5216
+ # The HTTP status code returned with the response containing the custom error content. If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
5217
+ # @!attribute [rw] path
5218
+ # @return [::String]
5219
+ # The full path to a file within backendBucket . For example: /errors/defaultError.html path must start with a leading slash. path cannot have trailing slashes. If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client. The value must be from 1 to 1024 characters
5220
+ class CustomErrorResponsePolicyCustomErrorResponseRule
5221
+ include ::Google::Protobuf::MessageExts
5222
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5223
+ end
5224
+
5204
5225
  # @!attribute [rw] kms_key_name
5205
5226
  # @return [::String]
5206
5227
  # 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
@@ -5459,7 +5480,7 @@ module Google
5459
5480
  # A request message for GlobalOperations.Delete. See the method description for details.
5460
5481
  # @!attribute [rw] operation
5461
5482
  # @return [::String]
5462
- # Name of the Operations resource to delete.
5483
+ # Name of the Operations resource to delete, or its unique numeric identifier.
5463
5484
  # @!attribute [rw] project
5464
5485
  # @return [::String]
5465
5486
  # Project ID for this request.
@@ -5477,7 +5498,7 @@ module Google
5477
5498
  # A request message for GlobalOrganizationOperations.Delete. See the method description for details.
5478
5499
  # @!attribute [rw] operation
5479
5500
  # @return [::String]
5480
- # Name of the Operations resource to delete.
5501
+ # Name of the Operations resource to delete, or its unique numeric identifier.
5481
5502
  # @!attribute [rw] parent_id
5482
5503
  # @return [::String]
5483
5504
  # Parent ID for this request.
@@ -6179,7 +6200,7 @@ module Google
6179
6200
  # A request message for RegionOperations.Delete. See the method description for details.
6180
6201
  # @!attribute [rw] operation
6181
6202
  # @return [::String]
6182
- # Name of the Operations resource to delete.
6203
+ # Name of the Operations resource to delete, or its unique numeric identifier.
6183
6204
  # @!attribute [rw] project
6184
6205
  # @return [::String]
6185
6206
  # Project ID for this request.
@@ -6725,7 +6746,7 @@ module Google
6725
6746
  # A request message for ZoneOperations.Delete. See the method description for details.
6726
6747
  # @!attribute [rw] operation
6727
6748
  # @return [::String]
6728
- # Name of the Operations resource to delete.
6749
+ # Name of the Operations resource to delete, or its unique numeric identifier.
6729
6750
  # @!attribute [rw] project
6730
6751
  # @return [::String]
6731
6752
  # Project ID for this request.
@@ -6917,6 +6938,10 @@ module Google
6917
6938
  end
6918
6939
 
6919
6940
  # Represents a Persistent Disk resource. Google Compute Engine has two Disk resources: * [Zonal](/compute/docs/reference/rest/v1/disks) * [Regional](/compute/docs/reference/rest/v1/regionDisks) Persistent disks are required for running your VM instances. Create both boot and non-boot (data) persistent disks. For more information, read Persistent Disks. For more storage options, read Storage options. The disks resource represents a zonal persistent disk. For more information, read Zonal persistent disks. The regionDisks resource represents a regional persistent disk. For more information, read Regional resources.
6941
+ # @!attribute [rw] access_mode
6942
+ # @return [::String]
6943
+ # The access mode of the disk. - READ_WRITE_SINGLE: The default AccessMode, means the disk can be attached to single instance in RW mode. - READ_WRITE_MANY: The AccessMode means the disk can be attached to multiple instances in RW mode. - READ_ONLY_MANY: The AccessMode means the disk can be attached to multiple instances in RO mode. The AccessMode is only valid for Hyperdisk disk types.
6944
+ # Check the AccessMode enum for the list of possible values.
6920
6945
  # @!attribute [rw] architecture
6921
6946
  # @return [::String]
6922
6947
  # The architecture of the disk. Valid values are ARM64 or X86_64.
@@ -7088,6 +7113,21 @@ module Google
7088
7113
  extend ::Google::Protobuf::MessageExts::ClassMethods
7089
7114
  end
7090
7115
 
7116
+ # The access mode of the disk. - READ_WRITE_SINGLE: The default AccessMode, means the disk can be attached to single instance in RW mode. - READ_WRITE_MANY: The AccessMode means the disk can be attached to multiple instances in RW mode. - READ_ONLY_MANY: The AccessMode means the disk can be attached to multiple instances in RO mode. The AccessMode is only valid for Hyperdisk disk types.
7117
+ module AccessMode
7118
+ # A value indicating that the enum field is not set.
7119
+ UNDEFINED_ACCESS_MODE = 0
7120
+
7121
+ # The AccessMode means the disk can be attached to multiple instances in RO mode.
7122
+ READ_ONLY_MANY = 63_460_265
7123
+
7124
+ # The AccessMode means the disk can be attached to multiple instances in RW mode.
7125
+ READ_WRITE_MANY = 488_743_208
7126
+
7127
+ # The default AccessMode, means the disk can be attached to single instance in RW mode.
7128
+ READ_WRITE_SINGLE = 99_323_089
7129
+ end
7130
+
7091
7131
  # The architecture of the disk. Valid values are ARM64 or X86_64.
7092
7132
  module Architecture
7093
7133
  # A value indicating that the enum field is not set.
@@ -8098,7 +8138,7 @@ module Google
8098
8138
  # 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).
8099
8139
  # @!attribute [rw] action
8100
8140
  # @return [::String]
8101
- # The Action to perform when the client connection triggers the rule. Valid actions are "allow", "deny" and "goto_next".
8141
+ # The Action to perform when the client connection triggers the rule. Valid actions for firewall rules are: "allow", "deny", "apply_security_profile_group" and "goto_next". Valid actions for packet mirroring rules are: "mirror", "do_not_mirror" and "goto_next".
8102
8142
  # @!attribute [rw] description
8103
8143
  # @return [::String]
8104
8144
  # An optional description for this resource.
@@ -8114,13 +8154,13 @@ module Google
8114
8154
  # Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules.
8115
8155
  # @!attribute [rw] kind
8116
8156
  # @return [::String]
8117
- # [Output only] Type of the resource. Always compute#firewallPolicyRule for firewall policy rules
8157
+ # [Output only] Type of the resource. Returns compute#firewallPolicyRule for firewall rules and compute#packetMirroringRule for packet mirroring rules.
8118
8158
  # @!attribute [rw] match
8119
8159
  # @return [::Google::Cloud::Compute::V1::FirewallPolicyRuleMatcher]
8120
8160
  # A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
8121
8161
  # @!attribute [rw] priority
8122
8162
  # @return [::Integer]
8123
- # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.
8163
+ # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
8124
8164
  # @!attribute [rw] rule_name
8125
8165
  # @return [::String]
8126
8166
  # An optional name for the rule. This field is not a unique identifier and can be updated.
@@ -8129,7 +8169,7 @@ module Google
8129
8169
  # [Output Only] Calculation of the complexity of a single firewall policy rule.
8130
8170
  # @!attribute [rw] security_profile_group
8131
8171
  # @return [::String]
8132
- # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/\\{project}/locations/\\{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions.
8172
+ # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/\\{project}/locations/\\{location}/securityProfileGroups/my-security-profile-group Must be specified if action is one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for other actions.
8133
8173
  # @!attribute [rw] target_resources
8134
8174
  # @return [::Array<::String>]
8135
8175
  # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.
@@ -8886,7 +8926,7 @@ module Google
8886
8926
  # A request message for GlobalOperations.Get. See the method description for details.
8887
8927
  # @!attribute [rw] operation
8888
8928
  # @return [::String]
8889
- # Name of the Operations resource to return.
8929
+ # Name of the Operations resource to return, or its unique numeric identifier.
8890
8930
  # @!attribute [rw] project
8891
8931
  # @return [::String]
8892
8932
  # Project ID for this request.
@@ -8898,7 +8938,7 @@ module Google
8898
8938
  # A request message for GlobalOrganizationOperations.Get. See the method description for details.
8899
8939
  # @!attribute [rw] operation
8900
8940
  # @return [::String]
8901
- # Name of the Operations resource to return.
8941
+ # Name of the Operations resource to return, or its unique numeric identifier.
8902
8942
  # @!attribute [rw] parent_id
8903
8943
  # @return [::String]
8904
8944
  # Parent ID for this request.
@@ -10075,7 +10115,7 @@ module Google
10075
10115
  # A request message for RegionOperations.Get. See the method description for details.
10076
10116
  # @!attribute [rw] operation
10077
10117
  # @return [::String]
10078
- # Name of the Operations resource to return.
10118
+ # Name of the Operations resource to return, or its unique numeric identifier.
10079
10119
  # @!attribute [rw] project
10080
10120
  # @return [::String]
10081
10121
  # Project ID for this request.
@@ -10720,7 +10760,7 @@ module Google
10720
10760
  # A request message for ZoneOperations.Get. See the method description for details.
10721
10761
  # @!attribute [rw] operation
10722
10762
  # @return [::String]
10723
- # Name of the Operations resource to return.
10763
+ # Name of the Operations resource to return, or its unique numeric identifier.
10724
10764
  # @!attribute [rw] project
10725
10765
  # @return [::String]
10726
10766
  # Project ID for this request.
@@ -10898,6 +10938,8 @@ module Google
10898
10938
 
10899
10939
  SEV_SNP_CAPABLE = 426_919
10900
10940
 
10941
+ TDX_CAPABLE = 240_446_133
10942
+
10901
10943
  UEFI_COMPATIBLE = 195_865_408
10902
10944
 
10903
10945
  VIRTIO_SCSI_MULTIQUEUE = 201_597_069
@@ -11104,6 +11146,9 @@ module Google
11104
11146
  # @!attribute [rw] self_link
11105
11147
  # @return [::String]
11106
11148
  # [Output Only] Server-defined URL for the resource.
11149
+ # @!attribute [rw] source_regions
11150
+ # @return [::Array<::String>]
11151
+ # The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing.
11107
11152
  # @!attribute [rw] ssl_health_check
11108
11153
  # @return [::Google::Cloud::Compute::V1::SSLHealthCheck]
11109
11154
  # @!attribute [rw] tcp_health_check
@@ -11335,6 +11380,12 @@ module Google
11335
11380
  # @!attribute [rw] ip_address
11336
11381
  # @return [::String]
11337
11382
  # For target pool based Network Load Balancing, it indicates the forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip.
11383
+ # @!attribute [rw] ipv6_address
11384
+ # @return [::String]
11385
+ # @!attribute [rw] ipv6_health_state
11386
+ # @return [::String]
11387
+ # Health state of the IPv6 address of the instance.
11388
+ # Check the Ipv6HealthState enum for the list of possible values.
11338
11389
  # @!attribute [rw] port
11339
11390
  # @return [::Integer]
11340
11391
  # The named port of the instance group, not necessarily the port that is health-checked.
@@ -11357,6 +11408,9 @@ module Google
11357
11408
  end
11358
11409
 
11359
11410
  # Health state of the IPv4 address of the instance.
11411
+ # Additional supported values which may be not listed in the enum directly due to technical reasons:
11412
+ # HEALTHY
11413
+ # UNHEALTHY
11360
11414
  module HealthState
11361
11415
  # A value indicating that the enum field is not set.
11362
11416
  UNDEFINED_HEALTH_STATE = 0
@@ -11366,6 +11420,15 @@ module Google
11366
11420
  UNHEALTHY = 462_118_084
11367
11421
  end
11368
11422
 
11423
+ # Health state of the IPv6 address of the instance.
11424
+ # Additional supported values which may be not listed in the enum directly due to technical reasons:
11425
+ # HEALTHY
11426
+ # UNHEALTHY
11427
+ module Ipv6HealthState
11428
+ # A value indicating that the enum field is not set.
11429
+ UNDEFINED_IPV6_HEALTH_STATE = 0
11430
+ end
11431
+
11369
11432
  module WeightError
11370
11433
  # A value indicating that the enum field is not set.
11371
11434
  UNDEFINED_WEIGHT_ERROR = 0
@@ -11400,27 +11463,43 @@ module Google
11400
11463
  # @return [::String]
11401
11464
  # Health state of the network endpoint determined based on the health checks configured.
11402
11465
  # Check the HealthState enum for the list of possible values.
11466
+ # @!attribute [rw] ipv6_health_state
11467
+ # @return [::String]
11468
+ # Health state of the ipv6 network endpoint determined based on the health checks configured.
11469
+ # Check the Ipv6HealthState enum for the list of possible values.
11403
11470
  class HealthStatusForNetworkEndpoint
11404
11471
  include ::Google::Protobuf::MessageExts
11405
11472
  extend ::Google::Protobuf::MessageExts::ClassMethods
11406
11473
 
11407
11474
  # Health state of the network endpoint determined based on the health checks configured.
11475
+ # Additional supported values which may be not listed in the enum directly due to technical reasons:
11476
+ # DRAINING
11477
+ # HEALTHY
11478
+ # UNHEALTHY
11479
+ # UNKNOWN
11408
11480
  module HealthState
11409
11481
  # A value indicating that the enum field is not set.
11410
11482
  UNDEFINED_HEALTH_STATE = 0
11411
11483
 
11412
- # Endpoint is being drained.
11413
11484
  DRAINING = 480_455_402
11414
11485
 
11415
- # Endpoint is healthy.
11416
11486
  HEALTHY = 439_801_213
11417
11487
 
11418
- # Endpoint is unhealthy.
11419
11488
  UNHEALTHY = 462_118_084
11420
11489
 
11421
- # Health status of the endpoint is unknown.
11422
11490
  UNKNOWN = 433_141_802
11423
11491
  end
11492
+
11493
+ # Health state of the ipv6 network endpoint determined based on the health checks configured.
11494
+ # Additional supported values which may be not listed in the enum directly due to technical reasons:
11495
+ # DRAINING
11496
+ # HEALTHY
11497
+ # UNHEALTHY
11498
+ # UNKNOWN
11499
+ module Ipv6HealthState
11500
+ # A value indicating that the enum field is not set.
11501
+ UNDEFINED_IPV6_HEALTH_STATE = 0
11502
+ end
11424
11503
  end
11425
11504
 
11426
11505
  # Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.
@@ -11667,6 +11746,9 @@ module Google
11667
11746
  end
11668
11747
 
11669
11748
  # The HttpRouteRule setting specifies how to match an HTTP request and the corresponding routing action that load balancing proxies perform.
11749
+ # @!attribute [rw] custom_error_response_policy
11750
+ # @return [::Google::Cloud::Compute::V1::CustomErrorResponsePolicy]
11751
+ # customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the RouteRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with routeRules.routeAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the customErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the customErrorResponsePolicy is ignored and the response from the service is returned to the client. customErrorResponsePolicy is supported only for global external Application Load Balancers.
11670
11752
  # @!attribute [rw] description
11671
11753
  # @return [::String]
11672
11754
  # The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.
@@ -13645,7 +13727,7 @@ module Google
13645
13727
  # The autohealing policy for this managed instance group. You can specify only one value.
13646
13728
  # @!attribute [rw] base_instance_name
13647
13729
  # @return [::String]
13648
- # The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.
13730
+ # The base instance name is a prefix that you want to attach to the names of all VMs in a MIG. The maximum character length is 58 and the name must comply with RFC1035 format. When a VM is created in the group, the MIG appends a hyphen and a random four-character string to the base instance name. If you want the MIG to assign sequential numbers instead of a random string, then end the base instance name with a hyphen followed by one or more hash symbols. The hash symbols indicate the number of digits. For example, a base instance name of "vm-###" results in "vm-001" as a VM name. @pattern [a-z](([-a-z0-9]\\{0,57})|([-a-z0-9]\\{0,51}-#\\{1,10}(\\[[0-9]\\{1,10}\\])?))
13649
13731
  # @!attribute [rw] creation_timestamp
13650
13732
  # @return [::String]
13651
13733
  # [Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
@@ -13664,6 +13746,9 @@ module Google
13664
13746
  # @!attribute [rw] id
13665
13747
  # @return [::Integer]
13666
13748
  # [Output Only] A unique identifier for this resource type. The server generates this identifier.
13749
+ # @!attribute [rw] instance_flexibility_policy
13750
+ # @return [::Google::Cloud::Compute::V1::InstanceGroupManagerInstanceFlexibilityPolicy]
13751
+ # Instance flexibility allowing MIG to create VMs from multiple types of machines. Instance flexibility configuration on MIG overrides instance template configuration.
13667
13752
  # @!attribute [rw] instance_group
13668
13753
  # @return [::String]
13669
13754
  # [Output Only] The URL of the Instance Group resource.
@@ -13685,10 +13770,16 @@ module Google
13685
13770
  # The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.
13686
13771
  # @!attribute [rw] named_ports
13687
13772
  # @return [::Array<::Google::Cloud::Compute::V1::NamedPort>]
13688
- # Named ports configured for the Instance Groups complementary to this Instance Group Manager.
13773
+ # [Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager.
13689
13774
  # @!attribute [rw] region
13690
13775
  # @return [::String]
13691
13776
  # [Output Only] The URL of the region where the managed instance group resides (for regional resources).
13777
+ # @!attribute [rw] satisfies_pzi
13778
+ # @return [::Boolean]
13779
+ # [Output Only] Reserved for future use.
13780
+ # @!attribute [rw] satisfies_pzs
13781
+ # @return [::Boolean]
13782
+ # [Output Only] Reserved for future use.
13692
13783
  # @!attribute [rw] self_link
13693
13784
  # @return [::String]
13694
13785
  # [Output Only] The URL for this managed instance group. The server defines this URL.
@@ -13828,6 +13919,34 @@ module Google
13828
13919
  extend ::Google::Protobuf::MessageExts::ClassMethods
13829
13920
  end
13830
13921
 
13922
+ # @!attribute [rw] instance_selections
13923
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Compute::V1::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection}]
13924
+ # Named instance selections configuring properties that the group will use when creating new VMs.
13925
+ class InstanceGroupManagerInstanceFlexibilityPolicy
13926
+ include ::Google::Protobuf::MessageExts
13927
+ extend ::Google::Protobuf::MessageExts::ClassMethods
13928
+
13929
+ # @!attribute [rw] key
13930
+ # @return [::String]
13931
+ # @!attribute [rw] value
13932
+ # @return [::Google::Cloud::Compute::V1::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection]
13933
+ class InstanceSelectionsEntry
13934
+ include ::Google::Protobuf::MessageExts
13935
+ extend ::Google::Protobuf::MessageExts::ClassMethods
13936
+ end
13937
+ end
13938
+
13939
+ # @!attribute [rw] machine_types
13940
+ # @return [::Array<::String>]
13941
+ # Full machine-type names, e.g. "n1-standard-16".
13942
+ # @!attribute [rw] rank
13943
+ # @return [::Integer]
13944
+ # Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference.
13945
+ class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection
13946
+ include ::Google::Protobuf::MessageExts
13947
+ extend ::Google::Protobuf::MessageExts::ClassMethods
13948
+ end
13949
+
13831
13950
  # @!attribute [rw] default_action_on_failure
13832
13951
  # @return [::String]
13833
13952
  # The action that a MIG performs on a failed or an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM.
@@ -13908,7 +14027,7 @@ module Google
13908
14027
  # Requested run duration for instances that will be created by this request. At the end of the run duration instance will be deleted.
13909
14028
  # @!attribute [rw] resize_by
13910
14029
  # @return [::Integer]
13911
- # The number of instances to be created by this resize request. The group's target size will be increased by this number.
14030
+ # The number of instances to be created by this resize request. The group's target size will be increased by this number. This field cannot be used together with 'instances'.
13912
14031
  # @!attribute [rw] self_link
13913
14032
  # @return [::String]
13914
14033
  # [Output Only] The URL for this resize request. The server defines this URL.
@@ -14596,7 +14715,7 @@ module Google
14596
14715
  # Labels to apply to instances that are created from these properties.
14597
14716
  # @!attribute [rw] machine_type
14598
14717
  # @return [::String]
14599
- # The machine type to use for instances that are created from these properties.
14718
+ # The machine type to use for instances that are created from these properties. This field only accepts a machine type name, for example `n2-standard-4`. If you use the machine type full or partial URL, for example `projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4`, the request will result in an `INTERNAL_ERROR`.
14600
14719
  # @!attribute [rw] metadata
14601
14720
  # @return [::Google::Cloud::Compute::V1::Metadata]
14602
14721
  # The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information.
@@ -14945,7 +15064,7 @@ module Google
14945
15064
 
14946
15065
  # @!attribute [rw] firewall_policys
14947
15066
  # @return [::Array<::Google::Cloud::Compute::V1::InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
14948
- # Effective firewalls from firewall policies.
15067
+ # [Output Only] Effective firewalls from firewall policies.
14949
15068
  # @!attribute [rw] firewalls
14950
15069
  # @return [::Array<::Google::Cloud::Compute::V1::Firewall>]
14951
15070
  # Effective firewalls on the instance.
@@ -14960,9 +15079,12 @@ module Google
14960
15079
  # @!attribute [rw] name
14961
15080
  # @return [::String]
14962
15081
  # [Output Only] The name of the firewall policy.
15082
+ # @!attribute [rw] priority
15083
+ # @return [::Integer]
15084
+ # [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.
14963
15085
  # @!attribute [rw] rules
14964
15086
  # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
14965
- # The rules that apply to the network.
15087
+ # [Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules.
14966
15088
  # @!attribute [rw] short_name
14967
15089
  # @return [::String]
14968
15090
  # [Output Only] The short name of the firewall policy.
@@ -14985,6 +15107,10 @@ module Google
14985
15107
 
14986
15108
  NETWORK_REGIONAL = 190_804_272
14987
15109
 
15110
+ SYSTEM_GLOBAL = 60_099_507
15111
+
15112
+ SYSTEM_REGIONAL = 161_777_199
15113
+
14988
15114
  UNSPECIFIED = 526_786_327
14989
15115
  end
14990
15116
  end
@@ -15298,7 +15424,7 @@ module Google
15298
15424
  # 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.
15299
15425
  # @!attribute [rw] available_features
15300
15426
  # @return [::Array<::String>]
15301
- # [Output only] List of features available for this Interconnect connection, which can take one of the following values: - MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.
15427
+ # [Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.
15302
15428
  # Check the AvailableFeatures enum for the list of possible values.
15303
15429
  # @!attribute [rw] circuit_infos
15304
15430
  # @return [::Array<::Google::Cloud::Compute::V1::InterconnectCircuitInfo>]
@@ -15374,7 +15500,7 @@ module Google
15374
15500
  # Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to.
15375
15501
  # @!attribute [rw] requested_features
15376
15502
  # @return [::Array<::String>]
15377
- # Optional. List of features requested for this Interconnect connection, which can take one of the following values: - MACSEC If specified then the connection is created on MACsec capable hardware ports. If not specified, the default value is false, which allocates non-MACsec capable ports first if available. This parameter can be provided only with Interconnect INSERT. It isn't valid for Interconnect PATCH.
15503
+ # Optional. List of features requested for this Interconnect connection, which can take one of the following values: - IF_MACSEC If specified then the connection is created on MACsec capable hardware ports. If not specified, the default value is false, which allocates non-MACsec capable ports first if available. This parameter can be provided only with Interconnect INSERT. It isn't valid for Interconnect PATCH.
15378
15504
  # Check the RequestedFeatures enum for the list of possible values.
15379
15505
  # @!attribute [rw] requested_link_count
15380
15506
  # @return [::Integer]
@@ -19897,98 +20023,6 @@ module Google
19897
20023
  extend ::Google::Protobuf::MessageExts::ClassMethods
19898
20024
  end
19899
20025
 
19900
- # This is deprecated and has no effect. Do not use.
19901
- # @!attribute [rw] cloud_audit
19902
- # @return [::Google::Cloud::Compute::V1::LogConfigCloudAuditOptions]
19903
- # This is deprecated and has no effect. Do not use.
19904
- # @!attribute [rw] counter
19905
- # @return [::Google::Cloud::Compute::V1::LogConfigCounterOptions]
19906
- # This is deprecated and has no effect. Do not use.
19907
- # @!attribute [rw] data_access
19908
- # @return [::Google::Cloud::Compute::V1::LogConfigDataAccessOptions]
19909
- # This is deprecated and has no effect. Do not use.
19910
- class LogConfig
19911
- include ::Google::Protobuf::MessageExts
19912
- extend ::Google::Protobuf::MessageExts::ClassMethods
19913
- end
19914
-
19915
- # This is deprecated and has no effect. Do not use.
19916
- # @!attribute [rw] authorization_logging_options
19917
- # @return [::Google::Cloud::Compute::V1::AuthorizationLoggingOptions]
19918
- # This is deprecated and has no effect. Do not use.
19919
- # @!attribute [rw] log_name
19920
- # @return [::String]
19921
- # This is deprecated and has no effect. Do not use.
19922
- # Check the LogName enum for the list of possible values.
19923
- class LogConfigCloudAuditOptions
19924
- include ::Google::Protobuf::MessageExts
19925
- extend ::Google::Protobuf::MessageExts::ClassMethods
19926
-
19927
- # This is deprecated and has no effect. Do not use.
19928
- module LogName
19929
- # A value indicating that the enum field is not set.
19930
- UNDEFINED_LOG_NAME = 0
19931
-
19932
- # This is deprecated and has no effect. Do not use.
19933
- ADMIN_ACTIVITY = 427_503_135
19934
-
19935
- # This is deprecated and has no effect. Do not use.
19936
- DATA_ACCESS = 238_070_681
19937
-
19938
- # This is deprecated and has no effect. Do not use.
19939
- UNSPECIFIED_LOG_NAME = 410_515_182
19940
- end
19941
- end
19942
-
19943
- # This is deprecated and has no effect. Do not use.
19944
- # @!attribute [rw] custom_fields
19945
- # @return [::Array<::Google::Cloud::Compute::V1::LogConfigCounterOptionsCustomField>]
19946
- # This is deprecated and has no effect. Do not use.
19947
- # @!attribute [rw] field
19948
- # @return [::String]
19949
- # This is deprecated and has no effect. Do not use.
19950
- # @!attribute [rw] metric
19951
- # @return [::String]
19952
- # This is deprecated and has no effect. Do not use.
19953
- class LogConfigCounterOptions
19954
- include ::Google::Protobuf::MessageExts
19955
- extend ::Google::Protobuf::MessageExts::ClassMethods
19956
- end
19957
-
19958
- # This is deprecated and has no effect. Do not use.
19959
- # @!attribute [rw] name
19960
- # @return [::String]
19961
- # This is deprecated and has no effect. Do not use.
19962
- # @!attribute [rw] value
19963
- # @return [::String]
19964
- # This is deprecated and has no effect. Do not use.
19965
- class LogConfigCounterOptionsCustomField
19966
- include ::Google::Protobuf::MessageExts
19967
- extend ::Google::Protobuf::MessageExts::ClassMethods
19968
- end
19969
-
19970
- # This is deprecated and has no effect. Do not use.
19971
- # @!attribute [rw] log_mode
19972
- # @return [::String]
19973
- # This is deprecated and has no effect. Do not use.
19974
- # Check the LogMode enum for the list of possible values.
19975
- class LogConfigDataAccessOptions
19976
- include ::Google::Protobuf::MessageExts
19977
- extend ::Google::Protobuf::MessageExts::ClassMethods
19978
-
19979
- # This is deprecated and has no effect. Do not use.
19980
- module LogMode
19981
- # A value indicating that the enum field is not set.
19982
- UNDEFINED_LOG_MODE = 0
19983
-
19984
- # This is deprecated and has no effect. Do not use.
19985
- LOG_FAIL_CLOSED = 360_469_778
19986
-
19987
- # This is deprecated and has no effect. Do not use.
19988
- LOG_MODE_UNSPECIFIED = 88_160_822
19989
- end
19990
- end
19991
-
19992
20026
  # Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images.
19993
20027
  # @!attribute [rw] creation_timestamp
19994
20028
  # @return [::String]
@@ -20094,6 +20128,10 @@ module Google
20094
20128
  # @!attribute [rw] accelerators
20095
20129
  # @return [::Array<::Google::Cloud::Compute::V1::Accelerators>]
20096
20130
  # [Output Only] A list of accelerator configurations assigned to this machine type.
20131
+ # @!attribute [rw] architecture
20132
+ # @return [::String]
20133
+ # [Output Only] The architecture of the machine type.
20134
+ # Check the Architecture enum for the list of possible values.
20097
20135
  # @!attribute [rw] creation_timestamp
20098
20136
  # @return [::String]
20099
20137
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -20142,6 +20180,21 @@ module Google
20142
20180
  class MachineType
20143
20181
  include ::Google::Protobuf::MessageExts
20144
20182
  extend ::Google::Protobuf::MessageExts::ClassMethods
20183
+
20184
+ # [Output Only] The architecture of the machine type.
20185
+ module Architecture
20186
+ # A value indicating that the enum field is not set.
20187
+ UNDEFINED_ARCHITECTURE = 0
20188
+
20189
+ # Default value indicating Architecture is not set.
20190
+ ARCHITECTURE_UNSPECIFIED = 394_750_507
20191
+
20192
+ # Machines with architecture ARM64
20193
+ ARM64 = 62_547_450
20194
+
20195
+ # Machines with architecture X86_64
20196
+ X86_64 = 425_300_551
20197
+ end
20145
20198
  end
20146
20199
 
20147
20200
  # @!attribute [rw] id
@@ -20244,6 +20297,9 @@ module Google
20244
20297
  # @!attribute [rw] preserved_state_from_policy
20245
20298
  # @return [::Google::Cloud::Compute::V1::PreservedState]
20246
20299
  # [Output Only] Preserved state generated based on stateful policy for this instance.
20300
+ # @!attribute [rw] properties_from_flexibility_policy
20301
+ # @return [::Google::Cloud::Compute::V1::ManagedInstancePropertiesFromFlexibilityPolicy]
20302
+ # [Output Only] Instance properties selected for this instance resulting from InstanceFlexibilityPolicy.
20247
20303
  # @!attribute [rw] version
20248
20304
  # @return [::Google::Cloud::Compute::V1::ManagedInstanceVersion]
20249
20305
  # [Output Only] Intended version of this instance.
@@ -20372,6 +20428,14 @@ module Google
20372
20428
  extend ::Google::Protobuf::MessageExts::ClassMethods
20373
20429
  end
20374
20430
 
20431
+ # @!attribute [rw] machine_type
20432
+ # @return [::String]
20433
+ # The machine type to be used for this instance.
20434
+ class ManagedInstancePropertiesFromFlexibilityPolicy
20435
+ include ::Google::Protobuf::MessageExts
20436
+ extend ::Google::Protobuf::MessageExts::ClassMethods
20437
+ end
20438
+
20375
20439
  # @!attribute [rw] instance_template
20376
20440
  # @return [::String]
20377
20441
  # [Output Only] The intended template of the instance. This field is empty when current_action is one of { DELETING, ABANDONING }.
@@ -20929,6 +20993,9 @@ module Google
20929
20993
  # @!attribute [rw] annotations
20930
20994
  # @return [::Google::Protobuf::Map{::String => ::String}]
20931
20995
  # Metadata defined as annotations on the network endpoint.
20996
+ # @!attribute [rw] client_destination_port
20997
+ # @return [::Integer]
20998
+ # Represents the port number to which PSC consumer sends packets. Only valid for network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.
20932
20999
  # @!attribute [rw] fqdn
20933
21000
  # @return [::String]
20934
21001
  # Optional fully qualified domain name of network endpoint. This can only be specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
@@ -20938,6 +21005,9 @@ module Google
20938
21005
  # @!attribute [rw] ip_address
20939
21006
  # @return [::String]
20940
21007
  # Optional IPv4 address of network endpoint. The IP address must belong to a VM in Compute Engine (either the primary IP or as part of an aliased IP range). If the IP address is not specified, then the primary IP address for the VM instance in the network that the network endpoint group belongs to will be used. This field is redundant and need not be set for network endpoints of type GCE_VM_IP. If set, it must be set to the primary internal IP address of the attached VM instance that matches the subnetwork of the NEG. The primary internal IP address from any NIC of a multi-NIC VM instance can be added to a NEG as long as it matches the NEG subnetwork.
21008
+ # @!attribute [rw] ipv6_address
21009
+ # @return [::String]
21010
+ # Optional IPv6 address of network endpoint.
20941
21011
  # @!attribute [rw] port
20942
21012
  # @return [::Integer]
20943
21013
  # Optional port number of network endpoint. If not specified, the defaultPort for the network endpoint group will be used. This field can not be set for network endpoints of type GCE_VM_IP.
@@ -21037,6 +21107,9 @@ module Google
21037
21107
  # The network endpoint is represented by IP address and port pair.
21038
21108
  GCE_VM_IP_PORT = 501_838_375
21039
21109
 
21110
+ # The network endpoint is represented by an IP, Port and Client Destination Port.
21111
+ GCE_VM_IP_PORTMAP = 22_819_253
21112
+
21040
21113
  # The network endpoint is represented by fully qualified domain name and port.
21041
21114
  INTERNET_FQDN_PORT = 404_154_477
21042
21115
 
@@ -21158,6 +21231,9 @@ module Google
21158
21231
  # @!attribute [rw] consumer_psc_address
21159
21232
  # @return [::String]
21160
21233
  # [Output Only] Address allocated from given subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.
21234
+ # @!attribute [rw] producer_port
21235
+ # @return [::Integer]
21236
+ # The psc producer port is used to connect PSC NEG with specific port on the PSC Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type
21161
21237
  # @!attribute [rw] psc_connection_id
21162
21238
  # @return [::Integer]
21163
21239
  # [Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.
@@ -21350,6 +21426,9 @@ module Google
21350
21426
  # GVNIC
21351
21427
  GVNIC = 68_209_305
21352
21428
 
21429
+ # IDPF
21430
+ IDPF = 2_242_641
21431
+
21353
21432
  # No type specified.
21354
21433
  UNSPECIFIED_NIC_TYPE = 67_411_801
21355
21434
 
@@ -21365,9 +21444,12 @@ module Google
21365
21444
  # The network interface can have both IPv4 and IPv6 addresses.
21366
21445
  IPV4_IPV6 = 22_197_249
21367
21446
 
21368
- # The network interface will be assigned IPv4 address.
21447
+ # The network interface will only be assigned IPv4 addresses.
21369
21448
  IPV4_ONLY = 22_373_798
21370
21449
 
21450
+ # The network interface will only be assigned IPv6 addresses.
21451
+ IPV6_ONLY = 79_632_100
21452
+
21371
21453
  UNSPECIFIED_STACK_TYPE = 298_084_569
21372
21454
  end
21373
21455
  end
@@ -21521,7 +21603,7 @@ module Google
21521
21603
 
21522
21604
  # @!attribute [rw] firewall_policys
21523
21605
  # @return [::Array<::Google::Cloud::Compute::V1::NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
21524
- # Effective firewalls from firewall policy.
21606
+ # [Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well.
21525
21607
  # @!attribute [rw] firewalls
21526
21608
  # @return [::Array<::Google::Cloud::Compute::V1::Firewall>]
21527
21609
  # Effective firewalls on the network.
@@ -21536,9 +21618,12 @@ module Google
21536
21618
  # @!attribute [rw] name
21537
21619
  # @return [::String]
21538
21620
  # [Output Only] The name of the firewall policy.
21621
+ # @!attribute [rw] priority
21622
+ # @return [::Integer]
21623
+ # [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.
21539
21624
  # @!attribute [rw] rules
21540
21625
  # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
21541
- # The rules that apply to the network.
21626
+ # [Output Only] The rules that apply to the network.
21542
21627
  # @!attribute [rw] short_name
21543
21628
  # @return [::String]
21544
21629
  # [Output Only] The short name of the firewall policy.
@@ -21559,6 +21644,8 @@ module Google
21559
21644
 
21560
21645
  NETWORK = 413_984_270
21561
21646
 
21647
+ SYSTEM = 313_484_847
21648
+
21562
21649
  UNSPECIFIED = 526_786_327
21563
21650
  end
21564
21651
  end
@@ -22360,7 +22447,7 @@ module Google
22360
22447
  # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
22361
22448
  # @!attribute [rw] target_link
22362
22449
  # @return [::String]
22363
- # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
22450
+ # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.
22364
22451
  # @!attribute [rw] user
22365
22452
  # @return [::String]
22366
22453
  # [Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
@@ -23786,6 +23873,9 @@ module Google
23786
23873
  end
23787
23874
 
23788
23875
  # A matcher for the path portion of the URL. The BackendService from the longest-matched rule will serve the URL. If no rule was matched, the default service is used.
23876
+ # @!attribute [rw] default_custom_error_response_policy
23877
+ # @return [::Google::Cloud::Compute::V1::CustomErrorResponsePolicy]
23878
+ # defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
23789
23879
  # @!attribute [rw] default_route_action
23790
23880
  # @return [::Google::Cloud::Compute::V1::HttpRouteAction]
23791
23881
  # defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. If defaultRouteAction is specified, don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices is specified, don't set defaultService. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction.
@@ -23816,6 +23906,9 @@ module Google
23816
23906
  end
23817
23907
 
23818
23908
  # A path-matching rule for a URL. If matched, will use the specified BackendService to handle the traffic arriving at this URL.
23909
+ # @!attribute [rw] custom_error_response_policy
23910
+ # @return [::Google::Cloud::Compute::V1::CustomErrorResponsePolicy]
23911
+ # customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. customErrorResponsePolicy is supported only for global external Application Load Balancers.
23819
23912
  # @!attribute [rw] paths
23820
23913
  # @return [::Array<::String>]
23821
23914
  # The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.
@@ -23926,9 +24019,6 @@ module Google
23926
24019
  # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
23927
24020
  # @!attribute [rw] iam_owned
23928
24021
  # @return [::Boolean]
23929
- # @!attribute [rw] rules
23930
- # @return [::Array<::Google::Cloud::Compute::V1::Rule>]
23931
- # This is deprecated and has no effect. Do not use.
23932
24022
  # @!attribute [rw] version
23933
24023
  # @return [::Integer]
23934
24024
  # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -25717,7 +25807,7 @@ module Google
25717
25807
 
25718
25808
  # @!attribute [rw] firewall_policys
25719
25809
  # @return [::Array<::Google::Cloud::Compute::V1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
25720
- # Effective firewalls from firewall policy.
25810
+ # [Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network.
25721
25811
  # @!attribute [rw] firewalls
25722
25812
  # @return [::Array<::Google::Cloud::Compute::V1::Firewall>]
25723
25813
  # Effective firewalls on the network.
@@ -25734,7 +25824,7 @@ module Google
25734
25824
  # [Output Only] The name of the firewall policy.
25735
25825
  # @!attribute [rw] rules
25736
25826
  # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyRule>]
25737
- # The rules that apply to the network.
25827
+ # [Output only] The rules that apply to the network.
25738
25828
  # @!attribute [rw] type
25739
25829
  # @return [::String]
25740
25830
  # [Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL.
@@ -26147,7 +26237,7 @@ module Google
26147
26237
  # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation.
26148
26238
  # @!attribute [rw] status
26149
26239
  # @return [::String]
26150
- # [Output Only] The status of the reservation.
26240
+ # [Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress.
26151
26241
  # Check the Status enum for the list of possible values.
26152
26242
  # @!attribute [rw] zone
26153
26243
  # @return [::String]
@@ -26165,23 +26255,23 @@ module Google
26165
26255
  extend ::Google::Protobuf::MessageExts::ClassMethods
26166
26256
  end
26167
26257
 
26168
- # [Output Only] The status of the reservation.
26258
+ # [Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress.
26169
26259
  module Status
26170
26260
  # A value indicating that the enum field is not set.
26171
26261
  UNDEFINED_STATUS = 0
26172
26262
 
26173
- # Resources are being allocated for the reservation.
26263
+ # Reservation resources are being allocated.
26174
26264
  CREATING = 455_564_985
26175
26265
 
26176
- # Reservation is currently being deleted.
26266
+ # Reservation deletion is in progress.
26177
26267
  DELETING = 528_602_024
26178
26268
 
26179
26269
  INVALID = 530_283_991
26180
26270
 
26181
- # Reservation has allocated all its resources.
26271
+ # Reservation resources have been allocated, and the reservation is ready for use.
26182
26272
  READY = 77_848_963
26183
26273
 
26184
- # Reservation is currently being resized.
26274
+ # Reservation update is in progress.
26185
26275
  UPDATING = 494_614_342
26186
26276
  end
26187
26277
  end
@@ -26839,6 +26929,8 @@ module Google
26839
26929
  # @!attribute [rw] physical_host
26840
26930
  # @return [::String]
26841
26931
  # [Output Only] An opaque ID of the host on which the VM is running.
26932
+ # @!attribute [rw] scheduling
26933
+ # @return [::Google::Cloud::Compute::V1::ResourceStatusScheduling]
26842
26934
  # @!attribute [rw] upcoming_maintenance
26843
26935
  # @return [::Google::Cloud::Compute::V1::UpcomingMaintenance]
26844
26936
  class ResourceStatus
@@ -26846,6 +26938,14 @@ module Google
26846
26938
  extend ::Google::Protobuf::MessageExts::ClassMethods
26847
26939
  end
26848
26940
 
26941
+ # @!attribute [rw] availability_domain
26942
+ # @return [::Integer]
26943
+ # Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
26944
+ class ResourceStatusScheduling
26945
+ include ::Google::Protobuf::MessageExts
26946
+ extend ::Google::Protobuf::MessageExts::ClassMethods
26947
+ end
26948
+
26849
26949
  # A request message for Instances.Resume. See the method description for details.
26850
26950
  # @!attribute [rw] instance
26851
26951
  # @return [::String]
@@ -26897,7 +26997,7 @@ module Google
26897
26997
  # [Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets.
26898
26998
  # @!attribute [rw] next_hop_ilb
26899
26999
  # @return [::String]
26900
- # 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
27000
+ # 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: - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule If an IP address is provided, must specify an IPv4 address in dot-decimal notation or an IPv6 address in RFC 4291 format. For example, the following are all valid IP addresses: - 10.128.0.56 - 2001:db8::2d9:51:0:0 - 2001:db8:0:0:2d9:51:0:0 IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.
26901
27001
  # @!attribute [rw] next_hop_instance
26902
27002
  # @return [::String]
26903
27003
  # The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/
@@ -27586,7 +27686,7 @@ module Google
27586
27686
  # An optional description of this rule.
27587
27687
  # @!attribute [rw] match
27588
27688
  # @return [::String]
27589
- # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
27689
+ # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: `inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')` `destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'` The following example is a valid match expression for private NAT: `nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'`
27590
27690
  # @!attribute [rw] rule_number
27591
27691
  # @return [::Integer]
27592
27692
  # An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
@@ -27645,10 +27745,10 @@ module Google
27645
27745
 
27646
27746
  # @!attribute [rw] best_routes
27647
27747
  # @return [::Array<::Google::Cloud::Compute::V1::Route>]
27648
- # Best routes for this router's network.
27748
+ # A list of the best dynamic routes for this Cloud Router's Virtual Private Cloud (VPC) network in the same region as this Cloud Router. Lists all of the best routes per prefix that are programmed into this region's VPC data plane. When global dynamic routing mode is turned on in the VPC network, this list can include cross-region dynamic routes from Cloud Routers in other regions.
27649
27749
  # @!attribute [rw] best_routes_for_router
27650
27750
  # @return [::Array<::Google::Cloud::Compute::V1::Route>]
27651
- # Best routes learned by this router.
27751
+ # A list of the best BGP routes learned by this Cloud Router. It is possible that routes listed might not be programmed into the data plane, if the Google Cloud control plane finds a more optimal route for a prefix than a route learned by this Cloud Router.
27652
27752
  # @!attribute [rw] bgp_peer_status
27653
27753
  # @return [::Array<::Google::Cloud::Compute::V1::RouterStatusBgpPeerStatus>]
27654
27754
  # @!attribute [rw] nat_status
@@ -27839,58 +27939,6 @@ module Google
27839
27939
  extend ::Google::Protobuf::MessageExts::ClassMethods
27840
27940
  end
27841
27941
 
27842
- # This is deprecated and has no effect. Do not use.
27843
- # @!attribute [rw] action
27844
- # @return [::String]
27845
- # This is deprecated and has no effect. Do not use.
27846
- # Check the Action enum for the list of possible values.
27847
- # @!attribute [rw] conditions
27848
- # @return [::Array<::Google::Cloud::Compute::V1::Condition>]
27849
- # This is deprecated and has no effect. Do not use.
27850
- # @!attribute [rw] description
27851
- # @return [::String]
27852
- # This is deprecated and has no effect. Do not use.
27853
- # @!attribute [rw] ins
27854
- # @return [::Array<::String>]
27855
- # This is deprecated and has no effect. Do not use.
27856
- # @!attribute [rw] log_configs
27857
- # @return [::Array<::Google::Cloud::Compute::V1::LogConfig>]
27858
- # This is deprecated and has no effect. Do not use.
27859
- # @!attribute [rw] not_ins
27860
- # @return [::Array<::String>]
27861
- # This is deprecated and has no effect. Do not use.
27862
- # @!attribute [rw] permissions
27863
- # @return [::Array<::String>]
27864
- # This is deprecated and has no effect. Do not use.
27865
- class Rule
27866
- include ::Google::Protobuf::MessageExts
27867
- extend ::Google::Protobuf::MessageExts::ClassMethods
27868
-
27869
- # This is deprecated and has no effect. Do not use.
27870
- module Action
27871
- # A value indicating that the enum field is not set.
27872
- UNDEFINED_ACTION = 0
27873
-
27874
- # This is deprecated and has no effect. Do not use.
27875
- ALLOW = 62_368_553
27876
-
27877
- # This is deprecated and has no effect. Do not use.
27878
- ALLOW_WITH_LOG = 76_034_177
27879
-
27880
- # This is deprecated and has no effect. Do not use.
27881
- DENY = 2_094_604
27882
-
27883
- # This is deprecated and has no effect. Do not use.
27884
- DENY_WITH_LOG = 351_433_982
27885
-
27886
- # This is deprecated and has no effect. Do not use.
27887
- LOG = 75_556
27888
-
27889
- # This is deprecated and has no effect. Do not use.
27890
- NO_ACTION = 260_643_444
27891
- end
27892
- end
27893
-
27894
27942
  # @!attribute [rw] port
27895
27943
  # @return [::Integer]
27896
27944
  # The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.
@@ -28126,6 +28174,9 @@ module Google
28126
28174
  # @!attribute [rw] automatic_restart
28127
28175
  # @return [::Boolean]
28128
28176
  # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
28177
+ # @!attribute [rw] availability_domain
28178
+ # @return [::Integer]
28179
+ # Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
28129
28180
  # @!attribute [rw] instance_termination_action
28130
28181
  # @return [::String]
28131
28182
  # Specifies the termination action for the instance.
@@ -28136,6 +28187,9 @@ module Google
28136
28187
  # @!attribute [rw] location_hint
28137
28188
  # @return [::String]
28138
28189
  # 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.
28190
+ # @!attribute [rw] max_run_duration
28191
+ # @return [::Google::Cloud::Compute::V1::Duration]
28192
+ # Specifies the max run duration for the given instance. If specified, the instance termination action will be performed at the end of the run duration.
28139
28193
  # @!attribute [rw] min_node_cpus
28140
28194
  # @return [::Integer]
28141
28195
  # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
@@ -28146,6 +28200,8 @@ module Google
28146
28200
  # @return [::String]
28147
28201
  # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Set VM host maintenance policy.
28148
28202
  # Check the OnHostMaintenance enum for the list of possible values.
28203
+ # @!attribute [rw] on_instance_stop_action
28204
+ # @return [::Google::Cloud::Compute::V1::SchedulingOnInstanceStopAction]
28149
28205
  # @!attribute [rw] preemptible
28150
28206
  # @return [::Boolean]
28151
28207
  # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
@@ -28153,6 +28209,9 @@ module Google
28153
28209
  # @return [::String]
28154
28210
  # Specifies the provisioning model of the instance.
28155
28211
  # Check the ProvisioningModel enum for the list of possible values.
28212
+ # @!attribute [rw] termination_time
28213
+ # @return [::String]
28214
+ # Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
28156
28215
  class Scheduling
28157
28216
  include ::Google::Protobuf::MessageExts
28158
28217
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -28227,6 +28286,15 @@ module Google
28227
28286
  end
28228
28287
  end
28229
28288
 
28289
+ # Defines the behaviour for instances with the instance_termination_action STOP.
28290
+ # @!attribute [rw] discard_local_ssd
28291
+ # @return [::Boolean]
28292
+ # If true, the contents of any attached Local SSD disks will be discarded else, the Local SSD data will be preserved when the instance is stopped at the end of the run duration/termination time.
28293
+ class SchedulingOnInstanceStopAction
28294
+ include ::Google::Protobuf::MessageExts
28295
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28296
+ end
28297
+
28230
28298
  # @!attribute [rw] disk_gb
28231
28299
  # @return [::Integer]
28232
28300
  # Size of the scratch disk, defined in GB.
@@ -28427,14 +28495,51 @@ module Google
28427
28495
  # @return [::Float]
28428
28496
  # @!attribute [rw] auto_deploy_load_threshold
28429
28497
  # @return [::Float]
28498
+ # @!attribute [rw] detection_absolute_qps
28499
+ # @return [::Float]
28500
+ # @!attribute [rw] detection_load_threshold
28501
+ # @return [::Float]
28502
+ # @!attribute [rw] detection_relative_to_baseline_qps
28503
+ # @return [::Float]
28430
28504
  # @!attribute [rw] name
28431
28505
  # @return [::String]
28432
28506
  # The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the security policy.
28507
+ # @!attribute [rw] traffic_granularity_configs
28508
+ # @return [::Array<::Google::Cloud::Compute::V1::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig>]
28509
+ # Configuration options for enabling Adaptive Protection to operate on specified granular traffic units.
28433
28510
  class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig
28434
28511
  include ::Google::Protobuf::MessageExts
28435
28512
  extend ::Google::Protobuf::MessageExts::ClassMethods
28436
28513
  end
28437
28514
 
28515
+ # Configurations to specifc granular traffic units processed by Adaptive Protection.
28516
+ # @!attribute [rw] enable_each_unique_value
28517
+ # @return [::Boolean]
28518
+ # If enabled, traffic matching each unique value for the specified type constitutes a separate traffic unit. It can only be set to true if `value` is empty.
28519
+ # @!attribute [rw] type
28520
+ # @return [::String]
28521
+ # Type of this configuration.
28522
+ # Check the Type enum for the list of possible values.
28523
+ # @!attribute [rw] value
28524
+ # @return [::String]
28525
+ # Requests that match this value constitute a granular traffic unit.
28526
+ class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig
28527
+ include ::Google::Protobuf::MessageExts
28528
+ extend ::Google::Protobuf::MessageExts::ClassMethods
28529
+
28530
+ # Type of this configuration.
28531
+ module Type
28532
+ # A value indicating that the enum field is not set.
28533
+ UNDEFINED_TYPE = 0
28534
+
28535
+ HTTP_HEADER_HOST = 374_321_891
28536
+
28537
+ HTTP_PATH = 311_503_228
28538
+
28539
+ UNSPECIFIED_TYPE = 53_933_922
28540
+ end
28541
+ end
28542
+
28438
28543
  # @!attribute [rw] json_custom_config
28439
28544
  # @return [::Google::Cloud::Compute::V1::SecurityPolicyAdvancedOptionsConfigJsonCustomConfig]
28440
28545
  # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD.
@@ -29052,6 +29157,9 @@ module Google
29052
29157
  # @!attribute [rw] producer_forwarding_rule
29053
29158
  # @return [::String]
29054
29159
  # The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment.
29160
+ # @!attribute [rw] propagated_connection_limit
29161
+ # @return [::Integer]
29162
+ # The number of consumer spokes that connected Private Service Connect endpoints can be propagated to through Network Connectivity Center. This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer. If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list. If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint. If unspecified, the default propagated connection limit is 250.
29055
29163
  # @!attribute [rw] psc_service_attachment_id
29056
29164
  # @return [::Google::Cloud::Compute::V1::Uint128]
29057
29165
  # [Output Only] An 128-bit global unique ID of the PSC service attachment.
@@ -29127,6 +29235,9 @@ module Google
29127
29235
  # @!attribute [rw] endpoint
29128
29236
  # @return [::String]
29129
29237
  # The url of a connected endpoint.
29238
+ # @!attribute [rw] propagated_connection_count
29239
+ # @return [::Integer]
29240
+ # The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.
29130
29241
  # @!attribute [rw] psc_connection_id
29131
29242
  # @return [::Integer]
29132
29243
  # The PSC connection id of the connected endpoint.
@@ -32139,7 +32250,7 @@ module Google
32139
32250
  # Check the PerformanceProvisioningType enum for the list of possible values.
32140
32251
  # @!attribute [rw] pool_provisioned_capacity_gb
32141
32252
  # @return [::Integer]
32142
- # Size, in GiB, of the storage pool.
32253
+ # Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.
32143
32254
  # @!attribute [rw] pool_provisioned_iops
32144
32255
  # @return [::Integer]
32145
32256
  # Provisioned IOPS of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced.
@@ -32392,7 +32503,7 @@ module Google
32392
32503
  # [Output Only] Space used by data stored in disks within the storage pool (in bytes). This will reflect the total number of bytes written to the disks in the pool, in contrast to the capacity of those disks.
32393
32504
  # @!attribute [rw] pool_used_iops
32394
32505
  # @return [::Integer]
32395
- # Sum of all the disks' provisioned IOPS, minus some amount that is allowed per disk that is not counted towards pool's IOPS capacity.
32506
+ # [Output Only] Sum of all the disks' provisioned IOPS, minus some amount that is allowed per disk that is not counted towards pool's IOPS capacity. For more information, see https://cloud.google.com/compute/docs/disks/storage-pools.
32396
32507
  # @!attribute [rw] pool_used_throughput
32397
32508
  # @return [::Integer]
32398
32509
  # [Output Only] Sum of all the disks' provisioned throughput in MB/s.
@@ -32571,7 +32682,7 @@ module Google
32571
32682
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
32572
32683
  # @!attribute [rw] internal_ipv6_prefix
32573
32684
  # @return [::String]
32574
- # [Output Only] The internal IPv6 address range that is assigned to this subnetwork.
32685
+ # The internal IPv6 address range that is owned by this subnetwork.
32575
32686
  # @!attribute [rw] ip_cidr_range
32576
32687
  # @return [::String]
32577
32688
  # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
@@ -32712,6 +32823,9 @@ module Google
32712
32823
  # New VMs in this subnet will only be assigned IPv4 addresses.
32713
32824
  IPV4_ONLY = 22_373_798
32714
32825
 
32826
+ # New VMs in this subnet will only be assigned IPv6 addresses.
32827
+ IPV6_ONLY = 79_632_100
32828
+
32715
32829
  UNSPECIFIED_STACK_TYPE = 298_084_569
32716
32830
  end
32717
32831
 
@@ -33225,7 +33339,7 @@ module Google
33225
33339
  # 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.
33226
33340
  # @!attribute [rw] certificate_map
33227
33341
  # @return [::String]
33228
- # 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}.
33342
+ # URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/\\{project }/locations/\\{location}/certificateMaps/\\{resourceName}.
33229
33343
  # @!attribute [rw] creation_timestamp
33230
33344
  # @return [::String]
33231
33345
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -33265,10 +33379,14 @@ module Google
33265
33379
  # 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.
33266
33380
  # @!attribute [rw] ssl_certificates
33267
33381
  # @return [::Array<::String>]
33268
- # 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.
33382
+ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/\\{project}/locations/{ location}/certificates/\\{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/\\{project }/locations/\\{location}/certificates/\\{resourceName}.
33269
33383
  # @!attribute [rw] ssl_policy
33270
33384
  # @return [::String]
33271
33385
  # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
33386
+ # @!attribute [rw] tls_early_data
33387
+ # @return [::String]
33388
+ # Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
33389
+ # Check the TlsEarlyData enum for the list of possible values.
33272
33390
  # @!attribute [rw] url_map
33273
33391
  # @return [::String]
33274
33392
  # A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map
@@ -33290,6 +33408,21 @@ module Google
33290
33408
  # No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request.
33291
33409
  NONE = 2_402_104
33292
33410
  end
33411
+
33412
+ # Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
33413
+ module TlsEarlyData
33414
+ # A value indicating that the enum field is not set.
33415
+ UNDEFINED_TLS_EARLY_DATA = 0
33416
+
33417
+ # TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.
33418
+ DISABLED = 516_696_700
33419
+
33420
+ # This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode does not enforce any other limitations for requests with Early Data. The application owner should validate that Early Data is acceptable for a given request path.
33421
+ PERMISSIVE = 504_345_247
33422
+
33423
+ # This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425.
33424
+ STRICT = 308_826_825
33425
+ end
33293
33426
  end
33294
33427
 
33295
33428
  # @!attribute [rw] id
@@ -33543,6 +33676,9 @@ module Google
33543
33676
 
33544
33677
  # No session affinity. Connections from the same client IP may go to any instance in the pool.
33545
33678
  NONE = 2_402_104
33679
+
33680
+ # Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired.
33681
+ STRONG_COOKIE_AFFINITY = 438_628_091
33546
33682
  end
33547
33683
  end
33548
33684
 
@@ -35208,16 +35344,19 @@ module Google
35208
35344
  extend ::Google::Protobuf::MessageExts::ClassMethods
35209
35345
  end
35210
35346
 
35211
- # Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.
35347
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.
35212
35348
  # @!attribute [rw] creation_timestamp
35213
35349
  # @return [::String]
35214
35350
  # [Output Only] Creation timestamp in RFC3339 text format.
35351
+ # @!attribute [rw] default_custom_error_response_policy
35352
+ # @return [::Google::Cloud::Compute::V1::CustomErrorResponsePolicy]
35353
+ # defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the load balancer level and applies only when no policy has been defined for the error code at lower levels like PathMatcher, RouteRule and PathRule within this UrlMap. For example, consider a UrlMap with the following configuration: - defaultCustomErrorResponsePolicy containing policies for responding to 5xx and 4xx errors - A PathMatcher configured for *.example.com has defaultCustomErrorResponsePolicy for 4xx. If a request for http://www.example.com/ encounters a 404, the policy in pathMatcher.defaultCustomErrorResponsePolicy will be enforced. When the request for http://www.example.com/ encounters a 502, the policy in UrlMap.defaultCustomErrorResponsePolicy will be enforced. When a request that does not match any host in *.example.com such as http://www.myotherexample.com/, encounters a 404, UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
35215
35354
  # @!attribute [rw] default_route_action
35216
35355
  # @return [::Google::Cloud::Compute::V1::HttpRouteAction]
35217
35356
  # defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
35218
35357
  # @!attribute [rw] default_service
35219
35358
  # @return [::String]
35220
- # The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
35359
+ # The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any defaultRouteAction.weightedBackendServices. Conversely, if defaultRouteAction specifies any defaultRouteAction.weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
35221
35360
  # @!attribute [rw] default_url_redirect
35222
35361
  # @return [::Google::Cloud::Compute::V1::HttpRedirectAction]
35223
35362
  # When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set. Not supported when the URL map is bound to a target gRPC proxy.
@@ -35540,6 +35679,9 @@ module Google
35540
35679
 
35541
35680
  # New VMs in this subnet will only be assigned IPv4 addresses.
35542
35681
  IPV4_ONLY = 22_373_798
35682
+
35683
+ # New VMs in this subnet will only be assigned IPv6 addresses.
35684
+ IPV6_ONLY = 79_632_100
35543
35685
  end
35544
35686
  end
35545
35687
 
@@ -35743,7 +35885,7 @@ module Google
35743
35885
  # [Output Only] Server-defined URL for the resource.
35744
35886
  # @!attribute [rw] stack_type
35745
35887
  # @return [::String]
35746
- # The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4_ONLY, IPV4_IPV6. If not specified, IPV4_ONLY will be used.
35888
+ # The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6 if the gateway IP version is IPV6.
35747
35889
  # Check the StackType enum for the list of possible values.
35748
35890
  # @!attribute [rw] vpn_interfaces
35749
35891
  # @return [::Array<::Google::Cloud::Compute::V1::VpnGatewayVpnGatewayInterface>]
@@ -35773,7 +35915,7 @@ module Google
35773
35915
  IPV6 = 2_254_343
35774
35916
  end
35775
35917
 
35776
- # The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4_ONLY, IPV4_IPV6. If not specified, IPV4_ONLY will be used.
35918
+ # The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6 if the gateway IP version is IPV6.
35777
35919
  module StackType
35778
35920
  # A value indicating that the enum field is not set.
35779
35921
  UNDEFINED_STACK_TYPE = 0
@@ -35783,6 +35925,9 @@ module Google
35783
35925
 
35784
35926
  # Enable VPN gateway with only IPv4 protocol.
35785
35927
  IPV4_ONLY = 22_373_798
35928
+
35929
+ # Enable VPN gateway with only IPv6 protocol.
35930
+ IPV6_ONLY = 79_632_100
35786
35931
  end
35787
35932
  end
35788
35933
 
@@ -35983,7 +36128,7 @@ module Google
35983
36128
  # 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.
35984
36129
  # @!attribute [rw] local_traffic_selector
35985
36130
  # @return [::Array<::String>]
35986
- # 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.
36131
+ # 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 for Classic VPN tunnels. This field is output only for HA VPN tunnels.
35987
36132
  # @!attribute [rw] name
35988
36133
  # @return [::String]
35989
36134
  # 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.
@@ -35998,13 +36143,13 @@ module Google
35998
36143
  # URL of the peer side HA VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field can be used when creating highly available VPN from VPC network to VPC network, the field is exclusive with the field peerExternalGateway. If provided, the VPN tunnel will automatically use the same vpnGatewayInterface ID in the peer Google Cloud VPN gateway.
35999
36144
  # @!attribute [rw] peer_ip
36000
36145
  # @return [::String]
36001
- # IP address of the peer VPN gateway. Only IPv4 is supported.
36146
+ # IP address of the peer VPN gateway. Only IPv4 is supported. This field can be set only for Classic VPN tunnels.
36002
36147
  # @!attribute [rw] region
36003
36148
  # @return [::String]
36004
36149
  # [Output Only] URL of the region where the VPN tunnel resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
36005
36150
  # @!attribute [rw] remote_traffic_selector
36006
36151
  # @return [::Array<::String>]
36007
- # Remote traffic selectors 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 should be disjoint. Only IPv4 is supported.
36152
+ # Remote traffic selectors 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 should be disjoint. Only IPv4 is supported for Classic VPN tunnels. This field is output only for HA VPN tunnels.
36008
36153
  # @!attribute [rw] router
36009
36154
  # @return [::String]
36010
36155
  # URL of the router resource to be used for dynamic routing.
@@ -36023,7 +36168,7 @@ module Google
36023
36168
  # Check the Status enum for the list of possible values.
36024
36169
  # @!attribute [rw] target_vpn_gateway
36025
36170
  # @return [::String]
36026
- # URL of the Target VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created.
36171
+ # URL of the Target VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. This field can be set only for Classic VPN tunnels.
36027
36172
  # @!attribute [rw] vpn_gateway
36028
36173
  # @return [::String]
36029
36174
  # URL of the VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. This must be used (instead of target_vpn_gateway) if a High Availability VPN gateway resource is created.
@@ -36187,7 +36332,7 @@ module Google
36187
36332
  # A request message for GlobalOperations.Wait. See the method description for details.
36188
36333
  # @!attribute [rw] operation
36189
36334
  # @return [::String]
36190
- # Name of the Operations resource to return.
36335
+ # Name of the Operations resource to return, or its unique numeric identifier.
36191
36336
  # @!attribute [rw] project
36192
36337
  # @return [::String]
36193
36338
  # Project ID for this request.
@@ -36199,7 +36344,7 @@ module Google
36199
36344
  # A request message for RegionOperations.Wait. See the method description for details.
36200
36345
  # @!attribute [rw] operation
36201
36346
  # @return [::String]
36202
- # Name of the Operations resource to return.
36347
+ # Name of the Operations resource to return, or its unique numeric identifier.
36203
36348
  # @!attribute [rw] project
36204
36349
  # @return [::String]
36205
36350
  # Project ID for this request.
@@ -36214,7 +36359,7 @@ module Google
36214
36359
  # A request message for ZoneOperations.Wait. See the method description for details.
36215
36360
  # @!attribute [rw] operation
36216
36361
  # @return [::String]
36217
- # Name of the Operations resource to return.
36362
+ # Name of the Operations resource to return, or its unique numeric identifier.
36218
36363
  # @!attribute [rw] project
36219
36364
  # @return [::String]
36220
36365
  # Project ID for this request.
@@ -36446,7 +36591,7 @@ module Google
36446
36591
  # Specifies changes to request and response headers that need to take effect for the selected backendService. headerAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
36447
36592
  # @!attribute [rw] weight
36448
36593
  # @return [::Integer]
36449
- # Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) . The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy. The value must be from 0 to 1000.
36594
+ # Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) . The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy. Don't configure session affinity if you're using weighted traffic splitting. If you do, the weighted traffic splitting configuration takes precedence. The value must be from 0 to 1000.
36450
36595
  class WeightedBackendService
36451
36596
  include ::Google::Protobuf::MessageExts
36452
36597
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -36531,7 +36676,7 @@ module Google
36531
36676
  end
36532
36677
  end
36533
36678
 
36534
- # Represents a Zone resource. A zone is a deployment area. These deployment areas are subsets of a region. For example the zone us-east1-a is located in the us-east1 region. For more information, read Regions and Zones.
36679
+ # Represents a Zone resource. A zone is a deployment area. These deployment areas are subsets of a region. For example the zone us-east1-b is located in the us-east1 region. For more information, read Regions and Zones.
36535
36680
  # @!attribute [rw] available_cpu_platforms
36536
36681
  # @return [::Array<::String>]
36537
36682
  # [Output Only] Available cpu/platform selections for the zone.