google-cloud-compute-v1 2.22.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/compute/v1/compute_pb.rb +125 -2
  3. data/lib/google/cloud/compute/v1/disks/rest/client.rb +105 -0
  4. data/lib/google/cloud/compute/v1/disks/rest/service_stub.rb +63 -0
  5. data/lib/google/cloud/compute/v1/global_organization_operations/rest/client.rb +2 -2
  6. data/lib/google/cloud/compute/v1/interconnect_attachment_groups/credentials.rb +52 -0
  7. data/lib/google/cloud/compute/v1/interconnect_attachment_groups/rest/client.rb +1218 -0
  8. data/lib/google/cloud/compute/v1/interconnect_attachment_groups/rest/service_stub.rb +641 -0
  9. data/lib/google/cloud/compute/v1/interconnect_attachment_groups/rest.rb +51 -0
  10. data/lib/google/cloud/compute/v1/interconnect_attachment_groups.rb +47 -0
  11. data/lib/google/cloud/compute/v1/interconnect_groups/credentials.rb +52 -0
  12. data/lib/google/cloud/compute/v1/interconnect_groups/rest/client.rb +1318 -0
  13. data/lib/google/cloud/compute/v1/interconnect_groups/rest/service_stub.rb +704 -0
  14. data/lib/google/cloud/compute/v1/interconnect_groups/rest.rb +51 -0
  15. data/lib/google/cloud/compute/v1/interconnect_groups.rb +47 -0
  16. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +104 -0
  17. data/lib/google/cloud/compute/v1/licenses/rest/service_stub.rb +63 -0
  18. data/lib/google/cloud/compute/v1/network_profiles/rest/client.rb +4 -2
  19. data/lib/google/cloud/compute/v1/networks/rest/client.rb +102 -0
  20. data/lib/google/cloud/compute/v1/networks/rest/service_stub.rb +63 -0
  21. data/lib/google/cloud/compute/v1/reservation_blocks/rest/client.rb +4 -1
  22. data/lib/google/cloud/compute/v1/reservation_sub_blocks/credentials.rb +52 -0
  23. data/lib/google/cloud/compute/v1/reservation_sub_blocks/rest/client.rb +659 -0
  24. data/lib/google/cloud/compute/v1/reservation_sub_blocks/rest/service_stub.rb +272 -0
  25. data/lib/google/cloud/compute/v1/reservation_sub_blocks/rest.rb +51 -0
  26. data/lib/google/cloud/compute/v1/reservation_sub_blocks.rb +47 -0
  27. data/lib/google/cloud/compute/v1/rest.rb +3 -0
  28. data/lib/google/cloud/compute/v1/routers/rest/client.rb +8 -4
  29. data/lib/google/cloud/compute/v1/storage_pools/rest/client.rb +8 -4
  30. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +3 -1
  31. data/lib/google/cloud/compute/v1/version.rb +1 -1
  32. data/lib/google/cloud/compute/v1.rb +3 -0
  33. data/proto_docs/google/cloud/compute/v1/compute.rb +2265 -64
  34. metadata +19 -4
@@ -2445,6 +2445,9 @@ module Google
2445
2445
  end
2446
2446
 
2447
2447
  # [Output Only] Contains output only fields.
2448
+ # @!attribute [rw] health_info
2449
+ # @return [::Google::Cloud::Compute::V1::AllocationResourceStatusHealthInfo]
2450
+ # [Output only] Health information for the reservation.
2448
2451
  # @!attribute [rw] reservation_block_count
2449
2452
  # @return [::Integer]
2450
2453
  # The number of reservation blocks associated with this reservation.
@@ -2459,6 +2462,37 @@ module Google
2459
2462
  extend ::Google::Protobuf::MessageExts::ClassMethods
2460
2463
  end
2461
2464
 
2465
+ # Health information for the reservation.
2466
+ # @!attribute [rw] degraded_block_count
2467
+ # @return [::Integer]
2468
+ # The number of reservation blocks that are degraded.
2469
+ # @!attribute [rw] health_status
2470
+ # @return [::String]
2471
+ # The health status of the reservation.
2472
+ # Check the HealthStatus enum for the list of possible values.
2473
+ # @!attribute [rw] healthy_block_count
2474
+ # @return [::Integer]
2475
+ # The number of reservation blocks that are healthy.
2476
+ class AllocationResourceStatusHealthInfo
2477
+ include ::Google::Protobuf::MessageExts
2478
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2479
+
2480
+ # The health status of the reservation.
2481
+ module HealthStatus
2482
+ # A value indicating that the enum field is not set.
2483
+ UNDEFINED_HEALTH_STATUS = 0
2484
+
2485
+ # The reservation is degraded.
2486
+ DEGRADED = 396_890_926
2487
+
2488
+ # The reservation is healthy.
2489
+ HEALTHY = 439_801_213
2490
+
2491
+ # The health status of the reservation is unspecified.
2492
+ HEALTH_STATUS_UNSPECIFIED = 482_246_925
2493
+ end
2494
+ end
2495
+
2462
2496
  # Contains Properties set for the reservation.
2463
2497
  # @!attribute [rw] source_instance_template_id
2464
2498
  # @return [::String]
@@ -3497,9 +3531,16 @@ module Google
3497
3531
  # @!attribute [rw] kind
3498
3532
  # @return [::String]
3499
3533
  # Type of the resource.
3534
+ # @!attribute [rw] load_balancing_scheme
3535
+ # @return [::String]
3536
+ # The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load balancer. If loadBalancingScheme is not specified, the backend bucket can be used by classic global external load balancers, or global application external load balancers, or both.
3537
+ # Check the LoadBalancingScheme enum for the list of possible values.
3500
3538
  # @!attribute [rw] name
3501
3539
  # @return [::String]
3502
3540
  # 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.
3541
+ # @!attribute [rw] params
3542
+ # @return [::Google::Cloud::Compute::V1::BackendBucketParams]
3543
+ # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
3503
3544
  # @!attribute [rw] self_link
3504
3545
  # @return [::String]
3505
3546
  # [Output Only] Server-defined URL for the resource.
@@ -3521,6 +3562,15 @@ module Google
3521
3562
  # Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients.
3522
3563
  DISABLED = 516_696_700
3523
3564
  end
3565
+
3566
+ # The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load balancer. If loadBalancingScheme is not specified, the backend bucket can be used by classic global external load balancers, or global application external load balancers, or both.
3567
+ module LoadBalancingScheme
3568
+ # A value indicating that the enum field is not set.
3569
+ UNDEFINED_LOAD_BALANCING_SCHEME = 0
3570
+
3571
+ # Signifies that this will be used for internal Application Load Balancers.
3572
+ INTERNAL_MANAGED = 37_350_397
3573
+ end
3524
3574
  end
3525
3575
 
3526
3576
  # Message containing Cloud CDN configuration for a backend bucket.
@@ -3640,6 +3690,24 @@ module Google
3640
3690
  extend ::Google::Protobuf::MessageExts::ClassMethods
3641
3691
  end
3642
3692
 
3693
+ # Additional Backend Bucket parameters.
3694
+ # @!attribute [rw] resource_manager_tags
3695
+ # @return [::Google::Protobuf::Map{::String => ::String}]
3696
+ # Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * \\{"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"} * \\{"123/environment" : "production", "345/abc" : "xyz"} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: \\{"123/environment" : "tagValues/444"} is invalid.
3697
+ class BackendBucketParams
3698
+ include ::Google::Protobuf::MessageExts
3699
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3700
+
3701
+ # @!attribute [rw] key
3702
+ # @return [::String]
3703
+ # @!attribute [rw] value
3704
+ # @return [::String]
3705
+ class ResourceManagerTagsEntry
3706
+ include ::Google::Protobuf::MessageExts
3707
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3708
+ end
3709
+ end
3710
+
3643
3711
  # @!attribute [rw] reference
3644
3712
  # @return [::String]
3645
3713
  # [Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.
@@ -3657,7 +3725,7 @@ module Google
3657
3725
  # Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is [0.0, 1.0].
3658
3726
  # @!attribute [rw] name
3659
3727
  # @return [::String]
3660
- # Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
3728
+ # Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
3661
3729
  class BackendCustomMetric
3662
3730
  include ::Google::Protobuf::MessageExts
3663
3731
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3687,7 +3755,7 @@ module Google
3687
3755
  # Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for external passthrough Network Load Balancers and internal passthrough Network Load Balancers. connectionTrackingPolicy cannot be specified with haPolicy.
3688
3756
  # @!attribute [rw] consistent_hash
3689
3757
  # @return [::Google::Cloud::Compute::V1::ConsistentHashLoadBalancerSettings]
3690
- # Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service. This field specifies parameters that control consistent hashing. This field is only applicable when localityLbPolicy is set to MAGLEV or RING_HASH. 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.
3758
+ # Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service. This field specifies parameters that control consistent hashing. This field is only applicable when localityLbPolicy is set to MAGLEV or RING_HASH. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
3691
3759
  # @!attribute [rw] creation_timestamp
3692
3760
  # @return [::String]
3693
3761
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -3750,7 +3818,7 @@ module Google
3750
3818
  # 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.
3751
3819
  # @!attribute [rw] locality_lb_policy
3752
3820
  # @return [::String]
3753
- # 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. localityLbPolicy cannot be specified with haPolicy.
3821
+ # 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 - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics field. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, 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. localityLbPolicy cannot be specified with haPolicy.
3754
3822
  # Check the LocalityLbPolicy enum for the list of possible values.
3755
3823
  # @!attribute [rw] log_config
3756
3824
  # @return [::Google::Cloud::Compute::V1::BackendServiceLogConfig]
@@ -3766,10 +3834,13 @@ module Google
3766
3834
  # 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.
3767
3835
  # @!attribute [rw] network
3768
3836
  # @return [::String]
3769
- # The URL of the network to which this backend service belongs. This field must be set for Internal Passthrough Network Load Balancers when the haPolicy is enabled, and for External Passthrough Network Load Balancers when the haPolicy fastIpMove is enabled. This field can only be specified when the load balancing scheme is set to INTERNAL.
3837
+ # The URL of the network to which this backend service belongs. This field must be set for Internal Passthrough Network Load Balancers when the haPolicy is enabled, and for External Passthrough Network Load Balancers when the haPolicy fastIpMove is enabled. This field can only be specified when the load balancing scheme is set to INTERNAL, or when the load balancing scheme is set to EXTERNAL and haPolicy fastIpMove is enabled.
3770
3838
  # @!attribute [rw] outlier_detection
3771
3839
  # @return [::Google::Cloud::Compute::V1::OutlierDetection]
3772
- # Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
3840
+ # Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, HTTP2 or H2C, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
3841
+ # @!attribute [rw] params
3842
+ # @return [::Google::Cloud::Compute::V1::BackendServiceParams]
3843
+ # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
3773
3844
  # @!attribute [rw] port
3774
3845
  # @return [::Integer]
3775
3846
  # Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port.
@@ -3778,7 +3849,7 @@ module Google
3778
3849
  # A named port on a backend instance group representing the port for communication to the backend VMs in that group. The named port must be [defined on each backend instance group](https://cloud.google.com/load-balancing/docs/backend-service#named_ports). This parameter has no meaning if the backends are NEGs. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port_name.
3779
3850
  # @!attribute [rw] protocol
3780
3851
  # @return [::String]
3781
- # The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.
3852
+ # The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.
3782
3853
  # Check the Protocol enum for the list of possible values.
3783
3854
  # @!attribute [rw] region
3784
3855
  # @return [::String]
@@ -3811,6 +3882,9 @@ module Google
3811
3882
  # @!attribute [rw] timeout_sec
3812
3883
  # @return [::Integer]
3813
3884
  # 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.
3885
+ # @!attribute [rw] tls_settings
3886
+ # @return [::Google::Cloud::Compute::V1::BackendServiceTlsSettings]
3887
+ # Configuration for Backend Authenticated TLS and mTLS. May only be specified when the backend protocol is SSL, HTTPS or HTTP2.
3814
3888
  # @!attribute [rw] used_by
3815
3889
  # @return [::Array<::Google::Cloud::Compute::V1::BackendServiceUsedBy>]
3816
3890
  # [Output Only] List of resources referencing given backend service.
@@ -3892,7 +3966,7 @@ module Google
3892
3966
  INVALID_LOAD_BALANCING_SCHEME = 275_352_060
3893
3967
  end
3894
3968
 
3895
- # 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. localityLbPolicy cannot be specified with haPolicy.
3969
+ # 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 - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics field. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, 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. localityLbPolicy cannot be specified with haPolicy.
3896
3970
  module LocalityLbPolicy
3897
3971
  # A value indicating that the enum field is not set.
3898
3972
  UNDEFINED_LOCALITY_LB_POLICY = 0
@@ -3920,11 +3994,11 @@ module Google
3920
3994
  # Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.
3921
3995
  WEIGHTED_MAGLEV = 254_930_962
3922
3996
 
3923
- # Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields.
3997
+ # Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics fields.
3924
3998
  WEIGHTED_ROUND_ROBIN = 5_584_977
3925
3999
  end
3926
4000
 
3927
- # The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.
4001
+ # The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.
3928
4002
  module Protocol
3929
4003
  # A value indicating that the enum field is not set.
3930
4004
  UNDEFINED_PROTOCOL = 0
@@ -3932,6 +4006,9 @@ module Google
3932
4006
  # gRPC (available for Traffic Director).
3933
4007
  GRPC = 2_196_510
3934
4008
 
4009
+ # HTTP2 over cleartext
4010
+ H2C = 70_809
4011
+
3935
4012
  HTTP = 2_228_360
3936
4013
 
3937
4014
  # HTTP/2 with SSL.
@@ -4153,7 +4230,7 @@ module Google
4153
4230
  # If true, the metric data is not used for load balancing.
4154
4231
  # @!attribute [rw] name
4155
4232
  # @return [::String]
4156
- # Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
4233
+ # Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
4157
4234
  class BackendServiceCustomMetric
4158
4235
  include ::Google::Protobuf::MessageExts
4159
4236
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4199,13 +4276,16 @@ module Google
4199
4276
 
4200
4277
  # @!attribute [rw] fast_i_p_move
4201
4278
  # @return [::String]
4202
- # Specifies whether fast IP move is enabled, and if so, the mechanism to achieve it. Supported values are: - DISABLED: Fast IP Move is disabled. You can only use the haPolicy.leader API to update the leader. - >GARP_RA: Provides a method to very quickly define a new network endpoint as the leader. This method is faster than updating the leader using the haPolicy.leader API. Fast IP move works as follows: The VM hosting the network endpoint that should become the new leader sends either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router Advertisement(RA) packet (IPv6). Google Cloud immediately but temporarily associates the forwarding rule IP address with that VM, and both new and in-flight packets are quickly delivered to that VM. Note the important properties of the Fast IP Move functionality: - The GARP/RA-initiated re-routing stays active for approximately 20 minutes. After triggering fast failover, you must also appropriately set the haPolicy.leader. - The new leader instance should continue to send GARP/RA packets periodically every 10 seconds until at least 10 minutes after updating the haPolicy.leader (but stop immediately if it is no longer the leader). - After triggering a fast failover, we recommend that you wait at least 3 seconds before sending another GARP/RA packet from a different VM instance to avoid race conditions. - Don't send GARP/RA packets from different VM instances at the same time. If multiple instances continue to send GARP/RA packets, traffic might be routed to different destinations in an alternating order. This condition ceases when a single instance issues a GARP/RA packet. - The GARP/RA request always takes priority over the leader API. Using the haPolicy.leader API to change the leader to a different instance will have no effect until the GARP/RA request becomes inactive. - The GARP/RA packets should follow the GARP/RA Packet Specifications.. - When multiple forwarding rules refer to a regional backend service, you need only send a GARP or RA packet for a single forwarding rule virtual IP. The virtual IPs for all forwarding rules targeting the same backend service will also be moved to the sender of the GARP or RA packet. The following are the Fast IP Move limitations (that is, when fastIPMove is not DISABLED): - Multiple forwarding rules cannot use the same IP address if one of them refers to a regional backend service with fastIPMove. - The regional backend service must set the network field, and all NEGs must belong to that network. However, individual NEGs can belong to different subnetworks of that network. - The maximum number of network endpoints across all backends of a backend service with fastIPMove is 64. - The maximum number of backend services with fastIPMove that can have the same network endpoint attached to one of its backends is 64. - The maximum number of backend services with fastIPMove in a VPC in a region is 64. - The network endpoints that are attached to a backend of a backend service with fastIPMove cannot resolve to Gen3+ machines for IPv6. - Traffic directed to the leader by a static route next hop will not be redirected to a new leader by fast failover. Such traffic will only be redirected once an haPolicy.leader update has taken effect. Only traffic to the forwarding rule's virtual IP will be redirected to a new leader by fast failover. haPolicy.fastIPMove can be set only at backend service creation time. Once set, it cannot be updated. By default, fastIpMove is set to DISABLED.
4279
+ # Specifies whether fast IP move is enabled, and if so, the mechanism to achieve it. Supported values are: - DISABLED: Fast IP Move is disabled. You can only use the haPolicy.leader API to update the leader. - >GARP_RA: Provides a method to very quickly define a new network endpoint as the leader. This method is faster than updating the leader using the haPolicy.leader API. Fast IP move works as follows: The VM hosting the network endpoint that should become the new leader sends either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router Advertisement(RA) packet (IPv6). Google Cloud immediately but temporarily associates the forwarding rule IP address with that VM, and both new and in-flight packets are quickly delivered to that VM. Note the important properties of the Fast IP Move functionality: - The GARP/RA-initiated re-routing stays active for approximately 20 minutes. After triggering fast failover, you must also appropriately set the haPolicy.leader. - The new leader instance should continue to send GARP/RA packets periodically every 10 seconds until at least 10 minutes after updating the haPolicy.leader (but stop immediately if it is no longer the leader). - After triggering a fast failover, we recommend that you wait at least 3 seconds before sending another GARP/RA packet from a different VM instance to avoid race conditions. - Don't send GARP/RA packets from different VM instances at the same time. If multiple instances continue to send GARP/RA packets, traffic might be routed to different destinations in an alternating order. This condition ceases when a single instance issues a GARP/RA packet. - The GARP/RA request always takes priority over the leader API. Using the haPolicy.leader API to change the leader to a different instance will have no effect until the GARP/RA request becomes inactive. - The GARP/RA packets should follow the GARP/RA Packet Specifications.. - When multiple forwarding rules refer to a regional backend service, you need only send a GARP or RA packet for a single forwarding rule virtual IP. The virtual IPs for all forwarding rules targeting the same backend service will also be moved to the sender of the GARP or RA packet. The following are the Fast IP Move limitations (that is, when fastIPMove is not DISABLED): - Multiple forwarding rules cannot use the same IP address if one of them refers to a regional backend service with fastIPMove. - The regional backend service must set the network field, and all NEGs must belong to that network. However, individual NEGs can belong to different subnetworks of that network. - The maximum number of network endpoints across all backends of a backend service with fastIPMove is 32. - The maximum number of backend services with fastIPMove that can have the same network endpoint attached to one of its backends is 64. - The maximum number of backend services with fastIPMove in a VPC in a region is 64. - The network endpoints that are attached to a backend of a backend service with fastIPMove cannot resolve to Gen3+ machines for IPv6. - Traffic directed to the leader by a static route next hop will not be redirected to a new leader by fast failover. Such traffic will only be redirected once an haPolicy.leader update has taken effect. Only traffic to the forwarding rule's virtual IP will be redirected to a new leader by fast failover. haPolicy.fastIPMove can be set only at backend service creation time. Once set, it cannot be updated. By default, fastIpMove is set to DISABLED.
4203
4280
  # Check the FastIPMove enum for the list of possible values.
4281
+ # @!attribute [rw] leader
4282
+ # @return [::Google::Cloud::Compute::V1::BackendServiceHAPolicyLeader]
4283
+ # Selects one of the network endpoints attached to the backend NEGs of this service as the active endpoint (the leader) that receives all traffic. When the leader changes, there is no connection draining to persist existing connections on the old leader. You are responsible for selecting a suitable endpoint as the leader. For example, preferring a healthy endpoint over unhealthy ones. Note that this service does not track backend endpoint health, and selects the configured leader unconditionally.
4204
4284
  class BackendServiceHAPolicy
4205
4285
  include ::Google::Protobuf::MessageExts
4206
4286
  extend ::Google::Protobuf::MessageExts::ClassMethods
4207
4287
 
4208
- # Specifies whether fast IP move is enabled, and if so, the mechanism to achieve it. Supported values are: - DISABLED: Fast IP Move is disabled. You can only use the haPolicy.leader API to update the leader. - >GARP_RA: Provides a method to very quickly define a new network endpoint as the leader. This method is faster than updating the leader using the haPolicy.leader API. Fast IP move works as follows: The VM hosting the network endpoint that should become the new leader sends either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router Advertisement(RA) packet (IPv6). Google Cloud immediately but temporarily associates the forwarding rule IP address with that VM, and both new and in-flight packets are quickly delivered to that VM. Note the important properties of the Fast IP Move functionality: - The GARP/RA-initiated re-routing stays active for approximately 20 minutes. After triggering fast failover, you must also appropriately set the haPolicy.leader. - The new leader instance should continue to send GARP/RA packets periodically every 10 seconds until at least 10 minutes after updating the haPolicy.leader (but stop immediately if it is no longer the leader). - After triggering a fast failover, we recommend that you wait at least 3 seconds before sending another GARP/RA packet from a different VM instance to avoid race conditions. - Don't send GARP/RA packets from different VM instances at the same time. If multiple instances continue to send GARP/RA packets, traffic might be routed to different destinations in an alternating order. This condition ceases when a single instance issues a GARP/RA packet. - The GARP/RA request always takes priority over the leader API. Using the haPolicy.leader API to change the leader to a different instance will have no effect until the GARP/RA request becomes inactive. - The GARP/RA packets should follow the GARP/RA Packet Specifications.. - When multiple forwarding rules refer to a regional backend service, you need only send a GARP or RA packet for a single forwarding rule virtual IP. The virtual IPs for all forwarding rules targeting the same backend service will also be moved to the sender of the GARP or RA packet. The following are the Fast IP Move limitations (that is, when fastIPMove is not DISABLED): - Multiple forwarding rules cannot use the same IP address if one of them refers to a regional backend service with fastIPMove. - The regional backend service must set the network field, and all NEGs must belong to that network. However, individual NEGs can belong to different subnetworks of that network. - The maximum number of network endpoints across all backends of a backend service with fastIPMove is 64. - The maximum number of backend services with fastIPMove that can have the same network endpoint attached to one of its backends is 64. - The maximum number of backend services with fastIPMove in a VPC in a region is 64. - The network endpoints that are attached to a backend of a backend service with fastIPMove cannot resolve to Gen3+ machines for IPv6. - Traffic directed to the leader by a static route next hop will not be redirected to a new leader by fast failover. Such traffic will only be redirected once an haPolicy.leader update has taken effect. Only traffic to the forwarding rule's virtual IP will be redirected to a new leader by fast failover. haPolicy.fastIPMove can be set only at backend service creation time. Once set, it cannot be updated. By default, fastIpMove is set to DISABLED.
4288
+ # Specifies whether fast IP move is enabled, and if so, the mechanism to achieve it. Supported values are: - DISABLED: Fast IP Move is disabled. You can only use the haPolicy.leader API to update the leader. - >GARP_RA: Provides a method to very quickly define a new network endpoint as the leader. This method is faster than updating the leader using the haPolicy.leader API. Fast IP move works as follows: The VM hosting the network endpoint that should become the new leader sends either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router Advertisement(RA) packet (IPv6). Google Cloud immediately but temporarily associates the forwarding rule IP address with that VM, and both new and in-flight packets are quickly delivered to that VM. Note the important properties of the Fast IP Move functionality: - The GARP/RA-initiated re-routing stays active for approximately 20 minutes. After triggering fast failover, you must also appropriately set the haPolicy.leader. - The new leader instance should continue to send GARP/RA packets periodically every 10 seconds until at least 10 minutes after updating the haPolicy.leader (but stop immediately if it is no longer the leader). - After triggering a fast failover, we recommend that you wait at least 3 seconds before sending another GARP/RA packet from a different VM instance to avoid race conditions. - Don't send GARP/RA packets from different VM instances at the same time. If multiple instances continue to send GARP/RA packets, traffic might be routed to different destinations in an alternating order. This condition ceases when a single instance issues a GARP/RA packet. - The GARP/RA request always takes priority over the leader API. Using the haPolicy.leader API to change the leader to a different instance will have no effect until the GARP/RA request becomes inactive. - The GARP/RA packets should follow the GARP/RA Packet Specifications.. - When multiple forwarding rules refer to a regional backend service, you need only send a GARP or RA packet for a single forwarding rule virtual IP. The virtual IPs for all forwarding rules targeting the same backend service will also be moved to the sender of the GARP or RA packet. The following are the Fast IP Move limitations (that is, when fastIPMove is not DISABLED): - Multiple forwarding rules cannot use the same IP address if one of them refers to a regional backend service with fastIPMove. - The regional backend service must set the network field, and all NEGs must belong to that network. However, individual NEGs can belong to different subnetworks of that network. - The maximum number of network endpoints across all backends of a backend service with fastIPMove is 32. - The maximum number of backend services with fastIPMove that can have the same network endpoint attached to one of its backends is 64. - The maximum number of backend services with fastIPMove in a VPC in a region is 64. - The network endpoints that are attached to a backend of a backend service with fastIPMove cannot resolve to Gen3+ machines for IPv6. - Traffic directed to the leader by a static route next hop will not be redirected to a new leader by fast failover. Such traffic will only be redirected once an haPolicy.leader update has taken effect. Only traffic to the forwarding rule's virtual IP will be redirected to a new leader by fast failover. haPolicy.fastIPMove can be set only at backend service creation time. Once set, it cannot be updated. By default, fastIpMove is set to DISABLED.
4209
4289
  module FastIPMove
4210
4290
  # A value indicating that the enum field is not set.
4211
4291
  UNDEFINED_FAST_I_P_MOVE = 0
@@ -4216,6 +4296,25 @@ module Google
4216
4296
  end
4217
4297
  end
4218
4298
 
4299
+ # @!attribute [rw] backend_group
4300
+ # @return [::String]
4301
+ # A fully-qualified URL (starting with https://www.googleapis.com/) of the zonal Network Endpoint Group (NEG) with `GCE_VM_IP` endpoints that the leader is attached to. The leader's backendGroup must already be specified as a backend of this backend service. Removing a backend that is designated as the leader's backendGroup is not permitted.
4302
+ # @!attribute [rw] network_endpoint
4303
+ # @return [::Google::Cloud::Compute::V1::BackendServiceHAPolicyLeaderNetworkEndpoint]
4304
+ # The network endpoint within the leader.backendGroup that is designated as the leader. This network endpoint cannot be detached from the NEG specified in the haPolicy.leader.backendGroup until the leader is updated with another network endpoint, or the leader is removed from the haPolicy.
4305
+ class BackendServiceHAPolicyLeader
4306
+ include ::Google::Protobuf::MessageExts
4307
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4308
+ end
4309
+
4310
+ # @!attribute [rw] instance
4311
+ # @return [::String]
4312
+ # The name of the VM instance of the leader network endpoint. The instance must already be attached to the NEG specified in the haPolicy.leader.backendGroup. The name must be 1-63 characters long, and comply with RFC1035. Authorization requires the following IAM permission on the specified resource instance: compute.instances.use
4313
+ class BackendServiceHAPolicyLeaderNetworkEndpoint
4314
+ include ::Google::Protobuf::MessageExts
4315
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4316
+ end
4317
+
4219
4318
  # The HTTP cookie used for stateful session affinity.
4220
4319
  # @!attribute [rw] name
4221
4320
  # @return [::String]
@@ -4356,7 +4455,7 @@ module Google
4356
4455
  # Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.
4357
4456
  WEIGHTED_MAGLEV = 254_930_962
4358
4457
 
4359
- # Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields.
4458
+ # Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics fields.
4360
4459
  WEIGHTED_ROUND_ROBIN = 5_584_977
4361
4460
  end
4362
4461
  end
@@ -4395,6 +4494,24 @@ module Google
4395
4494
  end
4396
4495
  end
4397
4496
 
4497
+ # Additional Backend Service parameters.
4498
+ # @!attribute [rw] resource_manager_tags
4499
+ # @return [::Google::Protobuf::Map{::String => ::String}]
4500
+ # Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * \\{"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"} * \\{"123/environment" : "production", "345/abc" : "xyz"} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: \\{"123/environment" : "tagValues/444"} is invalid.
4501
+ class BackendServiceParams
4502
+ include ::Google::Protobuf::MessageExts
4503
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4504
+
4505
+ # @!attribute [rw] key
4506
+ # @return [::String]
4507
+ # @!attribute [rw] value
4508
+ # @return [::String]
4509
+ class ResourceManagerTagsEntry
4510
+ include ::Google::Protobuf::MessageExts
4511
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4512
+ end
4513
+ end
4514
+
4398
4515
  # @!attribute [rw] backend_service
4399
4516
  # @return [::String]
4400
4517
  class BackendServiceReference
@@ -4402,6 +4519,32 @@ module Google
4402
4519
  extend ::Google::Protobuf::MessageExts::ClassMethods
4403
4520
  end
4404
4521
 
4522
+ # @!attribute [rw] authentication_config
4523
+ # @return [::String]
4524
+ # Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace. Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field. Can only be specified if authenticationMode is not NONE.
4525
+ # @!attribute [rw] sni
4526
+ # @return [::String]
4527
+ # Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].
4528
+ # @!attribute [rw] subject_alt_names
4529
+ # @return [::Array<::Google::Cloud::Compute::V1::BackendServiceTlsSettingsSubjectAltName>]
4530
+ # A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend. When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field, and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].
4531
+ class BackendServiceTlsSettings
4532
+ include ::Google::Protobuf::MessageExts
4533
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4534
+ end
4535
+
4536
+ # A Subject Alternative Name that the load balancer matches against the SAN field in the TLS certificate provided by the backend, specified as either a DNS name or a URI, in accordance with RFC 5280 4.2.1.6
4537
+ # @!attribute [rw] dns_name
4538
+ # @return [::String]
4539
+ # The SAN specified as a DNS Name.
4540
+ # @!attribute [rw] uniform_resource_identifier
4541
+ # @return [::String]
4542
+ # The SAN specified as a URI.
4543
+ class BackendServiceTlsSettingsSubjectAltName
4544
+ include ::Google::Protobuf::MessageExts
4545
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4546
+ end
4547
+
4405
4548
  # @!attribute [rw] reference
4406
4549
  # @return [::String]
4407
4550
  # [Output Only] Server-defined URL for resources referencing given BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and ForwardingRule.
@@ -4879,6 +5022,54 @@ module Google
4879
5022
  extend ::Google::Protobuf::MessageExts::ClassMethods
4880
5023
  end
4881
5024
 
5025
+ # A request message for Disks.BulkSetLabels. See the method description for details.
5026
+ # @!attribute [rw] bulk_zone_set_labels_request_resource
5027
+ # @return [::Google::Cloud::Compute::V1::BulkZoneSetLabelsRequest]
5028
+ # The body resource for this request
5029
+ # @!attribute [rw] project
5030
+ # @return [::String]
5031
+ # Project ID for this request.
5032
+ # @!attribute [rw] request_id
5033
+ # @return [::String]
5034
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
5035
+ # @!attribute [rw] resource
5036
+ # @return [::String]
5037
+ # Name or id of the resource for this request.
5038
+ # @!attribute [rw] zone
5039
+ # @return [::String]
5040
+ # The name of the zone for this request.
5041
+ class BulkSetLabelsDiskRequest
5042
+ include ::Google::Protobuf::MessageExts
5043
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5044
+ end
5045
+
5046
+ # @!attribute [rw] label_fingerprint
5047
+ # @return [::String]
5048
+ # The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You may optionally provide an up-to-date fingerprint hash in order to update or change labels. Make a get() request to the resource to get the latest fingerprint.
5049
+ # @!attribute [rw] labels
5050
+ # @return [::Google::Protobuf::Map{::String => ::String}]
5051
+ # The labels to set for this resource.
5052
+ class BulkSetLabelsRequest
5053
+ include ::Google::Protobuf::MessageExts
5054
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5055
+
5056
+ # @!attribute [rw] key
5057
+ # @return [::String]
5058
+ # @!attribute [rw] value
5059
+ # @return [::String]
5060
+ class LabelsEntry
5061
+ include ::Google::Protobuf::MessageExts
5062
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5063
+ end
5064
+ end
5065
+
5066
+ # @!attribute [rw] requests
5067
+ # @return [::Array<::Google::Cloud::Compute::V1::BulkSetLabelsRequest>]
5068
+ class BulkZoneSetLabelsRequest
5069
+ include ::Google::Protobuf::MessageExts
5070
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5071
+ end
5072
+
4882
5073
  # @!attribute [rw] cache_tags
4883
5074
  # @return [::Array<::String>]
4884
5075
  # A list of cache tags used to identify cached objects. - Cache tags are specified when the response is first cached, by setting the `Cache-Tag` response header at the origin. - Multiple cache tags in the same invalidation request are treated as Boolean `OR` - for example, `tag1 OR tag2 OR tag3`. - If other fields are also specified, these are treated as Boolean `AND` with any tags. Up to 10 tags can be specified in a single invalidation request.
@@ -5158,12 +5349,16 @@ module Google
5158
5349
 
5159
5350
  COMPUTE_OPTIMIZED_H3 = 428_004_939
5160
5351
 
5352
+ COMPUTE_OPTIMIZED_H4D = 383_251_320
5353
+
5161
5354
  GENERAL_PURPOSE = 299_793_543
5162
5355
 
5163
5356
  GENERAL_PURPOSE_C4 = 301_911_817
5164
5357
 
5165
5358
  GENERAL_PURPOSE_C4A = 232_460_888
5166
5359
 
5360
+ GENERAL_PURPOSE_C4D = 232_460_891
5361
+
5167
5362
  GENERAL_PURPOSE_E2 = 301_911_877
5168
5363
 
5169
5364
  GENERAL_PURPOSE_N2 = 301_912_156
@@ -5182,6 +5377,8 @@ module Google
5182
5377
 
5183
5378
  MEMORY_OPTIMIZED_M4 = 276_301_373
5184
5379
 
5380
+ MEMORY_OPTIMIZED_M4_6TB = 210_543_650
5381
+
5185
5382
  MEMORY_OPTIMIZED_X4_16TB = 183_089_120
5186
5383
 
5187
5384
  MEMORY_OPTIMIZED_X4_24TB = 183_116_989
@@ -5416,6 +5613,21 @@ module Google
5416
5613
  extend ::Google::Protobuf::MessageExts::ClassMethods
5417
5614
  end
5418
5615
 
5616
+ # A request message for InterconnectGroups.CreateMembers. See the method description for details.
5617
+ # @!attribute [rw] interconnect_group
5618
+ # @return [::String]
5619
+ # Name of the group resource to create members for.
5620
+ # @!attribute [rw] interconnect_groups_create_members_request_resource
5621
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupsCreateMembersRequest]
5622
+ # The body resource for this request
5623
+ # @!attribute [rw] project
5624
+ # @return [::String]
5625
+ # Project ID for this request.
5626
+ class CreateMembersInterconnectGroupRequest
5627
+ include ::Google::Protobuf::MessageExts
5628
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5629
+ end
5630
+
5419
5631
  # A request message for Disks.CreateSnapshot. See the method description for details.
5420
5632
  # @!attribute [rw] disk
5421
5633
  # @return [::String]
@@ -5974,6 +6186,21 @@ module Google
5974
6186
  extend ::Google::Protobuf::MessageExts::ClassMethods
5975
6187
  end
5976
6188
 
6189
+ # A request message for InterconnectAttachmentGroups.Delete. See the method description for details.
6190
+ # @!attribute [rw] interconnect_attachment_group
6191
+ # @return [::String]
6192
+ # Name of the InterconnectAttachmentGroup resource to delete.
6193
+ # @!attribute [rw] project
6194
+ # @return [::String]
6195
+ # Project ID for this request.
6196
+ # @!attribute [rw] request_id
6197
+ # @return [::String]
6198
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder
6199
+ class DeleteInterconnectAttachmentGroupRequest
6200
+ include ::Google::Protobuf::MessageExts
6201
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6202
+ end
6203
+
5977
6204
  # A request message for InterconnectAttachments.Delete. See the method description for details.
5978
6205
  # @!attribute [rw] interconnect_attachment
5979
6206
  # @return [::String]
@@ -5992,6 +6219,21 @@ module Google
5992
6219
  extend ::Google::Protobuf::MessageExts::ClassMethods
5993
6220
  end
5994
6221
 
6222
+ # A request message for InterconnectGroups.Delete. See the method description for details.
6223
+ # @!attribute [rw] interconnect_group
6224
+ # @return [::String]
6225
+ # Name of the InterconnectGroup resource to delete.
6226
+ # @!attribute [rw] project
6227
+ # @return [::String]
6228
+ # Project ID for this request.
6229
+ # @!attribute [rw] request_id
6230
+ # @return [::String]
6231
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder
6232
+ class DeleteInterconnectGroupRequest
6233
+ include ::Google::Protobuf::MessageExts
6234
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6235
+ end
6236
+
5995
6237
  # A request message for Interconnects.Delete. See the method description for details.
5996
6238
  # @!attribute [rw] interconnect
5997
6239
  # @return [::String]
@@ -8235,6 +8477,9 @@ module Google
8235
8477
  # @!attribute [rw] network
8236
8478
  # @return [::String]
8237
8479
  # URL of the network resource for this firewall rule. If not specified when creating a firewall rule, the default network is used: global/networks/default If you choose to specify this field, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network - projects/myproject/global/networks/my-network - global/networks/default
8480
+ # @!attribute [rw] params
8481
+ # @return [::Google::Cloud::Compute::V1::FirewallParams]
8482
+ # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
8238
8483
  # @!attribute [rw] priority
8239
8484
  # @return [::Integer]
8240
8485
  # Priority for this rule. This is an integer between `0` and `65535`, both inclusive. The default value is `1000`. Relative priorities determine which rule takes effect if multiple rules apply. Lower values indicate higher priority. For example, a rule with priority `0` has higher precedence than a rule with priority `1`. DENY rules take precedence over ALLOW rules if they have equal priority. Note that VPC networks have implied rules with a priority of `65535`. To avoid conflicts with the implied rules, use a priority number less than `65535`.
@@ -8320,6 +8565,24 @@ module Google
8320
8565
  end
8321
8566
  end
8322
8567
 
8568
+ # Additional firewall parameters.
8569
+ # @!attribute [rw] resource_manager_tags
8570
+ # @return [::Google::Protobuf::Map{::String => ::String}]
8571
+ # Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * \\{"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"} * \\{"123/environment" : "production", "345/abc" : "xyz"} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: \\{"123/environment" : "tagValues/444"} is invalid.
8572
+ class FirewallParams
8573
+ include ::Google::Protobuf::MessageExts
8574
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8575
+
8576
+ # @!attribute [rw] key
8577
+ # @return [::String]
8578
+ # @!attribute [rw] value
8579
+ # @return [::String]
8580
+ class ResourceManagerTagsEntry
8581
+ include ::Google::Protobuf::MessageExts
8582
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8583
+ end
8584
+ end
8585
+
8323
8586
  # @!attribute [rw] associations
8324
8587
  # @return [::Array<::Google::Cloud::Compute::V1::FirewallPolicyAssociation>]
8325
8588
  # A list of associations.
@@ -8508,6 +8771,10 @@ module Google
8508
8771
  # @!attribute [rw] dest_ip_ranges
8509
8772
  # @return [::Array<::String>]
8510
8773
  # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
8774
+ # @!attribute [rw] dest_network_type
8775
+ # @return [::String]
8776
+ # Network type of the traffic destination. Allowed values are: - UNSPECIFIED - INTERNET - NON_INTERNET
8777
+ # Check the DestNetworkType enum for the list of possible values.
8511
8778
  # @!attribute [rw] dest_region_codes
8512
8779
  # @return [::Array<::String>]
8513
8780
  # Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is 5000.
@@ -8526,6 +8793,13 @@ module Google
8526
8793
  # @!attribute [rw] src_ip_ranges
8527
8794
  # @return [::Array<::String>]
8528
8795
  # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
8796
+ # @!attribute [rw] src_network_type
8797
+ # @return [::String]
8798
+ # Network type of the traffic source. Allowed values are: - UNSPECIFIED - INTERNET - INTRA_VPC - NON_INTERNET - VPC_NETWORKS
8799
+ # Check the SrcNetworkType enum for the list of possible values.
8800
+ # @!attribute [rw] src_networks
8801
+ # @return [::Array<::String>]
8802
+ # Networks of the traffic source. It can be either a full or partial url.
8529
8803
  # @!attribute [rw] src_region_codes
8530
8804
  # @return [::Array<::String>]
8531
8805
  # Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000.
@@ -8538,6 +8812,30 @@ module Google
8538
8812
  class FirewallPolicyRuleMatcher
8539
8813
  include ::Google::Protobuf::MessageExts
8540
8814
  extend ::Google::Protobuf::MessageExts::ClassMethods
8815
+
8816
+ # Network type of the traffic destination. Allowed values are: - UNSPECIFIED - INTERNET - NON_INTERNET
8817
+ # Additional supported values which may be not listed in the enum directly due to technical reasons:
8818
+ # INTERNET
8819
+ # INTRA_VPC
8820
+ # NON_INTERNET
8821
+ # UNSPECIFIED
8822
+ # VPC_NETWORKS
8823
+ module DestNetworkType
8824
+ # A value indicating that the enum field is not set.
8825
+ UNDEFINED_DEST_NETWORK_TYPE = 0
8826
+ end
8827
+
8828
+ # Network type of the traffic source. Allowed values are: - UNSPECIFIED - INTERNET - INTRA_VPC - NON_INTERNET - VPC_NETWORKS
8829
+ # Additional supported values which may be not listed in the enum directly due to technical reasons:
8830
+ # INTERNET
8831
+ # INTRA_VPC
8832
+ # NON_INTERNET
8833
+ # UNSPECIFIED
8834
+ # VPC_NETWORKS
8835
+ module SrcNetworkType
8836
+ # A value indicating that the enum field is not set.
8837
+ UNDEFINED_SRC_NETWORK_TYPE = 0
8838
+ end
8541
8839
  end
8542
8840
 
8543
8841
  # @!attribute [rw] ip_protocol
@@ -8617,6 +8915,13 @@ module Google
8617
8915
  # @!attribute [rw] description
8618
8916
  # @return [::String]
8619
8917
  # An optional description of this resource. Provide this property when you create the resource.
8918
+ # @!attribute [rw] external_managed_backend_bucket_migration_state
8919
+ # @return [::String]
8920
+ # Specifies the canary migration state for the backend buckets attached to this forwarding rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic to backend buckets attached to this forwarding rule by percentage using externalManagedBackendBucketMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.
8921
+ # Check the ExternalManagedBackendBucketMigrationState enum for the list of possible values.
8922
+ # @!attribute [rw] external_managed_backend_bucket_migration_testing_percentage
8923
+ # @return [::Float]
8924
+ # Determines the fraction of requests to backend buckets that should be processed by the global external Application Load Balancer. The value of this field must be in the range [0, 100]. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.
8620
8925
  # @!attribute [rw] fingerprint
8621
8926
  # @return [::String]
8622
8927
  # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.
@@ -8680,6 +8985,9 @@ module Google
8680
8985
  # @!attribute [rw] self_link
8681
8986
  # @return [::String]
8682
8987
  # [Output Only] Server-defined URL for the resource.
8988
+ # @!attribute [rw] self_link_with_id
8989
+ # @return [::String]
8990
+ # [Output Only] Server-defined URL for this resource with the resource id.
8683
8991
  # @!attribute [rw] service_directory_registrations
8684
8992
  # @return [::Array<::Google::Cloud::Compute::V1::ForwardingRuleServiceDirectoryRegistration>]
8685
8993
  # Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.
@@ -8711,6 +9019,18 @@ module Google
8711
9019
  extend ::Google::Protobuf::MessageExts::ClassMethods
8712
9020
  end
8713
9021
 
9022
+ # Specifies the canary migration state for the backend buckets attached to this forwarding rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic to backend buckets attached to this forwarding rule by percentage using externalManagedBackendBucketMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.
9023
+ module ExternalManagedBackendBucketMigrationState
9024
+ # A value indicating that the enum field is not set.
9025
+ UNDEFINED_EXTERNAL_MANAGED_BACKEND_BUCKET_MIGRATION_STATE = 0
9026
+
9027
+ PREPARE = 399_612_135
9028
+
9029
+ TEST_ALL_TRAFFIC = 79_728_882
9030
+
9031
+ TEST_BY_PERCENTAGE = 513_738_389
9032
+ end
9033
+
8714
9034
  # The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in [Load balancing features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends).
8715
9035
  module IPProtocolEnum
8716
9036
  # A value indicating that the enum field is not set.
@@ -9239,10 +9559,10 @@ module Google
9239
9559
  # A request message for GlobalOrganizationOperations.Get. See the method description for details.
9240
9560
  # @!attribute [rw] operation
9241
9561
  # @return [::String]
9242
- # Name of the Operations resource to return, or its unique numeric identifier.
9562
+ # Name of the Operations resource to return. Parent is derived from this field.
9243
9563
  # @!attribute [rw] parent_id
9244
9564
  # @return [::String]
9245
- # Parent ID for this request.
9565
+ # Parent ID for this request. Not used. Parent is derived from resource_id.
9246
9566
  class GetGlobalOrganizationOperationRequest
9247
9567
  include ::Google::Protobuf::MessageExts
9248
9568
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -9468,6 +9788,36 @@ module Google
9468
9788
  extend ::Google::Protobuf::MessageExts::ClassMethods
9469
9789
  end
9470
9790
 
9791
+ # A request message for InterconnectAttachmentGroups.GetIamPolicy. See the method description for details.
9792
+ # @!attribute [rw] options_requested_policy_version
9793
+ # @return [::Integer]
9794
+ # Requested IAM Policy version.
9795
+ # @!attribute [rw] project
9796
+ # @return [::String]
9797
+ # Project ID for this request.
9798
+ # @!attribute [rw] resource
9799
+ # @return [::String]
9800
+ # Name or id of the resource for this request.
9801
+ class GetIamPolicyInterconnectAttachmentGroupRequest
9802
+ include ::Google::Protobuf::MessageExts
9803
+ extend ::Google::Protobuf::MessageExts::ClassMethods
9804
+ end
9805
+
9806
+ # A request message for InterconnectGroups.GetIamPolicy. See the method description for details.
9807
+ # @!attribute [rw] options_requested_policy_version
9808
+ # @return [::Integer]
9809
+ # Requested IAM Policy version.
9810
+ # @!attribute [rw] project
9811
+ # @return [::String]
9812
+ # Project ID for this request.
9813
+ # @!attribute [rw] resource
9814
+ # @return [::String]
9815
+ # Name or id of the resource for this request.
9816
+ class GetIamPolicyInterconnectGroupRequest
9817
+ include ::Google::Protobuf::MessageExts
9818
+ extend ::Google::Protobuf::MessageExts::ClassMethods
9819
+ end
9820
+
9471
9821
  # A request message for Licenses.GetIamPolicy. See the method description for details.
9472
9822
  # @!attribute [rw] options_requested_policy_version
9473
9823
  # @return [::Integer]
@@ -9873,6 +10223,18 @@ module Google
9873
10223
  extend ::Google::Protobuf::MessageExts::ClassMethods
9874
10224
  end
9875
10225
 
10226
+ # A request message for InterconnectAttachmentGroups.Get. See the method description for details.
10227
+ # @!attribute [rw] interconnect_attachment_group
10228
+ # @return [::String]
10229
+ # Name of the InterconnectAttachmentGroup resource to return.
10230
+ # @!attribute [rw] project
10231
+ # @return [::String]
10232
+ # Project ID for this request.
10233
+ class GetInterconnectAttachmentGroupRequest
10234
+ include ::Google::Protobuf::MessageExts
10235
+ extend ::Google::Protobuf::MessageExts::ClassMethods
10236
+ end
10237
+
9876
10238
  # A request message for InterconnectAttachments.Get. See the method description for details.
9877
10239
  # @!attribute [rw] interconnect_attachment
9878
10240
  # @return [::String]
@@ -9888,6 +10250,18 @@ module Google
9888
10250
  extend ::Google::Protobuf::MessageExts::ClassMethods
9889
10251
  end
9890
10252
 
10253
+ # A request message for InterconnectGroups.Get. See the method description for details.
10254
+ # @!attribute [rw] interconnect_group
10255
+ # @return [::String]
10256
+ # Name of the InterconnectGroup resource to return.
10257
+ # @!attribute [rw] project
10258
+ # @return [::String]
10259
+ # Project ID for this request.
10260
+ class GetInterconnectGroupRequest
10261
+ include ::Google::Protobuf::MessageExts
10262
+ extend ::Google::Protobuf::MessageExts::ClassMethods
10263
+ end
10264
+
9891
10265
  # A request message for InterconnectLocations.Get. See the method description for details.
9892
10266
  # @!attribute [rw] interconnect_location
9893
10267
  # @return [::String]
@@ -10164,6 +10538,30 @@ module Google
10164
10538
  extend ::Google::Protobuf::MessageExts::ClassMethods
10165
10539
  end
10166
10540
 
10541
+ # A request message for InterconnectAttachmentGroups.GetOperationalStatus. See the method description for details.
10542
+ # @!attribute [rw] interconnect_attachment_group
10543
+ # @return [::String]
10544
+ # Name of the interconnectAttachmentGroup resource to query.
10545
+ # @!attribute [rw] project
10546
+ # @return [::String]
10547
+ # Project ID for this request.
10548
+ class GetOperationalStatusInterconnectAttachmentGroupRequest
10549
+ include ::Google::Protobuf::MessageExts
10550
+ extend ::Google::Protobuf::MessageExts::ClassMethods
10551
+ end
10552
+
10553
+ # A request message for InterconnectGroups.GetOperationalStatus. See the method description for details.
10554
+ # @!attribute [rw] interconnect_group
10555
+ # @return [::String]
10556
+ # Name of the interconnectGroup resource to query.
10557
+ # @!attribute [rw] project
10558
+ # @return [::String]
10559
+ # Project ID for this request.
10560
+ class GetOperationalStatusInterconnectGroupRequest
10561
+ include ::Google::Protobuf::MessageExts
10562
+ extend ::Google::Protobuf::MessageExts::ClassMethods
10563
+ end
10564
+
10167
10565
  # A request message for PacketMirrorings.Get. See the method description for details.
10168
10566
  # @!attribute [rw] packet_mirroring
10169
10567
  # @return [::String]
@@ -10582,12 +10980,31 @@ module Google
10582
10980
  # @!attribute [rw] reservation_block
10583
10981
  # @return [::String]
10584
10982
  # The name of the reservation block. Name should conform to RFC1035 or be a resource ID.
10983
+ # @!attribute [rw] view
10984
+ # @return [::String]
10985
+ # View of the Block.
10986
+ # Check the View enum for the list of possible values.
10585
10987
  # @!attribute [rw] zone
10586
10988
  # @return [::String]
10587
10989
  # Name of the zone for this request. Zone name should conform to RFC1035.
10588
10990
  class GetReservationBlockRequest
10589
10991
  include ::Google::Protobuf::MessageExts
10590
10992
  extend ::Google::Protobuf::MessageExts::ClassMethods
10993
+
10994
+ # View of the Block.
10995
+ module View
10996
+ # A value indicating that the enum field is not set.
10997
+ UNDEFINED_VIEW = 0
10998
+
10999
+ # This view includes basic information about the reservation block
11000
+ BASIC = 62_970_894
11001
+
11002
+ # The default / unset value. The API will default to the BASIC view.
11003
+ BLOCK_VIEW_UNSPECIFIED = 275_070_479
11004
+
11005
+ # Includes detailed topology view.
11006
+ FULL = 2_169_487
11007
+ end
10591
11008
  end
10592
11009
 
10593
11010
  # A request message for Reservations.Get. See the method description for details.
@@ -10605,6 +11022,24 @@ module Google
10605
11022
  extend ::Google::Protobuf::MessageExts::ClassMethods
10606
11023
  end
10607
11024
 
11025
+ # A request message for ReservationSubBlocks.Get. See the method description for details.
11026
+ # @!attribute [rw] parent_name
11027
+ # @return [::String]
11028
+ # The name of the parent reservation and parent block. In the format of reservations/\\{reservation_name}/reservationBlocks/\\{reservation_block_name}
11029
+ # @!attribute [rw] project
11030
+ # @return [::String]
11031
+ # Project ID for this request.
11032
+ # @!attribute [rw] reservation_sub_block
11033
+ # @return [::String]
11034
+ # The name of the reservation subBlock. Name should conform to RFC1035 or be a resource ID.
11035
+ # @!attribute [rw] zone
11036
+ # @return [::String]
11037
+ # Name of the zone for this request. Zone name should conform to RFC1035.
11038
+ class GetReservationSubBlockRequest
11039
+ include ::Google::Protobuf::MessageExts
11040
+ extend ::Google::Protobuf::MessageExts::ClassMethods
11041
+ end
11042
+
10608
11043
  # A request message for ResourcePolicies.Get. See the method description for details.
10609
11044
  # @!attribute [rw] project
10610
11045
  # @return [::String]
@@ -11224,6 +11659,12 @@ module Google
11224
11659
  end
11225
11660
 
11226
11661
  # Maintenance Info for ReservationBlocks.
11662
+ # @!attribute [rw] instance_maintenance_ongoing_count
11663
+ # @return [::Integer]
11664
+ # Describes number of instances that have ongoing maintenance.
11665
+ # @!attribute [rw] instance_maintenance_pending_count
11666
+ # @return [::Integer]
11667
+ # Describes number of instances that have pending maintenance.
11227
11668
  # @!attribute [rw] maintenance_ongoing_count
11228
11669
  # @return [::Integer]
11229
11670
  # Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have ongoing maintenance.
@@ -11234,6 +11675,12 @@ module Google
11234
11675
  # @return [::String]
11235
11676
  # The type of maintenance for the reservation.
11236
11677
  # Check the SchedulingType enum for the list of possible values.
11678
+ # @!attribute [rw] subblock_infra_maintenance_ongoing_count
11679
+ # @return [::Integer]
11680
+ # Describes number of subblock Infrastructure that has ongoing maintenance. Here, Subblock Infrastructure Maintenance pertains to upstream hardware contained in the Subblock that is necessary for a VM Family(e.g. NVLink Domains). Not all VM Families will support this field.
11681
+ # @!attribute [rw] subblock_infra_maintenance_pending_count
11682
+ # @return [::Integer]
11683
+ # Describes number of subblock Infrastructure that has pending maintenance. Here, Subblock Infrastructure Maintenance pertains to upstream hardware contained in the Subblock that is necessary for a VM Family (e.g. NVLink Domains). Not all VM Families will support this field.
11237
11684
  # @!attribute [rw] upcoming_group_maintenance
11238
11685
  # @return [::Google::Cloud::Compute::V1::UpcomingMaintenance]
11239
11686
  # Maintenance information on this group of VMs.
@@ -11318,6 +11765,8 @@ module Google
11318
11765
  # A value indicating that the enum field is not set.
11319
11766
  UNDEFINED_TYPE = 0
11320
11767
 
11768
+ BARE_METAL_LINUX_COMPATIBLE = 354_232_740
11769
+
11321
11770
  FEATURE_TYPE_UNSPECIFIED = 531_767_259
11322
11771
 
11323
11772
  GVNIC = 68_209_305
@@ -11336,6 +11785,8 @@ module Google
11336
11785
 
11337
11786
  SEV_SNP_CAPABLE = 426_919
11338
11787
 
11788
+ SNP_SVSM_CAPABLE = 52_921_460
11789
+
11339
11790
  TDX_CAPABLE = 240_446_133
11340
11791
 
11341
11792
  UEFI_COMPATIBLE = 195_865_408
@@ -12029,7 +12480,7 @@ module Google
12029
12480
  # The value of the header to add.
12030
12481
  # @!attribute [rw] replace
12031
12482
  # @return [::Boolean]
12032
- # If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header. The default value is false.
12483
+ # If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header. The default value is true, unless a variable is present in headerValue, in which case the default value is false. .
12033
12484
  class HttpHeaderOption
12034
12485
  include ::Google::Protobuf::MessageExts
12035
12486
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -12771,6 +13222,21 @@ module Google
12771
13222
  extend ::Google::Protobuf::MessageExts::ClassMethods
12772
13223
  end
12773
13224
 
13225
+ # A request message for InterconnectAttachmentGroups.Insert. See the method description for details.
13226
+ # @!attribute [rw] interconnect_attachment_group_resource
13227
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroup]
13228
+ # The body resource for this request
13229
+ # @!attribute [rw] project
13230
+ # @return [::String]
13231
+ # Project ID for this request.
13232
+ # @!attribute [rw] request_id
13233
+ # @return [::String]
13234
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder
13235
+ class InsertInterconnectAttachmentGroupRequest
13236
+ include ::Google::Protobuf::MessageExts
13237
+ extend ::Google::Protobuf::MessageExts::ClassMethods
13238
+ end
13239
+
12774
13240
  # A request message for InterconnectAttachments.Insert. See the method description for details.
12775
13241
  # @!attribute [rw] interconnect_attachment_resource
12776
13242
  # @return [::Google::Cloud::Compute::V1::InterconnectAttachment]
@@ -12792,6 +13258,21 @@ module Google
12792
13258
  extend ::Google::Protobuf::MessageExts::ClassMethods
12793
13259
  end
12794
13260
 
13261
+ # A request message for InterconnectGroups.Insert. See the method description for details.
13262
+ # @!attribute [rw] interconnect_group_resource
13263
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroup]
13264
+ # The body resource for this request
13265
+ # @!attribute [rw] project
13266
+ # @return [::String]
13267
+ # Project ID for this request.
13268
+ # @!attribute [rw] request_id
13269
+ # @return [::String]
13270
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder
13271
+ class InsertInterconnectGroupRequest
13272
+ include ::Google::Protobuf::MessageExts
13273
+ extend ::Google::Protobuf::MessageExts::ClassMethods
13274
+ end
13275
+
12795
13276
  # A request message for Interconnects.Insert. See the method description for details.
12796
13277
  # @!attribute [rw] interconnect_resource
12797
13278
  # @return [::Google::Cloud::Compute::V1::Interconnect]
@@ -13800,7 +14281,7 @@ module Google
13800
14281
  # Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
13801
14282
  # @!attribute [rw] metadata
13802
14283
  # @return [::Google::Cloud::Compute::V1::Metadata]
13803
- # The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
14284
+ # The metadata key/value pairs assigned to this instance. This includes metadata keys that were explicitly defined for the instance.
13804
14285
  # @!attribute [rw] min_cpu_platform
13805
14286
  # @return [::String]
13806
14287
  # Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
@@ -15953,9 +16434,15 @@ module Google
15953
16434
  end
15954
16435
 
15955
16436
  # Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.
16437
+ # @!attribute [rw] aai_enabled
16438
+ # @return [::Boolean]
16439
+ # Enable or disable the application awareness feature on this Cloud Interconnect.
15956
16440
  # @!attribute [rw] admin_enabled
15957
16441
  # @return [::Boolean]
15958
16442
  # 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.
16443
+ # @!attribute [rw] application_aware_interconnect
16444
+ # @return [::Google::Cloud::Compute::V1::InterconnectApplicationAwareInterconnect]
16445
+ # Configuration information for application awareness on this Cloud Interconnect.
15959
16446
  # @!attribute [rw] available_features
15960
16447
  # @return [::Array<::String>]
15961
16448
  # [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.
@@ -15987,6 +16474,9 @@ module Google
15987
16474
  # @!attribute [rw] interconnect_attachments
15988
16475
  # @return [::Array<::String>]
15989
16476
  # [Output Only] A list of the URLs of all InterconnectAttachments configured to use this Interconnect.
16477
+ # @!attribute [rw] interconnect_groups
16478
+ # @return [::Array<::String>]
16479
+ # [Output Only] URLs of InterconnectGroups that include this Interconnect. Order is arbitrary and items are unique.
15990
16480
  # @!attribute [rw] interconnect_type
15991
16481
  # @return [::String]
15992
16482
  # Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.
@@ -16131,10 +16621,80 @@ module Google
16131
16621
  end
16132
16622
  end
16133
16623
 
16624
+ # Configuration information for application awareness on this Cloud Interconnect.
16625
+ # @!attribute [rw] bandwidth_percentage_policy
16626
+ # @return [::Google::Cloud::Compute::V1::InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy]
16627
+ # @!attribute [rw] profile_description
16628
+ # @return [::String]
16629
+ # Description for the application awareness profile on this Cloud Interconnect.
16630
+ # @!attribute [rw] shape_average_percentages
16631
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectApplicationAwareInterconnectBandwidthPercentage>]
16632
+ # Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.
16633
+ # @!attribute [rw] strict_priority_policy
16634
+ # @return [::Google::Cloud::Compute::V1::InterconnectApplicationAwareInterconnectStrictPriorityPolicy]
16635
+ class InterconnectApplicationAwareInterconnect
16636
+ include ::Google::Protobuf::MessageExts
16637
+ extend ::Google::Protobuf::MessageExts::ClassMethods
16638
+ end
16639
+
16640
+ # Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified.
16641
+ # @!attribute [rw] percentage
16642
+ # @return [::Integer]
16643
+ # Bandwidth percentage for a specific traffic class.
16644
+ # @!attribute [rw] traffic_class
16645
+ # @return [::String]
16646
+ # TrafficClass whose bandwidth percentage is being specified.
16647
+ # Check the TrafficClass enum for the list of possible values.
16648
+ class InterconnectApplicationAwareInterconnectBandwidthPercentage
16649
+ include ::Google::Protobuf::MessageExts
16650
+ extend ::Google::Protobuf::MessageExts::ClassMethods
16651
+
16652
+ # TrafficClass whose bandwidth percentage is being specified.
16653
+ module TrafficClass
16654
+ # A value indicating that the enum field is not set.
16655
+ UNDEFINED_TRAFFIC_CLASS = 0
16656
+
16657
+ # Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx.
16658
+ TC1 = 82_850
16659
+
16660
+ # Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx.
16661
+ TC2 = 82_851
16662
+
16663
+ # Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx.
16664
+ TC3 = 82_852
16665
+
16666
+ # Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx.
16667
+ TC4 = 82_853
16668
+
16669
+ # Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx.
16670
+ TC5 = 82_854
16671
+
16672
+ # Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx.
16673
+ TC6 = 82_855
16674
+ end
16675
+ end
16676
+
16677
+ # @!attribute [rw] bandwidth_percentages
16678
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectApplicationAwareInterconnectBandwidthPercentage>]
16679
+ # Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent.
16680
+ class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy
16681
+ include ::Google::Protobuf::MessageExts
16682
+ extend ::Google::Protobuf::MessageExts::ClassMethods
16683
+ end
16684
+
16685
+ # Specify configuration for StrictPriorityPolicy.
16686
+ class InterconnectApplicationAwareInterconnectStrictPriorityPolicy
16687
+ include ::Google::Protobuf::MessageExts
16688
+ extend ::Google::Protobuf::MessageExts::ClassMethods
16689
+ end
16690
+
16134
16691
  # Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.
16135
16692
  # @!attribute [rw] admin_enabled
16136
16693
  # @return [::Boolean]
16137
16694
  # Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.
16695
+ # @!attribute [rw] attachment_group
16696
+ # @return [::String]
16697
+ # [Output Only] URL of the AttachmentGroup that includes this Attachment.
16138
16698
  # @!attribute [rw] bandwidth
16139
16699
  # @return [::String]
16140
16700
  # Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s
@@ -16206,7 +16766,7 @@ module Google
16206
16766
  # 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.
16207
16767
  # @!attribute [rw] mtu
16208
16768
  # @return [::Integer]
16209
- # Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
16769
+ # Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Valid values are 1440, 1460, 1500, and 8896. If not specified, the value will default to 1440.
16210
16770
  # @!attribute [rw] name
16211
16771
  # @return [::String]
16212
16772
  # 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.
@@ -16478,6 +17038,355 @@ module Google
16478
17038
  extend ::Google::Protobuf::MessageExts::ClassMethods
16479
17039
  end
16480
17040
 
17041
+ # An interconnect attachment group resource allows customers to create, analyze, and expand highly available deployments.
17042
+ # @!attribute [rw] attachments
17043
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Compute::V1::InterconnectAttachmentGroupAttachment}]
17044
+ # Attachments in the AttachmentGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not required, to use their preferred format for resource links as keys. Note that there are add-members and remove-members methods in gcloud. The size of this map is limited by an "Attachments per group" quota.
17045
+ # @!attribute [rw] configured
17046
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroupConfigured]
17047
+ # @!attribute [rw] creation_timestamp
17048
+ # @return [::String]
17049
+ # [Output Only] Creation timestamp in RFC3339 text format.
17050
+ # @!attribute [rw] description
17051
+ # @return [::String]
17052
+ # An optional description of this resource. Provide this property when you create the resource.
17053
+ # @!attribute [rw] etag
17054
+ # @return [::String]
17055
+ # Opaque system-generated token that uniquely identifies the configuration. If provided when patching a configuration in update mode, the provided token must match the current token or the update is rejected. This provides a reliable means of doing read-modify-write (optimistic locking) as described by AIP 154.
17056
+ # @!attribute [rw] id
17057
+ # @return [::Integer]
17058
+ # [Output Only] The unique identifier for the resource type. The server generates this identifier.
17059
+ # @!attribute [rw] intent
17060
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroupIntent]
17061
+ # @!attribute [rw] interconnect_group
17062
+ # @return [::String]
17063
+ # The URL of an InterconnectGroup that groups these Attachments' Interconnects. Customers do not need to set this unless directed by Google Support.
17064
+ # @!attribute [rw] kind
17065
+ # @return [::String]
17066
+ # [Output Only] Type of the resource. Always compute#interconnectAttachmentGroup.
17067
+ # @!attribute [rw] logical_structure
17068
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroupLogicalStructure]
17069
+ # @!attribute [rw] name
17070
+ # @return [::String]
17071
+ # 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.
17072
+ # @!attribute [rw] self_link
17073
+ # @return [::String]
17074
+ # [Output Only] Server-defined URL for the resource.
17075
+ class InterconnectAttachmentGroup
17076
+ include ::Google::Protobuf::MessageExts
17077
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17078
+
17079
+ # @!attribute [rw] key
17080
+ # @return [::String]
17081
+ # @!attribute [rw] value
17082
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroupAttachment]
17083
+ class AttachmentsEntry
17084
+ include ::Google::Protobuf::MessageExts
17085
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17086
+ end
17087
+ end
17088
+
17089
+ # An Attachment in this AttachmentGroup.
17090
+ # @!attribute [rw] attachment
17091
+ # @return [::String]
17092
+ class InterconnectAttachmentGroupAttachment
17093
+ include ::Google::Protobuf::MessageExts
17094
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17095
+ end
17096
+
17097
+ # [Output Only] The redundancy this group is configured to support. The way a user queries what SLA their Attachment gets is by looking at this field of the Attachment's AttachmentGroup.
17098
+ # @!attribute [rw] availability_sla
17099
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroupConfiguredAvailabilitySLA]
17100
+ class InterconnectAttachmentGroupConfigured
17101
+ include ::Google::Protobuf::MessageExts
17102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17103
+ end
17104
+
17105
+ # [Output Only] Which SLA this group is configured to support, and why this group does or does not meet that SLA's requirements.
17106
+ # @!attribute [rw] effective_sla
17107
+ # @return [::String]
17108
+ # Check the EffectiveSla enum for the list of possible values.
17109
+ # @!attribute [rw] intended_sla_blockers
17110
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers>]
17111
+ class InterconnectAttachmentGroupConfiguredAvailabilitySLA
17112
+ include ::Google::Protobuf::MessageExts
17113
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17114
+
17115
+
17116
+ module EffectiveSla
17117
+ # A value indicating that the enum field is not set.
17118
+ UNDEFINED_EFFECTIVE_SLA = 0
17119
+
17120
+ EFFECTIVE_SLA_UNSPECIFIED = 491_000_744
17121
+
17122
+ NO_SLA = 161_460_618
17123
+
17124
+ PRODUCTION_CRITICAL = 470_416_485
17125
+
17126
+ PRODUCTION_NON_CRITICAL = 117_399_223
17127
+ end
17128
+ end
17129
+
17130
+ # [Output Only] Reasons why configuration.availabilitySLA.sla differs from intent.availabilitySLA. This list is empty if and only if those are the same.
17131
+ # @!attribute [rw] attachments
17132
+ # @return [::Array<::String>]
17133
+ # [Output Only] URLs of any particular Attachments to explain this blocker in more detail.
17134
+ # @!attribute [rw] blocker_type
17135
+ # @return [::String]
17136
+ # Check the BlockerType enum for the list of possible values.
17137
+ # @!attribute [rw] documentation_link
17138
+ # @return [::String]
17139
+ # [Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for every type of requirement.
17140
+ # @!attribute [rw] explanation
17141
+ # @return [::String]
17142
+ # [Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every type of requirement.
17143
+ # @!attribute [rw] metros
17144
+ # @return [::Array<::String>]
17145
+ # [Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings like "iad". This will be set for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does not apply to others.
17146
+ # @!attribute [rw] regions
17147
+ # @return [::Array<::String>]
17148
+ # [Output Only] Regions used to explain this blocker in more detail. These are region names formatted like "us-central1". This will be set for some blockers (like INCOMPATIBLE_REGIONS) but does not apply to others.
17149
+ # @!attribute [rw] zones
17150
+ # @return [::Array<::String>]
17151
+ # [Output Only] Zones used to explain this blocker in more detail. Format is "zone1" and/or "zone2". This will be set for some blockers (like MISSING_ZONE) but does not apply to others.
17152
+ class InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers
17153
+ include ::Google::Protobuf::MessageExts
17154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17155
+
17156
+
17157
+ module BlockerType
17158
+ # A value indicating that the enum field is not set.
17159
+ UNDEFINED_BLOCKER_TYPE = 0
17160
+
17161
+ BLOCKER_TYPE_UNSPECIFIED = 429_793_623
17162
+
17163
+ INCOMPATIBLE_METROS = 290_410_432
17164
+
17165
+ INCOMPATIBLE_REGIONS = 6_195_033
17166
+
17167
+ MISSING_GLOBAL_ROUTING = 165_913_635
17168
+
17169
+ NO_ATTACHMENTS = 456_535_570
17170
+
17171
+ NO_ATTACHMENTS_IN_METRO_AND_ZONE = 51_684_135
17172
+
17173
+ OTHER = 75_532_016
17174
+ end
17175
+ end
17176
+
17177
+ # The user's intent for this AttachmentGroup. This is the only required field besides the name that must be specified on group creation.
17178
+ # @!attribute [rw] availability_sla
17179
+ # @return [::String]
17180
+ # Check the AvailabilitySla enum for the list of possible values.
17181
+ class InterconnectAttachmentGroupIntent
17182
+ include ::Google::Protobuf::MessageExts
17183
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17184
+
17185
+
17186
+ module AvailabilitySla
17187
+ # A value indicating that the enum field is not set.
17188
+ UNDEFINED_AVAILABILITY_SLA = 0
17189
+
17190
+ AVAILABILITY_SLA_UNSPECIFIED = 11_186_044
17191
+
17192
+ NO_SLA = 161_460_618
17193
+
17194
+ PRODUCTION_CRITICAL = 470_416_485
17195
+
17196
+ PRODUCTION_NON_CRITICAL = 117_399_223
17197
+ end
17198
+ end
17199
+
17200
+ # [Output Only] An analysis of the logical layout of Attachments in this group. Every Attachment in the group is shown once in this structure.
17201
+ # @!attribute [rw] regions
17202
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectAttachmentGroupLogicalStructureRegion>]
17203
+ class InterconnectAttachmentGroupLogicalStructure
17204
+ include ::Google::Protobuf::MessageExts
17205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17206
+ end
17207
+
17208
+ # [Output Only] The regions Attachments in this group are in.
17209
+ # @!attribute [rw] metros
17210
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectAttachmentGroupLogicalStructureRegionMetro>]
17211
+ # @!attribute [rw] region
17212
+ # @return [::String]
17213
+ # [Output Only] The name of a region, like "us-central1".
17214
+ class InterconnectAttachmentGroupLogicalStructureRegion
17215
+ include ::Google::Protobuf::MessageExts
17216
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17217
+ end
17218
+
17219
+ # [Output Only] The metros of Attachments in this group in this region.
17220
+ # @!attribute [rw] facilities
17221
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectAttachmentGroupLogicalStructureRegionMetroFacility>]
17222
+ # @!attribute [rw] metro
17223
+ # @return [::String]
17224
+ # [Output Only] The name of the metro, as a three-letter lowercase string like "iad". This is the first component of the location of an Interconnect.
17225
+ class InterconnectAttachmentGroupLogicalStructureRegionMetro
17226
+ include ::Google::Protobuf::MessageExts
17227
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17228
+ end
17229
+
17230
+ # [Output Only] The facilities used for this group's Attachments' Interconnects.
17231
+ # @!attribute [rw] facility
17232
+ # @return [::String]
17233
+ # [Output Only] The name of a facility, like "iad-1234".
17234
+ # @!attribute [rw] zones
17235
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone>]
17236
+ class InterconnectAttachmentGroupLogicalStructureRegionMetroFacility
17237
+ include ::Google::Protobuf::MessageExts
17238
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17239
+ end
17240
+
17241
+ # [Output Only] The zones that Attachments in this group are present in, in the given facilities. This is inherited from their Interconnects.
17242
+ # @!attribute [rw] attachments
17243
+ # @return [::Array<::String>]
17244
+ # [Output Only] URLs of Attachments in the given zone, to the given region, on Interconnects in the given facility and metro. Every Attachment in the AG has such an entry.
17245
+ # @!attribute [rw] zone
17246
+ # @return [::String]
17247
+ # [Output Only] The name of a zone, either "zone1" or "zone2".
17248
+ class InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone
17249
+ include ::Google::Protobuf::MessageExts
17250
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17251
+ end
17252
+
17253
+ # Response for the InterconnectAttachmentGroupsGetOperationalStatusResponse.
17254
+ # @!attribute [rw] etag
17255
+ # @return [::String]
17256
+ # @!attribute [rw] result
17257
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroupsOperationalStatus]
17258
+ class InterconnectAttachmentGroupsGetOperationalStatusResponse
17259
+ include ::Google::Protobuf::MessageExts
17260
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17261
+ end
17262
+
17263
+ # @!attribute [rw] etag
17264
+ # @return [::String]
17265
+ # @!attribute [rw] id
17266
+ # @return [::String]
17267
+ # [Output Only] Unique identifier for the resource; defined by the server.
17268
+ # @!attribute [rw] items
17269
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectAttachmentGroup>]
17270
+ # A list of InterconnectAttachmentGroup resources.
17271
+ # @!attribute [rw] kind
17272
+ # @return [::String]
17273
+ # @!attribute [rw] next_page_token
17274
+ # @return [::String]
17275
+ # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
17276
+ # @!attribute [rw] self_link
17277
+ # @return [::String]
17278
+ # [Output Only] Server-defined URL for this resource.
17279
+ # @!attribute [rw] unreachables
17280
+ # @return [::Array<::String>]
17281
+ # [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder
17282
+ # @!attribute [rw] warning
17283
+ # @return [::Google::Cloud::Compute::V1::Warning]
17284
+ # [Output Only] Informational warning message.
17285
+ class InterconnectAttachmentGroupsListResponse
17286
+ include ::Google::Protobuf::MessageExts
17287
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17288
+ end
17289
+
17290
+ # @!attribute [rw] attachment_statuses
17291
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectAttachmentGroupsOperationalStatusAttachmentStatus>]
17292
+ # @!attribute [rw] configured
17293
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroupConfigured]
17294
+ # @!attribute [rw] group_status
17295
+ # @return [::String]
17296
+ # Summarizes the status of the group.
17297
+ # Check the GroupStatus enum for the list of possible values.
17298
+ # @!attribute [rw] intent
17299
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroupIntent]
17300
+ # @!attribute [rw] operational
17301
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroupConfigured]
17302
+ # The operational state of the group, including only active Attachments.
17303
+ class InterconnectAttachmentGroupsOperationalStatus
17304
+ include ::Google::Protobuf::MessageExts
17305
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17306
+
17307
+ # Summarizes the status of the group.
17308
+ module GroupStatus
17309
+ # A value indicating that the enum field is not set.
17310
+ UNDEFINED_GROUP_STATUS = 0
17311
+
17312
+ DEGRADED = 396_890_926
17313
+
17314
+ FULLY_DOWN = 255_514_647
17315
+
17316
+ FULLY_UP = 504_176_464
17317
+
17318
+ UNSPECIFIED = 526_786_327
17319
+ end
17320
+ end
17321
+
17322
+ # The status of one Attachment in the group. List order is arbitrary.
17323
+ # @!attribute [rw] admin_enabled
17324
+ # @return [::Boolean]
17325
+ # Whether this Attachment is enabled. This becomes false when the customer drains their Attachment.
17326
+ # @!attribute [rw] attachment
17327
+ # @return [::String]
17328
+ # The URL of the Attachment being described.
17329
+ # @!attribute [rw] is_active
17330
+ # @return [::String]
17331
+ # Whether this Attachment is participating in the redundant configuration. This will be ACTIVE if and only if the status below is CONNECTION_UP. Any INACTIVE Attachments are excluded from the analysis that generates operational.availabilitySLA.
17332
+ # Check the IsActive enum for the list of possible values.
17333
+ # @!attribute [rw] status
17334
+ # @return [::String]
17335
+ # Whether this Attachment is active, and if so, whether BGP is up. This is based on the statuses available in the Pantheon UI here: http://google3/java/com/google/cloud/boq/clientapi/gce/hybrid/api/interconnect_models.proto
17336
+ # Check the Status enum for the list of possible values.
17337
+ class InterconnectAttachmentGroupsOperationalStatusAttachmentStatus
17338
+ include ::Google::Protobuf::MessageExts
17339
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17340
+
17341
+ # Whether this Attachment is participating in the redundant configuration. This will be ACTIVE if and only if the status below is CONNECTION_UP. Any INACTIVE Attachments are excluded from the analysis that generates operational.availabilitySLA.
17342
+ module IsActive
17343
+ # A value indicating that the enum field is not set.
17344
+ UNDEFINED_IS_ACTIVE = 0
17345
+
17346
+ ACTIVE = 314_733_318
17347
+
17348
+ INACTIVE = 270_421_099
17349
+
17350
+ UNSPECIFIED = 526_786_327
17351
+ end
17352
+
17353
+ # Whether this Attachment is active, and if so, whether BGP is up. This is based on the statuses available in the Pantheon UI here: http://google3/java/com/google/cloud/boq/clientapi/gce/hybrid/api/interconnect_models.proto
17354
+ module Status
17355
+ # A value indicating that the enum field is not set.
17356
+ UNDEFINED_STATUS = 0
17357
+
17358
+ ATTACHMENT_STATUS_UNKNOWN = 472_477_561
17359
+
17360
+ CONNECTION_DISABLED = 432_687_805
17361
+
17362
+ CONNECTION_DOWN = 267_552_099
17363
+
17364
+ CONNECTION_UP = 455_585_692
17365
+
17366
+ DEFUNCT = 115_891_759
17367
+
17368
+ IPSEC_CONFIGURATION_NEEDED_STATUS = 455_203_582
17369
+
17370
+ IPSEC_READY_TO_RESUME_FLOW_STATUS = 384_830_596
17371
+
17372
+ IPV4_DOWN_IPV6_UP = 277_490_992
17373
+
17374
+ IPV4_UP_IPV6_DOWN = 316_051_248
17375
+
17376
+ PARTNER_REQUEST_RECEIVED = 513_587_304
17377
+
17378
+ PENDING_CUSTOMER = 167_494_054
17379
+
17380
+ PENDING_PARTNER = 387_890_656
17381
+
17382
+ PROVISIONED = 355_751_956
17383
+
17384
+ ROUTER_CONFIGURATION_BROKEN = 150_505_108
17385
+
17386
+ UNPROVISIONED = 517_333_979
17387
+ end
17388
+ end
17389
+
16481
17390
  # Response to the list request, and contains a list of interconnect attachments.
16482
17391
  # @!attribute [rw] id
16483
17392
  # @return [::String]
@@ -16724,6 +17633,419 @@ module Google
16724
17633
  extend ::Google::Protobuf::MessageExts::ClassMethods
16725
17634
  end
16726
17635
 
17636
+ # An interconnect group resource allows customers to create, analyze, and expand their redundant connections.
17637
+ # @!attribute [rw] configured
17638
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupConfigured]
17639
+ # @!attribute [rw] creation_timestamp
17640
+ # @return [::String]
17641
+ # [Output Only] Creation timestamp in RFC3339 text format.
17642
+ # @!attribute [rw] description
17643
+ # @return [::String]
17644
+ # An optional description of this resource. Provide this property when you create the resource.
17645
+ # @!attribute [rw] etag
17646
+ # @return [::String]
17647
+ # Opaque system-generated token that uniquely identifies the configuration. If provided when patching a configuration in update mode, the provided token must match the current token or the update is rejected. This provides a reliable means of doing read-modify-write (optimistic locking) as described by API 154.
17648
+ # @!attribute [rw] id
17649
+ # @return [::Integer]
17650
+ # [Output Only] The unique identifier for the resource type. The server generates this identifier.
17651
+ # @!attribute [rw] intent
17652
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupIntent]
17653
+ # @!attribute [rw] interconnects
17654
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Compute::V1::InterconnectGroupInterconnect}]
17655
+ # Interconnects in the InterconnectGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not required, to use their preferred format for resource links as keys. Note that there are add-members and remove-members methods in gcloud. The size of this map is limited by an "Interconnects per group" quota.
17656
+ # @!attribute [rw] kind
17657
+ # @return [::String]
17658
+ # [Output Only] Type of the resource. Always compute#InterconnectGroup
17659
+ # @!attribute [rw] name
17660
+ # @return [::String]
17661
+ # 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.
17662
+ # @!attribute [rw] physical_structure
17663
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupPhysicalStructure]
17664
+ # @!attribute [rw] self_link
17665
+ # @return [::String]
17666
+ # [Output Only] Server-defined URL for the resource.
17667
+ class InterconnectGroup
17668
+ include ::Google::Protobuf::MessageExts
17669
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17670
+
17671
+ # @!attribute [rw] key
17672
+ # @return [::String]
17673
+ # @!attribute [rw] value
17674
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupInterconnect]
17675
+ class InterconnectsEntry
17676
+ include ::Google::Protobuf::MessageExts
17677
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17678
+ end
17679
+ end
17680
+
17681
+ # [Output Only] The status of the group as configured. This has the same structure as the operational field reported by the OperationalStatus method, but does not take into account the operational status of each resource.
17682
+ # @!attribute [rw] topology_capability
17683
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupConfiguredTopologyCapability]
17684
+ class InterconnectGroupConfigured
17685
+ include ::Google::Protobuf::MessageExts
17686
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17687
+ end
17688
+
17689
+ # [Output Only] How reliable this topology is configured to be, and why this group does or does not meet the requirements for the intended capability.
17690
+ # @!attribute [rw] intended_capability_blockers
17691
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers>]
17692
+ # @!attribute [rw] supported_sla
17693
+ # @return [::String]
17694
+ # Check the SupportedSla enum for the list of possible values.
17695
+ class InterconnectGroupConfiguredTopologyCapability
17696
+ include ::Google::Protobuf::MessageExts
17697
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17698
+
17699
+
17700
+ module SupportedSla
17701
+ # A value indicating that the enum field is not set.
17702
+ UNDEFINED_SUPPORTED_SLA = 0
17703
+
17704
+ NO_SLA = 161_460_618
17705
+
17706
+ PRODUCTION_CRITICAL = 470_416_485
17707
+
17708
+ PRODUCTION_NON_CRITICAL = 117_399_223
17709
+
17710
+ UNSPECIFIED = 526_786_327
17711
+ end
17712
+ end
17713
+
17714
+ # [Output Only] Reasons why configuration.topologyCapability.sla differs from intent.topologyCapability. This list is empty if and only if those are the same.
17715
+ # @!attribute [rw] blocker_type
17716
+ # @return [::String]
17717
+ # Check the BlockerType enum for the list of possible values.
17718
+ # @!attribute [rw] documentation_link
17719
+ # @return [::String]
17720
+ # [Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for every type of requirement.
17721
+ # @!attribute [rw] explanation
17722
+ # @return [::String]
17723
+ # [Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every type of requirement.
17724
+ # @!attribute [rw] facilities
17725
+ # @return [::Array<::String>]
17726
+ # [Output Only] Facilities used to explain this blocker in more detail. Like physicalStructure.metros.facilities.facility, this is a numeric string like "5467".
17727
+ # @!attribute [rw] interconnects
17728
+ # @return [::Array<::String>]
17729
+ # [Output Only] Interconnects used to explain this blocker in more detail.
17730
+ # @!attribute [rw] metros
17731
+ # @return [::Array<::String>]
17732
+ # [Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings like "iad". A blocker like INCOMPATIBLE_METROS will specify the problematic metros in this field.
17733
+ # @!attribute [rw] zones
17734
+ # @return [::Array<::String>]
17735
+ # [Output Only] Zones used to explain this blocker in more detail. Zone names are "zone1" and/or "zone2".
17736
+ class InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers
17737
+ include ::Google::Protobuf::MessageExts
17738
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17739
+
17740
+
17741
+ module BlockerType
17742
+ # A value indicating that the enum field is not set.
17743
+ UNDEFINED_BLOCKER_TYPE = 0
17744
+
17745
+ INCOMPATIBLE_METROS = 290_410_432
17746
+
17747
+ NOT_AVAILABLE = 140_722_205
17748
+
17749
+ NO_INTERCONNECTS = 523_549_575
17750
+
17751
+ NO_INTERCONNECTS_IN_METRO_AND_ZONE = 440_966_492
17752
+
17753
+ OTHER = 75_532_016
17754
+
17755
+ UNSPECIFIED = 526_786_327
17756
+ end
17757
+ end
17758
+
17759
+ # The user's intent for this group. This is the only required field besides the name that must be specified on group creation.
17760
+ # @!attribute [rw] topology_capability
17761
+ # @return [::String]
17762
+ # Check the TopologyCapability enum for the list of possible values.
17763
+ class InterconnectGroupIntent
17764
+ include ::Google::Protobuf::MessageExts
17765
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17766
+
17767
+
17768
+ module TopologyCapability
17769
+ # A value indicating that the enum field is not set.
17770
+ UNDEFINED_TOPOLOGY_CAPABILITY = 0
17771
+
17772
+ NO_SLA = 161_460_618
17773
+
17774
+ PRODUCTION_CRITICAL = 470_416_485
17775
+
17776
+ PRODUCTION_NON_CRITICAL = 117_399_223
17777
+
17778
+ UNSPECIFIED = 526_786_327
17779
+ end
17780
+ end
17781
+
17782
+ # An Interconnect in this InterconnectGroup.
17783
+ # @!attribute [rw] interconnect
17784
+ # @return [::String]
17785
+ # The URL of an Interconnect in this group. All Interconnects in the group are unique.
17786
+ class InterconnectGroupInterconnect
17787
+ include ::Google::Protobuf::MessageExts
17788
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17789
+ end
17790
+
17791
+ # [Output Only] An analysis of the physical layout of Interconnects in this group. Every Interconnect in the group is shown once in this structure.
17792
+ # @!attribute [rw] metros
17793
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectGroupPhysicalStructureMetros>]
17794
+ class InterconnectGroupPhysicalStructure
17795
+ include ::Google::Protobuf::MessageExts
17796
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17797
+ end
17798
+
17799
+ # [Output Only] The metros Interconnects in this group are in.
17800
+ # @!attribute [rw] facilities
17801
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectGroupPhysicalStructureMetrosFacilities>]
17802
+ # @!attribute [rw] metro
17803
+ # @return [::String]
17804
+ # [Output Only] The name of the metro, as a three-letter lowercase string like "iad". This is the first component of the location of Interconnects underneath this.
17805
+ class InterconnectGroupPhysicalStructureMetros
17806
+ include ::Google::Protobuf::MessageExts
17807
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17808
+ end
17809
+
17810
+ # [Output Only] The facilities Interconnects in this metro are present in.
17811
+ # @!attribute [rw] facility
17812
+ # @return [::String]
17813
+ # [Output Only] The ID of this facility, as a numeric string like "5467". This is the third component of the location of Interconnects in this facility.
17814
+ # @!attribute [rw] zones
17815
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectGroupPhysicalStructureMetrosFacilitiesZones>]
17816
+ class InterconnectGroupPhysicalStructureMetrosFacilities
17817
+ include ::Google::Protobuf::MessageExts
17818
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17819
+ end
17820
+
17821
+ # [Output Only] The zones that Interconnects in this facility are present in.
17822
+ # @!attribute [rw] interconnects
17823
+ # @return [::Array<::String>]
17824
+ # [Output Only] URLs of Interconnects in this redundancy group in the given metro, facility, and zone.
17825
+ # @!attribute [rw] zone
17826
+ # @return [::String]
17827
+ # [Output Only] The name of the zone, either "zone1" or "zone2". This is the second component of the location of Interconnects in this facility.
17828
+ class InterconnectGroupPhysicalStructureMetrosFacilitiesZones
17829
+ include ::Google::Protobuf::MessageExts
17830
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17831
+ end
17832
+
17833
+ # @!attribute [rw] intent_mismatch_behavior
17834
+ # @return [::String]
17835
+ # How to behave when configured.topologyCapability.supportedSLA would not equal intent.topologyCapability after this call.
17836
+ # Check the IntentMismatchBehavior enum for the list of possible values.
17837
+ # @!attribute [rw] interconnects
17838
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectGroupsCreateMembersInterconnectInput>]
17839
+ # @!attribute [rw] template_interconnect
17840
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupsCreateMembersInterconnectInput]
17841
+ # Parameters for the Interconnects to create.
17842
+ class InterconnectGroupsCreateMembers
17843
+ include ::Google::Protobuf::MessageExts
17844
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17845
+
17846
+ # How to behave when configured.topologyCapability.supportedSLA would not equal intent.topologyCapability after this call.
17847
+ module IntentMismatchBehavior
17848
+ # A value indicating that the enum field is not set.
17849
+ UNDEFINED_INTENT_MISMATCH_BEHAVIOR = 0
17850
+
17851
+ CREATE = 385_389_820
17852
+
17853
+ REJECT = 266_102_687
17854
+
17855
+ UNSPECIFIED = 526_786_327
17856
+ end
17857
+ end
17858
+
17859
+ # LINT.IfChange
17860
+ # @!attribute [rw] admin_enabled
17861
+ # @return [::Boolean]
17862
+ # 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.
17863
+ # @!attribute [rw] customer_name
17864
+ # @return [::String]
17865
+ # Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect.
17866
+ # @!attribute [rw] description
17867
+ # @return [::String]
17868
+ # An optional description of this resource. Provide this property when you create the resource.
17869
+ # @!attribute [rw] facility
17870
+ # @return [::String]
17871
+ # A zone-free location to use for all Interconnects created in this call, like "iad-1234".
17872
+ # @!attribute [rw] interconnect_type
17873
+ # @return [::String]
17874
+ # Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.
17875
+ # Check the InterconnectType enum for the list of possible values.
17876
+ # @!attribute [rw] link_type
17877
+ # @return [::String]
17878
+ # Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle.
17879
+ # Check the LinkType enum for the list of possible values.
17880
+ # @!attribute [rw] name
17881
+ # @return [::String]
17882
+ # Name of the Interconnects to be created. This must be specified on the template and/or on each individual interconnect. The name, if not empty, must be 1-63 characters long, and comply with RFC1035. Specifically, any nonempty 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.
17883
+ # @!attribute [rw] noc_contact_email
17884
+ # @return [::String]
17885
+ # Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Cloud Monitoring logs alerting and Cloud Notifications. This field is required for users who sign up for Cloud Interconnect using workforce identity federation.
17886
+ # @!attribute [rw] remote_location
17887
+ # @return [::String]
17888
+ # Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to.
17889
+ # @!attribute [rw] requested_features
17890
+ # @return [::Array<::String>]
17891
+ # 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.
17892
+ # Check the RequestedFeatures enum for the list of possible values.
17893
+ # @!attribute [rw] requested_link_count
17894
+ # @return [::Integer]
17895
+ # Target number of physical links in the link bundle, as requested by the customer.
17896
+ class InterconnectGroupsCreateMembersInterconnectInput
17897
+ include ::Google::Protobuf::MessageExts
17898
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17899
+
17900
+ # Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.
17901
+ module InterconnectType
17902
+ # A value indicating that the enum field is not set.
17903
+ UNDEFINED_INTERCONNECT_TYPE = 0
17904
+
17905
+ # A dedicated physical interconnection with the customer.
17906
+ DEDICATED = 258_411_983
17907
+
17908
+ # [Deprecated] A private, physical interconnection with the customer.
17909
+ IT_PRIVATE = 335_677_007
17910
+
17911
+ # A partner-managed interconnection shared between customers via partner.
17912
+ PARTNER = 461_924_520
17913
+ end
17914
+
17915
+ # Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle.
17916
+ module LinkType
17917
+ # A value indicating that the enum field is not set.
17918
+ UNDEFINED_LINK_TYPE = 0
17919
+
17920
+ # 100G Ethernet, LR Optics.
17921
+ LINK_TYPE_ETHERNET_100G_LR = 337_672_551
17922
+
17923
+ # 10G Ethernet, LR Optics. [(rate_bps) = 10000000000];
17924
+ LINK_TYPE_ETHERNET_10G_LR = 236_739_749
17925
+
17926
+ # 400G Ethernet, LR4 Optics.
17927
+ LINK_TYPE_ETHERNET_400G_LR4 = 127_023_690
17928
+ end
17929
+
17930
+ module RequestedFeatures
17931
+ # A value indicating that the enum field is not set.
17932
+ UNDEFINED_REQUESTED_FEATURES = 0
17933
+
17934
+ # Media Access Control security (MACsec)
17935
+ IF_MACSEC = 396_279_300
17936
+ end
17937
+ end
17938
+
17939
+ # @!attribute [rw] request
17940
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupsCreateMembers]
17941
+ class InterconnectGroupsCreateMembersRequest
17942
+ include ::Google::Protobuf::MessageExts
17943
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17944
+ end
17945
+
17946
+ # Response for the InterconnectGroupsGetOperationalStatusResponse.
17947
+ # @!attribute [rw] etag
17948
+ # @return [::String]
17949
+ # @!attribute [rw] result
17950
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupsOperationalStatus]
17951
+ class InterconnectGroupsGetOperationalStatusResponse
17952
+ include ::Google::Protobuf::MessageExts
17953
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17954
+ end
17955
+
17956
+ # @!attribute [rw] etag
17957
+ # @return [::String]
17958
+ # @!attribute [rw] id
17959
+ # @return [::String]
17960
+ # [Output Only] Unique identifier for the resource; defined by the server.
17961
+ # @!attribute [rw] items
17962
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectGroup>]
17963
+ # A list of InterconnectGroup resources.
17964
+ # @!attribute [rw] kind
17965
+ # @return [::String]
17966
+ # @!attribute [rw] next_page_token
17967
+ # @return [::String]
17968
+ # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
17969
+ # @!attribute [rw] self_link
17970
+ # @return [::String]
17971
+ # [Output Only] Server-defined URL for this resource.
17972
+ # @!attribute [rw] unreachables
17973
+ # @return [::Array<::String>]
17974
+ # [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder
17975
+ # @!attribute [rw] warning
17976
+ # @return [::Google::Cloud::Compute::V1::Warning]
17977
+ # [Output Only] Informational warning message.
17978
+ class InterconnectGroupsListResponse
17979
+ include ::Google::Protobuf::MessageExts
17980
+ extend ::Google::Protobuf::MessageExts::ClassMethods
17981
+ end
17982
+
17983
+ # Request to get the status of the interconnect group with extra detail.
17984
+ # @!attribute [rw] configured
17985
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupConfigured]
17986
+ # The configuration analysis, as returned by Get.
17987
+ # @!attribute [rw] group_status
17988
+ # @return [::String]
17989
+ # Summarizes the status of the group.
17990
+ # Check the GroupStatus enum for the list of possible values.
17991
+ # @!attribute [rw] intent
17992
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupIntent]
17993
+ # The intent of the resource, as returned by Get.
17994
+ # @!attribute [rw] interconnect_statuses
17995
+ # @return [::Array<::Google::Cloud::Compute::V1::InterconnectGroupsOperationalStatusInterconnectStatus>]
17996
+ # @!attribute [rw] operational
17997
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroupConfigured]
17998
+ # The operational state of the group, including only active Interconnects.
17999
+ class InterconnectGroupsOperationalStatus
18000
+ include ::Google::Protobuf::MessageExts
18001
+ extend ::Google::Protobuf::MessageExts::ClassMethods
18002
+
18003
+ # Summarizes the status of the group.
18004
+ module GroupStatus
18005
+ # A value indicating that the enum field is not set.
18006
+ UNDEFINED_GROUP_STATUS = 0
18007
+
18008
+ DEGRADED = 396_890_926
18009
+
18010
+ FULLY_DOWN = 255_514_647
18011
+
18012
+ FULLY_UP = 504_176_464
18013
+
18014
+ GROUPS_STATUS_UNSPECIFIED = 261_932_693
18015
+ end
18016
+ end
18017
+
18018
+ # The status of one Interconnect in the group. The order is arbitrary.
18019
+ # @!attribute [rw] admin_enabled
18020
+ # @return [::Boolean]
18021
+ # Whether the Interconnect is enabled.
18022
+ # @!attribute [rw] diagnostics
18023
+ # @return [::Google::Cloud::Compute::V1::InterconnectDiagnostics]
18024
+ # The diagnostics of the Interconnect, as returned by the existing get-diagnostics method.
18025
+ # @!attribute [rw] interconnect
18026
+ # @return [::String]
18027
+ # The URL of the Interconnect being described.
18028
+ # @!attribute [rw] is_active
18029
+ # @return [::String]
18030
+ # Whether this interconnect is participating in the redundant configuration.
18031
+ # Check the IsActive enum for the list of possible values.
18032
+ class InterconnectGroupsOperationalStatusInterconnectStatus
18033
+ include ::Google::Protobuf::MessageExts
18034
+ extend ::Google::Protobuf::MessageExts::ClassMethods
18035
+
18036
+ # Whether this interconnect is participating in the redundant configuration.
18037
+ module IsActive
18038
+ # A value indicating that the enum field is not set.
18039
+ UNDEFINED_IS_ACTIVE = 0
18040
+
18041
+ ACTIVE = 314_733_318
18042
+
18043
+ INACTIVE = 270_421_099
18044
+
18045
+ IS_ACTIVE_UNSPECIFIED = 274_948_243
18046
+ end
18047
+ end
18048
+
16727
18049
  # Response to the list request, and contains a list of interconnects.
16728
18050
  # @!attribute [rw] id
16729
18051
  # @return [::String]
@@ -17306,6 +18628,12 @@ module Google
17306
18628
  end
17307
18629
 
17308
18630
  # Represents a License resource. A License represents billing and aggregate usage data for public and marketplace images. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.
18631
+ # @!attribute [rw] allowed_replacement_licenses
18632
+ # @return [::Array<::String>]
18633
+ # Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false.
18634
+ # @!attribute [rw] appendable_to_disk
18635
+ # @return [::Boolean]
18636
+ # If true, this license can be appended to an existing disk's set of licenses.
17309
18637
  # @!attribute [rw] charges_use_fee
17310
18638
  # @return [::Boolean]
17311
18639
  # [Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee.
@@ -17318,24 +18646,51 @@ module Google
17318
18646
  # @!attribute [rw] id
17319
18647
  # @return [::Integer]
17320
18648
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
18649
+ # @!attribute [rw] incompatible_licenses
18650
+ # @return [::Array<::String>]
18651
+ # Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image.
17321
18652
  # @!attribute [rw] kind
17322
18653
  # @return [::String]
17323
18654
  # [Output Only] Type of resource. Always compute#license for licenses.
17324
18655
  # @!attribute [rw] license_code
17325
18656
  # @return [::Integer]
17326
18657
  # [Output Only] The unique code used to attach this license to images, snapshots, and disks.
18658
+ # @!attribute [rw] minimum_retention
18659
+ # @return [::Google::Cloud::Compute::V1::Duration]
18660
+ # If set, this license will be unable to be removed or replaced once attached to a disk until the minimum_retention period has passed.
18661
+ # @!attribute [rw] multi_tenant_only
18662
+ # @return [::Boolean]
18663
+ # If true, this license can only be used on VMs on multi tenant nodes.
17327
18664
  # @!attribute [rw] name
17328
18665
  # @return [::String]
17329
18666
  # Name of the resource. The name must be 1-63 characters long and comply with RFC1035.
18667
+ # @!attribute [rw] os_license
18668
+ # @return [::Boolean]
18669
+ # If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time.
18670
+ # @!attribute [rw] removable_from_disk
18671
+ # @return [::Boolean]
18672
+ # If true, this license can be removed from a disk's set of licenses, with no replacement license needed.
18673
+ # @!attribute [rw] required_coattached_licenses
18674
+ # @return [::Array<::String>]
18675
+ # Specifies the set of permissible coattached licenseCodes of licenses that satisfy the coattachment requirement of this license. At least one license from the set must be attached to the same disk or image as this license.
17330
18676
  # @!attribute [rw] resource_requirements
17331
18677
  # @return [::Google::Cloud::Compute::V1::LicenseResourceRequirements]
17332
18678
  # [Input Only] Deprecated.
17333
18679
  # @!attribute [rw] self_link
17334
18680
  # @return [::String]
17335
18681
  # [Output Only] Server-defined URL for the resource.
18682
+ # @!attribute [rw] self_link_with_id
18683
+ # @return [::String]
18684
+ # [Output Only] Server-defined URL for this resource with the resource id.
18685
+ # @!attribute [rw] sole_tenant_only
18686
+ # @return [::Boolean]
18687
+ # If true, this license can only be used on VMs on sole tenant nodes.
17336
18688
  # @!attribute [rw] transferable
17337
18689
  # @return [::Boolean]
17338
18690
  # If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk.
18691
+ # @!attribute [rw] update_timestamp
18692
+ # @return [::String]
18693
+ # [Output Only] Last update timestamp in RFC3339 text format.
17339
18694
  class License
17340
18695
  include ::Google::Protobuf::MessageExts
17341
18696
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -18375,6 +19730,30 @@ module Google
18375
19730
  extend ::Google::Protobuf::MessageExts::ClassMethods
18376
19731
  end
18377
19732
 
19733
+ # A request message for InterconnectAttachmentGroups.List. See the method description for details.
19734
+ # @!attribute [rw] filter
19735
+ # @return [::String]
19736
+ # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
19737
+ # @!attribute [rw] max_results
19738
+ # @return [::Integer]
19739
+ # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
19740
+ # @!attribute [rw] order_by
19741
+ # @return [::String]
19742
+ # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
19743
+ # @!attribute [rw] page_token
19744
+ # @return [::String]
19745
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
19746
+ # @!attribute [rw] project
19747
+ # @return [::String]
19748
+ # Project ID for this request.
19749
+ # @!attribute [rw] return_partial_success
19750
+ # @return [::Boolean]
19751
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19752
+ class ListInterconnectAttachmentGroupsRequest
19753
+ include ::Google::Protobuf::MessageExts
19754
+ extend ::Google::Protobuf::MessageExts::ClassMethods
19755
+ end
19756
+
18378
19757
  # A request message for InterconnectAttachments.List. See the method description for details.
18379
19758
  # @!attribute [rw] filter
18380
19759
  # @return [::String]
@@ -18402,6 +19781,30 @@ module Google
18402
19781
  extend ::Google::Protobuf::MessageExts::ClassMethods
18403
19782
  end
18404
19783
 
19784
+ # A request message for InterconnectGroups.List. See the method description for details.
19785
+ # @!attribute [rw] filter
19786
+ # @return [::String]
19787
+ # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
19788
+ # @!attribute [rw] max_results
19789
+ # @return [::Integer]
19790
+ # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
19791
+ # @!attribute [rw] order_by
19792
+ # @return [::String]
19793
+ # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
19794
+ # @!attribute [rw] page_token
19795
+ # @return [::String]
19796
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
19797
+ # @!attribute [rw] project
19798
+ # @return [::String]
19799
+ # Project ID for this request.
19800
+ # @!attribute [rw] return_partial_success
19801
+ # @return [::Boolean]
19802
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19803
+ class ListInterconnectGroupsRequest
19804
+ include ::Google::Protobuf::MessageExts
19805
+ extend ::Google::Protobuf::MessageExts::ClassMethods
19806
+ end
19807
+
18405
19808
  # A request message for InterconnectLocations.List. See the method description for details.
18406
19809
  # @!attribute [rw] filter
18407
19810
  # @return [::String]
@@ -19658,12 +21061,39 @@ module Google
19658
21061
  # @!attribute [rw] return_partial_success
19659
21062
  # @return [::Boolean]
19660
21063
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19661
- class ListRegionSslPoliciesRequest
21064
+ class ListRegionSslPoliciesRequest
21065
+ include ::Google::Protobuf::MessageExts
21066
+ extend ::Google::Protobuf::MessageExts::ClassMethods
21067
+ end
21068
+
21069
+ # A request message for RegionTargetHttpProxies.List. See the method description for details.
21070
+ # @!attribute [rw] filter
21071
+ # @return [::String]
21072
+ # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
21073
+ # @!attribute [rw] max_results
21074
+ # @return [::Integer]
21075
+ # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
21076
+ # @!attribute [rw] order_by
21077
+ # @return [::String]
21078
+ # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
21079
+ # @!attribute [rw] page_token
21080
+ # @return [::String]
21081
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
21082
+ # @!attribute [rw] project
21083
+ # @return [::String]
21084
+ # Project ID for this request.
21085
+ # @!attribute [rw] region
21086
+ # @return [::String]
21087
+ # Name of the region scoping this request.
21088
+ # @!attribute [rw] return_partial_success
21089
+ # @return [::Boolean]
21090
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
21091
+ class ListRegionTargetHttpProxiesRequest
19662
21092
  include ::Google::Protobuf::MessageExts
19663
21093
  extend ::Google::Protobuf::MessageExts::ClassMethods
19664
21094
  end
19665
21095
 
19666
- # A request message for RegionTargetHttpProxies.List. See the method description for details.
21096
+ # A request message for RegionTargetHttpsProxies.List. See the method description for details.
19667
21097
  # @!attribute [rw] filter
19668
21098
  # @return [::String]
19669
21099
  # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
@@ -19685,12 +21115,12 @@ module Google
19685
21115
  # @!attribute [rw] return_partial_success
19686
21116
  # @return [::Boolean]
19687
21117
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19688
- class ListRegionTargetHttpProxiesRequest
21118
+ class ListRegionTargetHttpsProxiesRequest
19689
21119
  include ::Google::Protobuf::MessageExts
19690
21120
  extend ::Google::Protobuf::MessageExts::ClassMethods
19691
21121
  end
19692
21122
 
19693
- # A request message for RegionTargetHttpsProxies.List. See the method description for details.
21123
+ # A request message for RegionTargetTcpProxies.List. See the method description for details.
19694
21124
  # @!attribute [rw] filter
19695
21125
  # @return [::String]
19696
21126
  # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
@@ -19712,12 +21142,12 @@ module Google
19712
21142
  # @!attribute [rw] return_partial_success
19713
21143
  # @return [::Boolean]
19714
21144
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19715
- class ListRegionTargetHttpsProxiesRequest
21145
+ class ListRegionTargetTcpProxiesRequest
19716
21146
  include ::Google::Protobuf::MessageExts
19717
21147
  extend ::Google::Protobuf::MessageExts::ClassMethods
19718
21148
  end
19719
21149
 
19720
- # A request message for RegionTargetTcpProxies.List. See the method description for details.
21150
+ # A request message for RegionUrlMaps.List. See the method description for details.
19721
21151
  # @!attribute [rw] filter
19722
21152
  # @return [::String]
19723
21153
  # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
@@ -19739,12 +21169,12 @@ module Google
19739
21169
  # @!attribute [rw] return_partial_success
19740
21170
  # @return [::Boolean]
19741
21171
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19742
- class ListRegionTargetTcpProxiesRequest
21172
+ class ListRegionUrlMapsRequest
19743
21173
  include ::Google::Protobuf::MessageExts
19744
21174
  extend ::Google::Protobuf::MessageExts::ClassMethods
19745
21175
  end
19746
21176
 
19747
- # A request message for RegionUrlMaps.List. See the method description for details.
21177
+ # A request message for RegionZones.List. See the method description for details.
19748
21178
  # @!attribute [rw] filter
19749
21179
  # @return [::String]
19750
21180
  # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
@@ -19762,16 +21192,16 @@ module Google
19762
21192
  # Project ID for this request.
19763
21193
  # @!attribute [rw] region
19764
21194
  # @return [::String]
19765
- # Name of the region scoping this request.
21195
+ # Region for this request.
19766
21196
  # @!attribute [rw] return_partial_success
19767
21197
  # @return [::Boolean]
19768
21198
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19769
- class ListRegionUrlMapsRequest
21199
+ class ListRegionZonesRequest
19770
21200
  include ::Google::Protobuf::MessageExts
19771
21201
  extend ::Google::Protobuf::MessageExts::ClassMethods
19772
21202
  end
19773
21203
 
19774
- # A request message for RegionZones.List. See the method description for details.
21204
+ # A request message for Regions.List. See the method description for details.
19775
21205
  # @!attribute [rw] filter
19776
21206
  # @return [::String]
19777
21207
  # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
@@ -19787,18 +21217,15 @@ module Google
19787
21217
  # @!attribute [rw] project
19788
21218
  # @return [::String]
19789
21219
  # Project ID for this request.
19790
- # @!attribute [rw] region
19791
- # @return [::String]
19792
- # Region for this request.
19793
21220
  # @!attribute [rw] return_partial_success
19794
21221
  # @return [::Boolean]
19795
21222
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19796
- class ListRegionZonesRequest
21223
+ class ListRegionsRequest
19797
21224
  include ::Google::Protobuf::MessageExts
19798
21225
  extend ::Google::Protobuf::MessageExts::ClassMethods
19799
21226
  end
19800
21227
 
19801
- # A request message for Regions.List. See the method description for details.
21228
+ # A request message for ReservationBlocks.List. See the method description for details.
19802
21229
  # @!attribute [rw] filter
19803
21230
  # @return [::String]
19804
21231
  # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
@@ -19814,15 +21241,21 @@ module Google
19814
21241
  # @!attribute [rw] project
19815
21242
  # @return [::String]
19816
21243
  # Project ID for this request.
21244
+ # @!attribute [rw] reservation
21245
+ # @return [::String]
21246
+ # The name of the reservation. Name should conform to RFC1035 or be a resource ID.
19817
21247
  # @!attribute [rw] return_partial_success
19818
21248
  # @return [::Boolean]
19819
21249
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19820
- class ListRegionsRequest
21250
+ # @!attribute [rw] zone
21251
+ # @return [::String]
21252
+ # Name of the zone for this request. Zone name should conform to RFC1035.
21253
+ class ListReservationBlocksRequest
19821
21254
  include ::Google::Protobuf::MessageExts
19822
21255
  extend ::Google::Protobuf::MessageExts::ClassMethods
19823
21256
  end
19824
21257
 
19825
- # A request message for ReservationBlocks.List. See the method description for details.
21258
+ # A request message for ReservationSubBlocks.List. See the method description for details.
19826
21259
  # @!attribute [rw] filter
19827
21260
  # @return [::String]
19828
21261
  # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
@@ -19835,19 +21268,19 @@ module Google
19835
21268
  # @!attribute [rw] page_token
19836
21269
  # @return [::String]
19837
21270
  # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
21271
+ # @!attribute [rw] parent_name
21272
+ # @return [::String]
21273
+ # The name of the parent reservation and parent block. In the format of reservations/\\{reservation_name}/reservationBlocks/\\{reservation_block_name}
19838
21274
  # @!attribute [rw] project
19839
21275
  # @return [::String]
19840
21276
  # Project ID for this request.
19841
- # @!attribute [rw] reservation
19842
- # @return [::String]
19843
- # The name of the reservation. Name should conform to RFC1035 or be a resource ID.
19844
21277
  # @!attribute [rw] return_partial_success
19845
21278
  # @return [::Boolean]
19846
21279
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
19847
21280
  # @!attribute [rw] zone
19848
21281
  # @return [::String]
19849
21282
  # Name of the zone for this request. Zone name should conform to RFC1035.
19850
- class ListReservationBlocksRequest
21283
+ class ListReservationSubBlocksRequest
19851
21284
  include ::Google::Protobuf::MessageExts
19852
21285
  extend ::Google::Protobuf::MessageExts::ClassMethods
19853
21286
  end
@@ -20486,6 +21919,9 @@ module Google
20486
21919
  # @!attribute [rw] return_partial_success
20487
21920
  # @return [::Boolean]
20488
21921
  # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
21922
+ # @!attribute [rw] service_project
21923
+ # @return [::String]
21924
+ # The project id or project number in which the subnetwork is intended to be used. Only applied for Shared VPC. See [Shared VPC documentation](https://cloud.google.com/vpc/docs/shared-vpc/)
20489
21925
  class ListUsableSubnetworksRequest
20490
21926
  include ::Google::Protobuf::MessageExts
20491
21927
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -20882,9 +22318,6 @@ module Google
20882
22318
  # @!attribute [rw] name
20883
22319
  # @return [::String]
20884
22320
  # [Output Only] Name of the resource.
20885
- # @!attribute [rw] scratch_disks
20886
- # @return [::Array<::Google::Cloud::Compute::V1::ScratchDisks>]
20887
- # [Output Only] A list of extended scratch disks assigned to the instance.
20888
22321
  # @!attribute [rw] self_link
20889
22322
  # @return [::String]
20890
22323
  # [Output Only] Server-defined URL for the resource.
@@ -21422,6 +22855,9 @@ module Google
21422
22855
  # @!attribute [rw] network_profile
21423
22856
  # @return [::String]
21424
22857
  # A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/\\{api_version}/projects/\\{project_id}/global/networkProfiles/\\{network_profile_name} - projects/\\{project_id}/global/networkProfiles/\\{network_profile_name}
22858
+ # @!attribute [rw] params
22859
+ # @return [::Google::Cloud::Compute::V1::NetworkParams]
22860
+ # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
21425
22861
  # @!attribute [rw] peerings
21426
22862
  # @return [::Array<::Google::Cloud::Compute::V1::NetworkPeering>]
21427
22863
  # [Output Only] A list of network peerings for the resource.
@@ -22246,10 +23682,31 @@ module Google
22246
23682
  extend ::Google::Protobuf::MessageExts::ClassMethods
22247
23683
  end
22248
23684
 
23685
+ # Additional network parameters.
23686
+ # @!attribute [rw] resource_manager_tags
23687
+ # @return [::Google::Protobuf::Map{::String => ::String}]
23688
+ # Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * \\{"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"} * \\{"123/environment" : "production", "345/abc" : "xyz"} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: \\{"123/environment" : "tagValues/444"} is invalid.
23689
+ class NetworkParams
23690
+ include ::Google::Protobuf::MessageExts
23691
+ extend ::Google::Protobuf::MessageExts::ClassMethods
23692
+
23693
+ # @!attribute [rw] key
23694
+ # @return [::String]
23695
+ # @!attribute [rw] value
23696
+ # @return [::String]
23697
+ class ResourceManagerTagsEntry
23698
+ include ::Google::Protobuf::MessageExts
23699
+ extend ::Google::Protobuf::MessageExts::ClassMethods
23700
+ end
23701
+ end
23702
+
22249
23703
  # A network peering attached to a network resource. The message includes the peering name, peer network, peering state, and a flag indicating whether Google Compute Engine should automatically create routes for the peering.
22250
23704
  # @!attribute [rw] auto_create_routes
22251
23705
  # @return [::Boolean]
22252
23706
  # This field will be deprecated soon. Use the exchange_subnet_routes field instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.
23707
+ # @!attribute [rw] connection_status
23708
+ # @return [::Google::Cloud::Compute::V1::NetworkPeeringConnectionStatus]
23709
+ # [Output Only] The effective state of the peering connection as a whole.
22253
23710
  # @!attribute [rw] exchange_subnet_routes
22254
23711
  # @return [::Boolean]
22255
23712
  # Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.
@@ -22285,6 +23742,10 @@ module Google
22285
23742
  # @!attribute [rw] state_details
22286
23743
  # @return [::String]
22287
23744
  # [Output Only] Details about the current state of the peering.
23745
+ # @!attribute [rw] update_strategy
23746
+ # @return [::String]
23747
+ # The update strategy determines the semantics for updates and deletes to the peering connection configuration.
23748
+ # Check the UpdateStrategy enum for the list of possible values.
22288
23749
  class NetworkPeering
22289
23750
  include ::Google::Protobuf::MessageExts
22290
23751
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -22312,6 +23773,133 @@ module Google
22312
23773
  # There is no matching configuration on the peer, including the case when peer does not exist.
22313
23774
  INACTIVE = 270_421_099
22314
23775
  end
23776
+
23777
+ # The update strategy determines the semantics for updates and deletes to the peering connection configuration.
23778
+ module UpdateStrategy
23779
+ # A value indicating that the enum field is not set.
23780
+ UNDEFINED_UPDATE_STRATEGY = 0
23781
+
23782
+ # Updates are reflected in the local peering but aren't applied to the peering connection until a complementary change is made to the matching peering. To delete a peering with the consensus update strategy, both the peerings must request the deletion of the peering before the peering can be deleted.
23783
+ CONSENSUS = 203_373_655
23784
+
23785
+ # In this mode, changes to the peering configuration can be unilaterally altered by changing either side of the peering. This is the default value if the field is unspecified.
23786
+ INDEPENDENT = 127_011_674
23787
+
23788
+ # Peerings with update strategy UNSPECIFIED are created with update strategy INDEPENDENT.
23789
+ UNSPECIFIED = 526_786_327
23790
+ end
23791
+ end
23792
+
23793
+ # [Output Only] Describes the state of a peering connection, not just the local peering. This field provides information about the effective settings for the connection as a whole, including pending delete/update requests for CONSENSUS peerings.
23794
+ # @!attribute [rw] consensus_state
23795
+ # @return [::Google::Cloud::Compute::V1::NetworkPeeringConnectionStatusConsensusState]
23796
+ # The consensus state contains information about the status of update and delete for a consensus peering connection.
23797
+ # @!attribute [rw] traffic_configuration
23798
+ # @return [::Google::Cloud::Compute::V1::NetworkPeeringConnectionStatusTrafficConfiguration]
23799
+ # The active connectivity settings for the peering connection based on the settings of the network peerings.
23800
+ # @!attribute [rw] update_strategy
23801
+ # @return [::String]
23802
+ # The update strategy determines the update/delete semantics for this peering connection.
23803
+ # Check the UpdateStrategy enum for the list of possible values.
23804
+ class NetworkPeeringConnectionStatus
23805
+ include ::Google::Protobuf::MessageExts
23806
+ extend ::Google::Protobuf::MessageExts::ClassMethods
23807
+
23808
+ # The update strategy determines the update/delete semantics for this peering connection.
23809
+ module UpdateStrategy
23810
+ # A value indicating that the enum field is not set.
23811
+ UNDEFINED_UPDATE_STRATEGY = 0
23812
+
23813
+ # Updates are reflected in the local peering but aren't applied to the peering connection until a complementary change is made to the matching peering. To delete a peering with the consensus update strategy, both the peerings must request the deletion of the peering before the peering can be deleted.
23814
+ CONSENSUS = 203_373_655
23815
+
23816
+ # In this mode, changes to the peering configuration can be unilaterally altered by changing either side of the peering. This is the default value if the field is unspecified.
23817
+ INDEPENDENT = 127_011_674
23818
+
23819
+ # Peerings with update strategy UNSPECIFIED are created with update strategy INDEPENDENT.
23820
+ UNSPECIFIED = 526_786_327
23821
+ end
23822
+ end
23823
+
23824
+ # The status of update/delete for a consensus peering connection. Only set when connection_status.update_strategy is CONSENSUS or a network peering is proposing to update the strategy to CONSENSUS.
23825
+ # @!attribute [rw] delete_status
23826
+ # @return [::String]
23827
+ # The status of the delete request.
23828
+ # Check the DeleteStatus enum for the list of possible values.
23829
+ # @!attribute [rw] update_status
23830
+ # @return [::String]
23831
+ # The status of the update request.
23832
+ # Check the UpdateStatus enum for the list of possible values.
23833
+ class NetworkPeeringConnectionStatusConsensusState
23834
+ include ::Google::Protobuf::MessageExts
23835
+ extend ::Google::Protobuf::MessageExts::ClassMethods
23836
+
23837
+ # The status of the delete request.
23838
+ module DeleteStatus
23839
+ # A value indicating that the enum field is not set.
23840
+ UNDEFINED_DELETE_STATUS = 0
23841
+
23842
+ # Both network admins have agreed this consensus peering connection can be deleted.
23843
+ DELETE_ACKNOWLEDGED = 325_293_916
23844
+
23845
+ DELETE_STATUS_UNSPECIFIED = 395_396_446
23846
+
23847
+ # Network admin has requested deletion of this peering connection.
23848
+ LOCAL_DELETE_REQUESTED = 227_335_214
23849
+
23850
+ # The peer network admin has requested deletion of this peering connection.
23851
+ PEER_DELETE_REQUESTED = 197_847_799
23852
+ end
23853
+
23854
+ # The status of the update request.
23855
+ module UpdateStatus
23856
+ # A value indicating that the enum field is not set.
23857
+ UNDEFINED_UPDATE_STATUS = 0
23858
+
23859
+ # No pending configuration update proposals to the peering connection.
23860
+ IN_SYNC = 2_273_653
23861
+
23862
+ # The peer network admin has made an updatePeering call. The change is awaiting acknowledgment from this peering's network admin.
23863
+ PENDING_LOCAL_ACKNOWLEDMENT = 229_926_592
23864
+
23865
+ # The local network admin has made an updatePeering call. The change is awaiting acknowledgment from the peer network admin.
23866
+ PENDING_PEER_ACKNOWLEDGEMENT = 420_185_797
23867
+
23868
+ UPDATE_STATUS_UNSPECIFIED = 120_836_480
23869
+ end
23870
+ end
23871
+
23872
+ # @!attribute [rw] export_custom_routes_to_peer
23873
+ # @return [::Boolean]
23874
+ # Whether custom routes are being exported to the peer network.
23875
+ # @!attribute [rw] export_subnet_routes_with_public_ip_to_peer
23876
+ # @return [::Boolean]
23877
+ # Whether subnet routes with public IP ranges are being exported to the peer network.
23878
+ # @!attribute [rw] import_custom_routes_from_peer
23879
+ # @return [::Boolean]
23880
+ # Whether custom routes are being imported from the peer network.
23881
+ # @!attribute [rw] import_subnet_routes_with_public_ip_from_peer
23882
+ # @return [::Boolean]
23883
+ # Whether subnet routes with public IP ranges are being imported from the peer network.
23884
+ # @!attribute [rw] stack_type
23885
+ # @return [::String]
23886
+ # Which IP version(s) of traffic and routes are being imported or exported between peer networks.
23887
+ # Check the StackType enum for the list of possible values.
23888
+ class NetworkPeeringConnectionStatusTrafficConfiguration
23889
+ include ::Google::Protobuf::MessageExts
23890
+ extend ::Google::Protobuf::MessageExts::ClassMethods
23891
+
23892
+ # Which IP version(s) of traffic and routes are being imported or exported between peer networks.
23893
+ module StackType
23894
+ # A value indicating that the enum field is not set.
23895
+ UNDEFINED_STACK_TYPE = 0
23896
+
23897
+ # This Peering will allow IPv4 traffic and routes to be exchanged. Additionally if the matching peering is IPV4_IPV6, IPv6 traffic and routes will be exchanged as well.
23898
+ IPV4_IPV6 = 22_197_249
23899
+
23900
+ # This Peering will only allow IPv4 traffic and routes to be exchanged, even if the matching peering is IPV4_IPV6.
23901
+ IPV4_ONLY = 22_373_798
23902
+ end
22315
23903
  end
22316
23904
 
22317
23905
  # @!attribute [rw] total_egress_bandwidth_tier
@@ -23015,6 +24603,14 @@ module Google
23015
24603
  extend ::Google::Protobuf::MessageExts::ClassMethods
23016
24604
  end
23017
24605
 
24606
+ # @!attribute [rw] name
24607
+ # @return [::String]
24608
+ # Name of the peering, which should conform to RFC1035.
24609
+ class NetworksRequestRemovePeeringRequest
24610
+ include ::Google::Protobuf::MessageExts
24611
+ extend ::Google::Protobuf::MessageExts::ClassMethods
24612
+ end
24613
+
23018
24614
  # @!attribute [rw] network_peering
23019
24615
  # @return [::Google::Cloud::Compute::V1::NetworkPeering]
23020
24616
  class NetworksUpdatePeeringRequest
@@ -24441,6 +26037,27 @@ module Google
24441
26037
  extend ::Google::Protobuf::MessageExts::ClassMethods
24442
26038
  end
24443
26039
 
26040
+ # A request message for InterconnectAttachmentGroups.Patch. See the method description for details.
26041
+ # @!attribute [rw] interconnect_attachment_group
26042
+ # @return [::String]
26043
+ # Name of the InterconnectAttachmentGroup resource to patch.
26044
+ # @!attribute [rw] interconnect_attachment_group_resource
26045
+ # @return [::Google::Cloud::Compute::V1::InterconnectAttachmentGroup]
26046
+ # The body resource for this request
26047
+ # @!attribute [rw] project
26048
+ # @return [::String]
26049
+ # Project ID for this request.
26050
+ # @!attribute [rw] request_id
26051
+ # @return [::String]
26052
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder
26053
+ # @!attribute [rw] update_mask
26054
+ # @return [::String]
26055
+ # The list of fields to update.
26056
+ class PatchInterconnectAttachmentGroupRequest
26057
+ include ::Google::Protobuf::MessageExts
26058
+ extend ::Google::Protobuf::MessageExts::ClassMethods
26059
+ end
26060
+
24444
26061
  # A request message for InterconnectAttachments.Patch. See the method description for details.
24445
26062
  # @!attribute [rw] interconnect_attachment
24446
26063
  # @return [::String]
@@ -24462,6 +26079,27 @@ module Google
24462
26079
  extend ::Google::Protobuf::MessageExts::ClassMethods
24463
26080
  end
24464
26081
 
26082
+ # A request message for InterconnectGroups.Patch. See the method description for details.
26083
+ # @!attribute [rw] interconnect_group
26084
+ # @return [::String]
26085
+ # Name of the InterconnectGroup resource to patch.
26086
+ # @!attribute [rw] interconnect_group_resource
26087
+ # @return [::Google::Cloud::Compute::V1::InterconnectGroup]
26088
+ # The body resource for this request
26089
+ # @!attribute [rw] project
26090
+ # @return [::String]
26091
+ # Project ID for this request.
26092
+ # @!attribute [rw] request_id
26093
+ # @return [::String]
26094
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder
26095
+ # @!attribute [rw] update_mask
26096
+ # @return [::String]
26097
+ # The list of fields to update.
26098
+ class PatchInterconnectGroupRequest
26099
+ include ::Google::Protobuf::MessageExts
26100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
26101
+ end
26102
+
24465
26103
  # A request message for Interconnects.Patch. See the method description for details.
24466
26104
  # @!attribute [rw] interconnect
24467
26105
  # @return [::String]
@@ -25454,6 +27092,27 @@ module Google
25454
27092
  extend ::Google::Protobuf::MessageExts::ClassMethods
25455
27093
  end
25456
27094
 
27095
+ # A request message for ReservationSubBlocks.PerformMaintenance. See the method description for details.
27096
+ # @!attribute [rw] parent_name
27097
+ # @return [::String]
27098
+ # The name of the parent reservation and parent block. In the format of reservations/\\{reservation_name}/reservationBlocks/\\{reservation_block_name}
27099
+ # @!attribute [rw] project
27100
+ # @return [::String]
27101
+ # Project ID for this request.
27102
+ # @!attribute [rw] request_id
27103
+ # @return [::String]
27104
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
27105
+ # @!attribute [rw] reservation_sub_block
27106
+ # @return [::String]
27107
+ # The name of the reservation subBlock. Name should conform to RFC1035 or be a resource ID.
27108
+ # @!attribute [rw] zone
27109
+ # @return [::String]
27110
+ # Name of the zone for this request. Zone name should conform to RFC1035.
27111
+ class PerformMaintenanceReservationSubBlockRequest
27112
+ include ::Google::Protobuf::MessageExts
27113
+ extend ::Google::Protobuf::MessageExts::ClassMethods
27114
+ end
27115
+
25457
27116
  # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
25458
27117
  # @!attribute [rw] audit_configs
25459
27118
  # @return [::Array<::Google::Cloud::Compute::V1::AuditConfig>]
@@ -26031,7 +27690,7 @@ module Google
26031
27690
  # [Output Only] Server-defined URL for the resource.
26032
27691
  # @!attribute [rw] status
26033
27692
  # @return [::String]
26034
- # [Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned.
27693
+ # [Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is announced and ready to use. - `DELETING` The public delegated prefix is being deprovsioned.
26035
27694
  # Check the Status enum for the list of possible values.
26036
27695
  class PublicDelegatedPrefix
26037
27696
  include ::Google::Protobuf::MessageExts
@@ -26064,12 +27723,12 @@ module Google
26064
27723
  EXTERNAL_IPV6_SUBNETWORK_CREATION = 61_198_284
26065
27724
  end
26066
27725
 
26067
- # [Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned.
27726
+ # [Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is announced and ready to use. - `DELETING` The public delegated prefix is being deprovsioned.
26068
27727
  module Status
26069
27728
  # A value indicating that the enum field is not set.
26070
27729
  UNDEFINED_STATUS = 0
26071
27730
 
26072
- # The public delegated prefix is active.
27731
+ # The public delegated prefix is announced and ready to use.
26073
27732
  ANNOUNCED = 365_103_355
26074
27733
 
26075
27734
  # The prefix is announced within Google network.
@@ -27735,7 +29394,28 @@ module Google
27735
29394
  extend ::Google::Protobuf::MessageExts::ClassMethods
27736
29395
  end
27737
29396
 
29397
+ # A request message for Networks.RequestRemovePeering. See the method description for details.
29398
+ # @!attribute [rw] network
29399
+ # @return [::String]
29400
+ # Name of the network resource to remove peering from.
29401
+ # @!attribute [rw] networks_request_remove_peering_request_resource
29402
+ # @return [::Google::Cloud::Compute::V1::NetworksRequestRemovePeeringRequest]
29403
+ # The body resource for this request
29404
+ # @!attribute [rw] project
29405
+ # @return [::String]
29406
+ # Project ID for this request.
29407
+ # @!attribute [rw] request_id
29408
+ # @return [::String]
29409
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
29410
+ class RequestRemovePeeringNetworkRequest
29411
+ include ::Google::Protobuf::MessageExts
29412
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29413
+ end
29414
+
27738
29415
  # Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.
29416
+ # @!attribute [rw] advanced_deployment_control
29417
+ # @return [::Google::Cloud::Compute::V1::ReservationAdvancedDeploymentControl]
29418
+ # Advanced control for cluster management, applicable only to DENSE deployment type reservations.
27739
29419
  # @!attribute [rw] aggregate_reservation
27740
29420
  # @return [::Google::Cloud::Compute::V1::AllocationAggregateReservation]
27741
29421
  # Reservation for aggregated resources, providing shape flexibility.
@@ -27745,6 +29425,12 @@ module Google
27745
29425
  # @!attribute [rw] creation_timestamp
27746
29426
  # @return [::String]
27747
29427
  # [Output Only] Creation timestamp in RFC3339 text format.
29428
+ # @!attribute [rw] delete_after_duration
29429
+ # @return [::Google::Cloud::Compute::V1::Duration]
29430
+ # Duration time relative to reservation creation when Compute Engine will automatically delete this resource.
29431
+ # @!attribute [rw] delete_at_time
29432
+ # @return [::String]
29433
+ # Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.
27748
29434
  # @!attribute [rw] deployment_type
27749
29435
  # @return [::String]
27750
29436
  # Specifies the deployment strategy for this reservation.
@@ -27752,6 +29438,9 @@ module Google
27752
29438
  # @!attribute [rw] description
27753
29439
  # @return [::String]
27754
29440
  # An optional description of this resource. Provide this property when you create the resource.
29441
+ # @!attribute [rw] enable_emergent_maintenance
29442
+ # @return [::Boolean]
29443
+ # Indicates whether Compute Engine allows unplanned maintenance for your VMs; for example, to fix hardware errors.
27755
29444
  # @!attribute [rw] id
27756
29445
  # @return [::Integer]
27757
29446
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
@@ -27776,6 +29465,10 @@ module Google
27776
29465
  # @!attribute [rw] satisfies_pzs
27777
29466
  # @return [::Boolean]
27778
29467
  # [Output Only] Reserved for future use.
29468
+ # @!attribute [rw] scheduling_type
29469
+ # @return [::String]
29470
+ # The type of maintenance for the reservation.
29471
+ # Check the SchedulingType enum for the list of possible values.
27779
29472
  # @!attribute [rw] self_link
27780
29473
  # @return [::String]
27781
29474
  # [Output Only] Server-defined fully-qualified URL for this resource.
@@ -27819,6 +29512,21 @@ module Google
27819
29512
  DEPLOYMENT_TYPE_UNSPECIFIED = 234_847_180
27820
29513
  end
27821
29514
 
29515
+ # The type of maintenance for the reservation.
29516
+ module SchedulingType
29517
+ # A value indicating that the enum field is not set.
29518
+ UNDEFINED_SCHEDULING_TYPE = 0
29519
+
29520
+ # Maintenance on all reserved instances in the reservation is synchronized.
29521
+ GROUPED = 474_540_862
29522
+
29523
+ # Unknown maintenance type.
29524
+ GROUP_MAINTENANCE_TYPE_UNSPECIFIED = 447_183_678
29525
+
29526
+ # Maintenance is not synchronized for this reservation. Instead, each instance has its own maintenance window.
29527
+ INDEPENDENT = 127_011_674
29528
+ end
29529
+
27822
29530
  # [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.
27823
29531
  module Status
27824
29532
  # A value indicating that the enum field is not set.
@@ -27840,6 +29548,30 @@ module Google
27840
29548
  end
27841
29549
  end
27842
29550
 
29551
+ # Advance control for cluster management, applicable only to DENSE deployment type reservations.
29552
+ # @!attribute [rw] reservation_operational_mode
29553
+ # @return [::String]
29554
+ # Indicates chosen reservation operational mode for the reservation.
29555
+ # Check the ReservationOperationalMode enum for the list of possible values.
29556
+ class ReservationAdvancedDeploymentControl
29557
+ include ::Google::Protobuf::MessageExts
29558
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29559
+
29560
+ # Indicates chosen reservation operational mode for the reservation.
29561
+ module ReservationOperationalMode
29562
+ # A value indicating that the enum field is not set.
29563
+ UNDEFINED_RESERVATION_OPERATIONAL_MODE = 0
29564
+
29565
+ # Google Cloud does not manage the failure of machines, but provides additional capacity, which is not guaranteed to be available.
29566
+ ALL_CAPACITY = 500_029_880
29567
+
29568
+ # Google Cloud manages the failure of machines to provide high availability.
29569
+ HIGHLY_AVAILABLE_CAPACITY = 110_861_600
29570
+
29571
+ RESERVATION_OPERATIONAL_MODE_UNSPECIFIED = 194_296_603
29572
+ end
29573
+ end
29574
+
27843
29575
  # Specifies the reservations that this instance can consume from.
27844
29576
  # @!attribute [rw] consume_reservation_type
27845
29577
  # @return [::String]
@@ -27916,6 +29648,9 @@ module Google
27916
29648
  # @!attribute [rw] creation_timestamp
27917
29649
  # @return [::String]
27918
29650
  # [Output Only] Creation timestamp in RFC3339 text format.
29651
+ # @!attribute [rw] health_info
29652
+ # @return [::Google::Cloud::Compute::V1::ReservationBlockHealthInfo]
29653
+ # [Output Only] Health information for the reservation block.
27919
29654
  # @!attribute [rw] id
27920
29655
  # @return [::Integer]
27921
29656
  # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
@@ -27934,6 +29669,12 @@ module Google
27934
29669
  # @!attribute [rw] reservation_maintenance
27935
29670
  # @return [::Google::Cloud::Compute::V1::GroupMaintenanceInfo]
27936
29671
  # [Output Only] Maintenance information for this reservation block.
29672
+ # @!attribute [rw] reservation_sub_block_count
29673
+ # @return [::Integer]
29674
+ # [Output Only] The number of reservation subBlocks associated with this reservation block.
29675
+ # @!attribute [rw] reservation_sub_block_in_use_count
29676
+ # @return [::Integer]
29677
+ # [Output Only] The number of in-use reservation subBlocks associated with this reservation block. If at least one VM is running on a subBlock, it is considered in-use.
27937
29678
  # @!attribute [rw] self_link
27938
29679
  # @return [::String]
27939
29680
  # [Output Only] Server-defined fully-qualified URL for this resource.
@@ -27969,17 +29710,78 @@ module Google
27969
29710
  end
27970
29711
  end
27971
29712
 
29713
+ # Health information for the reservation block.
29714
+ # @!attribute [rw] degraded_sub_block_count
29715
+ # @return [::Integer]
29716
+ # The number of subBlocks that are degraded.
29717
+ # @!attribute [rw] health_status
29718
+ # @return [::String]
29719
+ # The health status of the reservation block.
29720
+ # Check the HealthStatus enum for the list of possible values.
29721
+ # @!attribute [rw] healthy_sub_block_count
29722
+ # @return [::Integer]
29723
+ # The number of subBlocks that are healthy.
29724
+ class ReservationBlockHealthInfo
29725
+ include ::Google::Protobuf::MessageExts
29726
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29727
+
29728
+ # The health status of the reservation block.
29729
+ module HealthStatus
29730
+ # A value indicating that the enum field is not set.
29731
+ UNDEFINED_HEALTH_STATUS = 0
29732
+
29733
+ # The reservation block is degraded.
29734
+ DEGRADED = 396_890_926
29735
+
29736
+ # The reservation block is healthy.
29737
+ HEALTHY = 439_801_213
29738
+
29739
+ # The health status of the reservation block is unspecified.
29740
+ HEALTH_STATUS_UNSPECIFIED = 482_246_925
29741
+ end
29742
+ end
29743
+
27972
29744
  # @!attribute [rw] block
27973
29745
  # @return [::String]
27974
29746
  # The hash of the capacity block within the cluster.
27975
29747
  # @!attribute [rw] cluster
27976
29748
  # @return [::String]
27977
29749
  # The cluster name of the reservation block.
29750
+ # @!attribute [rw] instances
29751
+ # @return [::Array<::Google::Cloud::Compute::V1::ReservationBlockPhysicalTopologyInstance>]
29752
+ # The detailed instances information for a given Block
27978
29753
  class ReservationBlockPhysicalTopology
27979
29754
  include ::Google::Protobuf::MessageExts
27980
29755
  extend ::Google::Protobuf::MessageExts::ClassMethods
27981
29756
  end
27982
29757
 
29758
+ # The instances information for a given Block
29759
+ # @!attribute [rw] instance_id
29760
+ # @return [::Integer]
29761
+ # The InstanceId of the instance
29762
+ # @!attribute [rw] physical_host_topology
29763
+ # @return [::Google::Cloud::Compute::V1::ReservationBlockPhysicalTopologyInstancePhysicalHostTopology]
29764
+ # The PhysicalHostTopology of instances within a Block resource.
29765
+ # @!attribute [rw] project_id
29766
+ # @return [::Integer]
29767
+ # Project where the instance lives
29768
+ class ReservationBlockPhysicalTopologyInstance
29769
+ include ::Google::Protobuf::MessageExts
29770
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29771
+ end
29772
+
29773
+ # The PhysicalHostTopology of the instance within a Block resource.
29774
+ # @!attribute [rw] host
29775
+ # @return [::String]
29776
+ # Host hash for a given instance
29777
+ # @!attribute [rw] sub_block
29778
+ # @return [::String]
29779
+ # Sub block hash for a given instance
29780
+ class ReservationBlockPhysicalTopologyInstancePhysicalHostTopology
29781
+ include ::Google::Protobuf::MessageExts
29782
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29783
+ end
29784
+
27983
29785
  # @!attribute [rw] resource
27984
29786
  # @return [::Google::Cloud::Compute::V1::ReservationBlock]
27985
29787
  class ReservationBlocksGetResponse
@@ -28034,6 +29836,151 @@ module Google
28034
29836
  extend ::Google::Protobuf::MessageExts::ClassMethods
28035
29837
  end
28036
29838
 
29839
+ # Represents a reservation subBlock resource.
29840
+ # @!attribute [rw] count
29841
+ # @return [::Integer]
29842
+ # [Output Only] The number of hosts that are allocated in this reservation subBlock.
29843
+ # @!attribute [rw] creation_timestamp
29844
+ # @return [::String]
29845
+ # [Output Only] Creation timestamp in RFC3339 text format.
29846
+ # @!attribute [rw] health_info
29847
+ # @return [::Google::Cloud::Compute::V1::ReservationSubBlockHealthInfo]
29848
+ # [Output Only] Health information for the reservation subBlock.
29849
+ # @!attribute [rw] id
29850
+ # @return [::Integer]
29851
+ # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
29852
+ # @!attribute [rw] in_use_count
29853
+ # @return [::Integer]
29854
+ # [Output Only] The number of instances that are currently in use on this reservation subBlock.
29855
+ # @!attribute [rw] kind
29856
+ # @return [::String]
29857
+ # [Output Only] Type of the resource. Always compute#reservationSubBlock for reservation subBlocks.
29858
+ # @!attribute [rw] name
29859
+ # @return [::String]
29860
+ # [Output Only] The name of this reservation subBlock generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](?:[-a-z0-9]\\{0,61}[a-z0-9])?
29861
+ # @!attribute [rw] physical_topology
29862
+ # @return [::Google::Cloud::Compute::V1::ReservationSubBlockPhysicalTopology]
29863
+ # [Output Only] The physical topology of the reservation subBlock.
29864
+ # @!attribute [rw] reservation_sub_block_maintenance
29865
+ # @return [::Google::Cloud::Compute::V1::GroupMaintenanceInfo]
29866
+ # Maintenance information for this reservation subBlock.
29867
+ # @!attribute [rw] self_link
29868
+ # @return [::String]
29869
+ # [Output Only] Server-defined fully-qualified URL for this resource.
29870
+ # @!attribute [rw] self_link_with_id
29871
+ # @return [::String]
29872
+ # [Output Only] Server-defined URL for this resource with the resource id.
29873
+ # @!attribute [rw] status
29874
+ # @return [::String]
29875
+ # [Output Only] Status of the reservation subBlock.
29876
+ # Check the Status enum for the list of possible values.
29877
+ # @!attribute [rw] zone
29878
+ # @return [::String]
29879
+ # [Output Only] Zone in which the reservation subBlock resides.
29880
+ class ReservationSubBlock
29881
+ include ::Google::Protobuf::MessageExts
29882
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29883
+
29884
+ # [Output Only] Status of the reservation subBlock.
29885
+ module Status
29886
+ # A value indicating that the enum field is not set.
29887
+ UNDEFINED_STATUS = 0
29888
+
29889
+ # Resources are being allocated for the reservation subBlock.
29890
+ CREATING = 455_564_985
29891
+
29892
+ # Reservation subBlock is currently being deleted.
29893
+ DELETING = 528_602_024
29894
+
29895
+ INVALID = 530_283_991
29896
+
29897
+ # Reservation subBlock has allocated all its resources.
29898
+ READY = 77_848_963
29899
+ end
29900
+ end
29901
+
29902
+ # Health information for the reservation subBlock.
29903
+ # @!attribute [rw] degraded_host_count
29904
+ # @return [::Integer]
29905
+ # The number of degraded hosts in the reservation subBlock.
29906
+ # @!attribute [rw] degraded_infra_count
29907
+ # @return [::Integer]
29908
+ # The number of degraded infrastructure (e.g NV link domain) in the reservation subblock.
29909
+ # @!attribute [rw] health_status
29910
+ # @return [::String]
29911
+ # The health status of the reservation subBlock.
29912
+ # Check the HealthStatus enum for the list of possible values.
29913
+ # @!attribute [rw] healthy_host_count
29914
+ # @return [::Integer]
29915
+ # The number of healthy hosts in the reservation subBlock.
29916
+ # @!attribute [rw] healthy_infra_count
29917
+ # @return [::Integer]
29918
+ # The number of healthy infrastructure (e.g NV link domain) in the reservation subblock.
29919
+ class ReservationSubBlockHealthInfo
29920
+ include ::Google::Protobuf::MessageExts
29921
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29922
+
29923
+ # The health status of the reservation subBlock.
29924
+ module HealthStatus
29925
+ # A value indicating that the enum field is not set.
29926
+ UNDEFINED_HEALTH_STATUS = 0
29927
+
29928
+ # The reservation subBlock is degraded.
29929
+ DEGRADED = 396_890_926
29930
+
29931
+ # The reservation subBlock is healthy.
29932
+ HEALTHY = 439_801_213
29933
+
29934
+ # The health status of the reservation subBlock is unspecified.
29935
+ HEALTH_STATUS_UNSPECIFIED = 482_246_925
29936
+ end
29937
+ end
29938
+
29939
+ # @!attribute [rw] block
29940
+ # @return [::String]
29941
+ # The hash of the capacity block within the cluster.
29942
+ # @!attribute [rw] cluster
29943
+ # @return [::String]
29944
+ # The cluster name of the reservation subBlock.
29945
+ # @!attribute [rw] sub_block
29946
+ # @return [::String]
29947
+ # The hash of the capacity sub-block within the capacity block.
29948
+ class ReservationSubBlockPhysicalTopology
29949
+ include ::Google::Protobuf::MessageExts
29950
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29951
+ end
29952
+
29953
+ # @!attribute [rw] resource
29954
+ # @return [::Google::Cloud::Compute::V1::ReservationSubBlock]
29955
+ class ReservationSubBlocksGetResponse
29956
+ include ::Google::Protobuf::MessageExts
29957
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29958
+ end
29959
+
29960
+ # A list of reservation subBlocks under a single reservation.
29961
+ # @!attribute [rw] id
29962
+ # @return [::String]
29963
+ # Unique identifier for the resource; defined by the server.
29964
+ # @!attribute [rw] items
29965
+ # @return [::Array<::Google::Cloud::Compute::V1::ReservationSubBlock>]
29966
+ # A list of reservation subBlock resources.
29967
+ # @!attribute [rw] kind
29968
+ # @return [::String]
29969
+ # Type of the resource. Always compute#reservationSubBlock for a list of reservation subBlocks.
29970
+ # @!attribute [rw] next_page_token
29971
+ # @return [::String]
29972
+ # This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
29973
+ # @!attribute [rw] self_link
29974
+ # @return [::String]
29975
+ # Server-defined URL for this resource.
29976
+ # @!attribute [rw] warning
29977
+ # @return [::Google::Cloud::Compute::V1::Warning]
29978
+ # Informational warning message.
29979
+ class ReservationSubBlocksListResponse
29980
+ include ::Google::Protobuf::MessageExts
29981
+ extend ::Google::Protobuf::MessageExts::ClassMethods
29982
+ end
29983
+
28037
29984
  # @!attribute [rw] maintenance_scope
28038
29985
  # @return [::String]
28039
29986
  # Specifies if all, running or unused hosts are in scope for this request.
@@ -28320,6 +30267,9 @@ module Google
28320
30267
  # @return [::String]
28321
30268
  # [Output Only] The status of resource policy creation.
28322
30269
  # Check the Status enum for the list of possible values.
30270
+ # @!attribute [rw] workload_policy
30271
+ # @return [::Google::Cloud::Compute::V1::ResourcePolicyWorkloadPolicy]
30272
+ # Resource policy for defining instance placement for MIGs.
28323
30273
  class ResourcePolicy
28324
30274
  include ::Google::Protobuf::MessageExts
28325
30275
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -28412,6 +30362,9 @@ module Google
28412
30362
  # @return [::String]
28413
30363
  # Specifies network collocation
28414
30364
  # Check the Collocation enum for the list of possible values.
30365
+ # @!attribute [rw] gpu_topology
30366
+ # @return [::String]
30367
+ # Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
28415
30368
  # @!attribute [rw] vm_count
28416
30369
  # @return [::Integer]
28417
30370
  # Number of VMs in this placement group. Google does not recommend that you use this field unless you use a compact policy and you want your policy to work only if it contains this exact number of VMs.
@@ -28645,6 +30598,50 @@ module Google
28645
30598
  end
28646
30599
  end
28647
30600
 
30601
+ # Represents the workload policy.
30602
+ # @!attribute [rw] accelerator_topology
30603
+ # @return [::String]
30604
+ # Specifies the topology required to create a partition for VMs that have interconnected GPUs.
30605
+ # @!attribute [rw] max_topology_distance
30606
+ # @return [::String]
30607
+ # Specifies the maximum distance between instances.
30608
+ # Check the MaxTopologyDistance enum for the list of possible values.
30609
+ # @!attribute [rw] type
30610
+ # @return [::String]
30611
+ # Specifies the intent of the instance placement in the MIG.
30612
+ # Check the Type enum for the list of possible values.
30613
+ class ResourcePolicyWorkloadPolicy
30614
+ include ::Google::Protobuf::MessageExts
30615
+ extend ::Google::Protobuf::MessageExts::ClassMethods
30616
+
30617
+ # Specifies the maximum distance between instances.
30618
+ module MaxTopologyDistance
30619
+ # A value indicating that the enum field is not set.
30620
+ UNDEFINED_MAX_TOPOLOGY_DISTANCE = 0
30621
+
30622
+ # VMs must be provisioned in the same block.
30623
+ BLOCK = 63_294_573
30624
+
30625
+ # VMs must be provisioned in the same cluster.
30626
+ CLUSTER = 516_333_018
30627
+
30628
+ # VMs must be provisioned in the same subblock.
30629
+ SUBBLOCK = 316_202_573
30630
+ end
30631
+
30632
+ # Specifies the intent of the instance placement in the MIG.
30633
+ module Type
30634
+ # A value indicating that the enum field is not set.
30635
+ UNDEFINED_TYPE = 0
30636
+
30637
+ # MIG spreads out the instances as much as possible for high availability.
30638
+ HIGH_AVAILABILITY = 409_487_576
30639
+
30640
+ # MIG provisions instances as close to each other as possible for high throughput.
30641
+ HIGH_THROUGHPUT = 146_499_815
30642
+ end
30643
+ end
30644
+
28648
30645
  # Contains output only fields. Use this sub-message for actual values set on Instance attributes as compared to the value requested by the user (intent) in their instance CRUD calls.
28649
30646
  # @!attribute [rw] physical_host
28650
30647
  # @return [::String]
@@ -28806,6 +30803,9 @@ module Google
28806
30803
  # @!attribute [rw] next_hop_vpn_tunnel
28807
30804
  # @return [::String]
28808
30805
  # The URL to a VpnTunnel that should handle matching packets.
30806
+ # @!attribute [rw] params
30807
+ # @return [::Google::Cloud::Compute::V1::RouteParams]
30808
+ # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
28809
30809
  # @!attribute [rw] priority
28810
30810
  # @return [::Integer]
28811
30811
  # The priority of this route. Priority is used to break ties in cases where there is more than one matching route of equal prefix length. In cases where multiple routes have equal prefix length, the one with the lowest-numbered priority value wins. The default value is `1000`. The priority value must be from `0` to `65535`, inclusive.
@@ -28925,6 +30925,24 @@ module Google
28925
30925
  extend ::Google::Protobuf::MessageExts::ClassMethods
28926
30926
  end
28927
30927
 
30928
+ # Additional route parameters.
30929
+ # @!attribute [rw] resource_manager_tags
30930
+ # @return [::Google::Protobuf::Map{::String => ::String}]
30931
+ # Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * \\{"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"} * \\{"123/environment" : "production", "345/abc" : "xyz"} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: \\{"123/environment" : "tagValues/444"} is invalid.
30932
+ class RouteParams
30933
+ include ::Google::Protobuf::MessageExts
30934
+ extend ::Google::Protobuf::MessageExts::ClassMethods
30935
+
30936
+ # @!attribute [rw] key
30937
+ # @return [::String]
30938
+ # @!attribute [rw] value
30939
+ # @return [::String]
30940
+ class ResourceManagerTagsEntry
30941
+ include ::Google::Protobuf::MessageExts
30942
+ extend ::Google::Protobuf::MessageExts::ClassMethods
30943
+ end
30944
+ end
30945
+
28928
30946
  # @!attribute [rw] description
28929
30947
  # @return [::String]
28930
30948
  # An optional description of route policy.
@@ -30243,14 +32261,6 @@ module Google
30243
32261
  extend ::Google::Protobuf::MessageExts::ClassMethods
30244
32262
  end
30245
32263
 
30246
- # @!attribute [rw] disk_gb
30247
- # @return [::Integer]
30248
- # Size of the scratch disk, defined in GB.
30249
- class ScratchDisks
30250
- include ::Google::Protobuf::MessageExts
30251
- extend ::Google::Protobuf::MessageExts::ClassMethods
30252
- end
30253
-
30254
32264
  # An instance's screenshot.
30255
32265
  # @!attribute [rw] contents
30256
32266
  # @return [::String]
@@ -30924,13 +32934,13 @@ module Google
30924
32934
  # Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
30925
32935
  # @!attribute [rw] type
30926
32936
  # @return [::String]
30927
- # Type of the redirect action.
32937
+ # Type of the redirect action. Possible values are: - GOOGLE_RECAPTCHA: redirect to reCAPTCHA for manual challenge assessment. - EXTERNAL_302: redirect to a different URL via a 302 response.
30928
32938
  # Check the Type enum for the list of possible values.
30929
32939
  class SecurityPolicyRuleRedirectOptions
30930
32940
  include ::Google::Protobuf::MessageExts
30931
32941
  extend ::Google::Protobuf::MessageExts::ClassMethods
30932
32942
 
30933
- # Type of the redirect action.
32943
+ # Type of the redirect action. Possible values are: - GOOGLE_RECAPTCHA: redirect to reCAPTCHA for manual challenge assessment. - EXTERNAL_302: redirect to a different URL via a 302 response.
30934
32944
  module Type
30935
32945
  # A value indicating that the enum field is not set.
30936
32946
  UNDEFINED_TYPE = 0
@@ -31077,7 +33087,7 @@ module Google
31077
33087
  # Check the ConnectionPreference enum for the list of possible values.
31078
33088
  # @!attribute [rw] consumer_accept_lists
31079
33089
  # @return [::Array<::Google::Cloud::Compute::V1::ServiceAttachmentConsumerProjectLimit>]
31080
- # Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks.
33090
+ # Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks or only endpoints.
31081
33091
  # @!attribute [rw] consumer_reject_lists
31082
33092
  # @return [::Array<::String>]
31083
33093
  # Specifies a list of projects or networks that are not allowed to connect to this service attachment. The project can be specified using its project ID or project number and the network can be specified using its URL. A given service attachment can manage connections at either the project or network level. Therefore, both the reject and accept lists for a given service attachment must contain either only projects or only networks.
@@ -31102,6 +33112,9 @@ module Google
31102
33112
  # @!attribute [rw] kind
31103
33113
  # @return [::String]
31104
33114
  # [Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.
33115
+ # @!attribute [rw] metadata
33116
+ # @return [::Google::Protobuf::Map{::String => ::String}]
33117
+ # Metadata of the service attachment.
31105
33118
  # @!attribute [rw] name
31106
33119
  # @return [::String]
31107
33120
  # 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.
@@ -31133,6 +33146,15 @@ module Google
31133
33146
  include ::Google::Protobuf::MessageExts
31134
33147
  extend ::Google::Protobuf::MessageExts::ClassMethods
31135
33148
 
33149
+ # @!attribute [rw] key
33150
+ # @return [::String]
33151
+ # @!attribute [rw] value
33152
+ # @return [::String]
33153
+ class MetadataEntry
33154
+ include ::Google::Protobuf::MessageExts
33155
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33156
+ end
33157
+
31136
33158
  # The connection preference of service attachment. The value can be set to ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always accepts the connection from consumer forwarding rules.
31137
33159
  module ConnectionPreference
31138
33160
  # A value indicating that the enum field is not set.
@@ -31229,7 +33251,7 @@ module Google
31229
33251
 
31230
33252
  # @!attribute [rw] connection_limit
31231
33253
  # @return [::Integer]
31232
- # The value of the limit to set.
33254
+ # The value of the limit to set. For endpoint_url, the limit should be no more than 1.
31233
33255
  # @!attribute [rw] network_url
31234
33256
  # @return [::String]
31235
33257
  # The network URL for the network to set the limit for.
@@ -31678,6 +33700,36 @@ module Google
31678
33700
  extend ::Google::Protobuf::MessageExts::ClassMethods
31679
33701
  end
31680
33702
 
33703
+ # A request message for InterconnectAttachmentGroups.SetIamPolicy. See the method description for details.
33704
+ # @!attribute [rw] global_set_policy_request_resource
33705
+ # @return [::Google::Cloud::Compute::V1::GlobalSetPolicyRequest]
33706
+ # The body resource for this request
33707
+ # @!attribute [rw] project
33708
+ # @return [::String]
33709
+ # Project ID for this request.
33710
+ # @!attribute [rw] resource
33711
+ # @return [::String]
33712
+ # Name or id of the resource for this request.
33713
+ class SetIamPolicyInterconnectAttachmentGroupRequest
33714
+ include ::Google::Protobuf::MessageExts
33715
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33716
+ end
33717
+
33718
+ # A request message for InterconnectGroups.SetIamPolicy. See the method description for details.
33719
+ # @!attribute [rw] global_set_policy_request_resource
33720
+ # @return [::Google::Cloud::Compute::V1::GlobalSetPolicyRequest]
33721
+ # The body resource for this request
33722
+ # @!attribute [rw] project
33723
+ # @return [::String]
33724
+ # Project ID for this request.
33725
+ # @!attribute [rw] resource
33726
+ # @return [::String]
33727
+ # Name or id of the resource for this request.
33728
+ class SetIamPolicyInterconnectGroupRequest
33729
+ include ::Google::Protobuf::MessageExts
33730
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33731
+ end
33732
+
31681
33733
  # A request message for Licenses.SetIamPolicy. See the method description for details.
31682
33734
  # @!attribute [rw] global_set_policy_request_resource
31683
33735
  # @return [::Google::Cloud::Compute::V1::GlobalSetPolicyRequest]
@@ -34327,13 +36379,13 @@ module Google
34327
36379
  # Check the PerformanceProvisioningType enum for the list of possible values.
34328
36380
  # @!attribute [rw] pool_provisioned_capacity_gb
34329
36381
  # @return [::Integer]
34330
- # Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.
36382
+ # Size of the storage pool in GiB. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.
34331
36383
  # @!attribute [rw] pool_provisioned_iops
34332
36384
  # @return [::Integer]
34333
36385
  # Provisioned IOPS of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced.
34334
36386
  # @!attribute [rw] pool_provisioned_throughput
34335
36387
  # @return [::Integer]
34336
- # Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.
36388
+ # Provisioned throughput of the storage pool in MiB/s. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.
34337
36389
  # @!attribute [rw] resource_status
34338
36390
  # @return [::Google::Cloud::Compute::V1::StoragePoolResourceStatus]
34339
36391
  # [Output Only] Status information for the storage pool resource.
@@ -34574,7 +36626,7 @@ module Google
34574
36626
  # [Output Only] Timestamp of the last successful resize in RFC3339 text format.
34575
36627
  # @!attribute [rw] max_total_provisioned_disk_capacity_gb
34576
36628
  # @return [::Integer]
34577
- # [Output Only] Maximum allowed aggregate disk size in gigabytes.
36629
+ # [Output Only] Maximum allowed aggregate disk size in GiB.
34578
36630
  # @!attribute [rw] pool_used_capacity_bytes
34579
36631
  # @return [::Integer]
34580
36632
  # [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.
@@ -34583,19 +36635,19 @@ module Google
34583
36635
  # [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.
34584
36636
  # @!attribute [rw] pool_used_throughput
34585
36637
  # @return [::Integer]
34586
- # [Output Only] Sum of all the disks' provisioned throughput in MB/s.
36638
+ # [Output Only] Sum of all the disks' provisioned throughput in MiB/s.
34587
36639
  # @!attribute [rw] pool_user_written_bytes
34588
36640
  # @return [::Integer]
34589
36641
  # [Output Only] Amount of data written into the pool, before it is compacted.
34590
36642
  # @!attribute [rw] total_provisioned_disk_capacity_gb
34591
36643
  # @return [::Integer]
34592
- # [Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity.
36644
+ # [Output Only] Sum of all the disks' provisioned capacity (in GiB) in this storage pool. A disk's provisioned capacity is the same as its total capacity.
34593
36645
  # @!attribute [rw] total_provisioned_disk_iops
34594
36646
  # @return [::Integer]
34595
36647
  # [Output Only] Sum of all the disks' provisioned IOPS.
34596
36648
  # @!attribute [rw] total_provisioned_disk_throughput
34597
36649
  # @return [::Integer]
34598
- # [Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.
36650
+ # [Output Only] Sum of all the disks' provisioned throughput in MiB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.
34599
36651
  class StoragePoolResourceStatus
34600
36652
  include ::Google::Protobuf::MessageExts
34601
36653
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -34789,6 +36841,9 @@ module Google
34789
36841
  # @!attribute [rw] network
34790
36842
  # @return [::String]
34791
36843
  # The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. This field can be set only at resource creation time.
36844
+ # @!attribute [rw] params
36845
+ # @return [::Google::Cloud::Compute::V1::SubnetworkParams]
36846
+ # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
34792
36847
  # @!attribute [rw] private_ip_google_access
34793
36848
  # @return [::Boolean]
34794
36849
  # Whether the VMs in this subnet can access Google services without assigned external IP addresses. This field can be both set at resource creation time and updated using setPrivateIpGoogleAccess.
@@ -34823,6 +36878,12 @@ module Google
34823
36878
  # @return [::String]
34824
36879
  # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
34825
36880
  # Check the State enum for the list of possible values.
36881
+ # @!attribute [rw] system_reserved_external_ipv6_ranges
36882
+ # @return [::Array<::String>]
36883
+ # Output only. [Output Only] The array of external IPv6 network ranges reserved from the subnetwork's external IPv6 range for system use.
36884
+ # @!attribute [rw] system_reserved_internal_ipv6_ranges
36885
+ # @return [::Array<::String>]
36886
+ # Output only. [Output Only] The array of internal IPv6 network ranges reserved from the subnetwork's internal IPv6 range for system use.
34826
36887
  class Subnetwork
34827
36888
  include ::Google::Protobuf::MessageExts
34828
36889
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -35052,6 +37113,24 @@ module Google
35052
37113
  end
35053
37114
  end
35054
37115
 
37116
+ # Additional subnetwork parameters.
37117
+ # @!attribute [rw] resource_manager_tags
37118
+ # @return [::Google::Protobuf::Map{::String => ::String}]
37119
+ # Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * \\{"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"} * \\{"123/environment" : "production", "345/abc" : "xyz"} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: \\{"123/environment" : "tagValues/444"} is invalid.
37120
+ class SubnetworkParams
37121
+ include ::Google::Protobuf::MessageExts
37122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37123
+
37124
+ # @!attribute [rw] key
37125
+ # @return [::String]
37126
+ # @!attribute [rw] value
37127
+ # @return [::String]
37128
+ class ResourceManagerTagsEntry
37129
+ include ::Google::Protobuf::MessageExts
37130
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37131
+ end
37132
+ end
37133
+
35055
37134
  # Represents a secondary IP range of a subnetwork.
35056
37135
  # @!attribute [rw] ip_cidr_range
35057
37136
  # @return [::String]
@@ -35086,6 +37165,17 @@ module Google
35086
37165
  extend ::Google::Protobuf::MessageExts::ClassMethods
35087
37166
  end
35088
37167
 
37168
+ # @!attribute [rw] scope_name
37169
+ # @return [::String]
37170
+ # Name of the scope containing this set of Subnetworks.
37171
+ # @!attribute [rw] warning
37172
+ # @return [::Google::Cloud::Compute::V1::Warning]
37173
+ # An informational warning about unreachable scope
37174
+ class SubnetworksScopedWarning
37175
+ include ::Google::Protobuf::MessageExts
37176
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37177
+ end
37178
+
35089
37179
  # @!attribute [rw] private_ip_google_access
35090
37180
  # @return [::Boolean]
35091
37181
  class SubnetworksSetPrivateIpGoogleAccessRequest
@@ -36514,6 +38604,36 @@ module Google
36514
38604
  extend ::Google::Protobuf::MessageExts::ClassMethods
36515
38605
  end
36516
38606
 
38607
+ # A request message for InterconnectAttachmentGroups.TestIamPermissions. See the method description for details.
38608
+ # @!attribute [rw] project
38609
+ # @return [::String]
38610
+ # Project ID for this request.
38611
+ # @!attribute [rw] resource
38612
+ # @return [::String]
38613
+ # Name or id of the resource for this request.
38614
+ # @!attribute [rw] test_permissions_request_resource
38615
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsRequest]
38616
+ # The body resource for this request
38617
+ class TestIamPermissionsInterconnectAttachmentGroupRequest
38618
+ include ::Google::Protobuf::MessageExts
38619
+ extend ::Google::Protobuf::MessageExts::ClassMethods
38620
+ end
38621
+
38622
+ # A request message for InterconnectGroups.TestIamPermissions. See the method description for details.
38623
+ # @!attribute [rw] project
38624
+ # @return [::String]
38625
+ # Project ID for this request.
38626
+ # @!attribute [rw] resource
38627
+ # @return [::String]
38628
+ # Name or id of the resource for this request.
38629
+ # @!attribute [rw] test_permissions_request_resource
38630
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsRequest]
38631
+ # The body resource for this request
38632
+ class TestIamPermissionsInterconnectGroupRequest
38633
+ include ::Google::Protobuf::MessageExts
38634
+ extend ::Google::Protobuf::MessageExts::ClassMethods
38635
+ end
38636
+
36517
38637
  # A request message for LicenseCodes.TestIamPermissions. See the method description for details.
36518
38638
  # @!attribute [rw] project
36519
38639
  # @return [::String]
@@ -36891,6 +39011,13 @@ module Google
36891
39011
  # @!attribute [rw] latest_window_start_time
36892
39012
  # @return [::String]
36893
39013
  # The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format.
39014
+ # @!attribute [rw] maintenance_on_shutdown
39015
+ # @return [::Boolean]
39016
+ # Indicates whether the UpcomingMaintenance will be triggered on VM shutdown.
39017
+ # @!attribute [rw] maintenance_reasons
39018
+ # @return [::Array<::String>]
39019
+ # The reasons for the maintenance. Only valid for vms.
39020
+ # Check the MaintenanceReasons enum for the list of possible values.
36894
39021
  # @!attribute [rw] maintenance_status
36895
39022
  # @return [::String]
36896
39023
  # Check the MaintenanceStatus enum for the list of possible values.
@@ -36909,6 +39036,50 @@ module Google
36909
39036
  extend ::Google::Protobuf::MessageExts::ClassMethods
36910
39037
 
36911
39038
 
39039
+ module MaintenanceReasons
39040
+ # A value indicating that the enum field is not set.
39041
+ UNDEFINED_MAINTENANCE_REASONS = 0
39042
+
39043
+ # Maintenance due to disk errors.
39044
+ FAILURE_DISK = 8_573_778
39045
+
39046
+ # Maintenance due to GPU errors.
39047
+ FAILURE_GPU = 467_876_919
39048
+
39049
+ # Maintenance due to high GPU temperature.
39050
+ FAILURE_GPU_TEMPERATURE = 24_926_540
39051
+
39052
+ # Maintenance due to GPU xid failure.
39053
+ FAILURE_GPU_XID = 51_956_587
39054
+
39055
+ # Maintenance due to infrastructure errors.
39056
+ FAILURE_INFRA = 270_541_467
39057
+
39058
+ # Maintenance due to interface errors.
39059
+ FAILURE_INTERFACE = 390_068_356
39060
+
39061
+ # Maintenance due to memory errors.
39062
+ FAILURE_MEMORY = 440_132_982
39063
+
39064
+ # Maintenance due to network errors.
39065
+ FAILURE_NETWORK = 42_811_449
39066
+
39067
+ # Maintenance due to NVLink failure.
39068
+ FAILURE_NVLINK = 484_426_295
39069
+
39070
+ # Maintenance due to infrastructure relocation.
39071
+ INFRASTRUCTURE_RELOCATION = 359_845_636
39072
+
39073
+ # Unknown maintenance reason. Do not use this value.
39074
+ MAINTENANCE_REASON_UNKNOWN = 50_570_235
39075
+
39076
+ # Maintenance due to planned network update.
39077
+ PLANNED_NETWORK_UPDATE = 135_494_677
39078
+
39079
+ # Maintenance due to planned update to the instance.
39080
+ PLANNED_UPDATE = 161_733_572
39081
+ end
39082
+
36912
39083
  module MaintenanceStatus
36913
39084
  # A value indicating that the enum field is not set.
36914
39085
  UNDEFINED_MAINTENANCE_STATUS = 0
@@ -36928,6 +39099,9 @@ module Google
36928
39099
  # A value indicating that the enum field is not set.
36929
39100
  UNDEFINED_TYPE = 0
36930
39101
 
39102
+ # Multiple maintenance types in one window. This is only intended to be used for groups.
39103
+ MULTIPLE = 362_714_640
39104
+
36931
39105
  # Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).
36932
39106
  SCHEDULED = 478_400_653
36933
39107
 
@@ -37154,6 +39328,27 @@ module Google
37154
39328
  end
37155
39329
  end
37156
39330
 
39331
+ # A request message for Licenses.Update. See the method description for details.
39332
+ # @!attribute [rw] license
39333
+ # @return [::String]
39334
+ # The license name for this request.
39335
+ # @!attribute [rw] license_resource
39336
+ # @return [::Google::Cloud::Compute::V1::License]
39337
+ # The body resource for this request
39338
+ # @!attribute [rw] project
39339
+ # @return [::String]
39340
+ # Project ID for this request.
39341
+ # @!attribute [rw] request_id
39342
+ # @return [::String]
39343
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
39344
+ # @!attribute [rw] update_mask
39345
+ # @return [::String]
39346
+ # update_mask indicates fields to be updated as part of this request.
39347
+ class UpdateLicenseRequest
39348
+ include ::Google::Protobuf::MessageExts
39349
+ extend ::Google::Protobuf::MessageExts::ClassMethods
39350
+ end
39351
+
37157
39352
  # A request message for Instances.UpdateNetworkInterface. See the method description for details.
37158
39353
  # @!attribute [rw] instance
37159
39354
  # @return [::String]
@@ -37871,9 +40066,15 @@ module Google
37871
40066
  # @!attribute [rw] next_page_token
37872
40067
  # @return [::String]
37873
40068
  # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. In special cases listUsable may return 0 subnetworks and nextPageToken which still should be used to get the next page of results.
40069
+ # @!attribute [rw] scoped_warnings
40070
+ # @return [::Array<::Google::Cloud::Compute::V1::SubnetworksScopedWarning>]
40071
+ # [Output Only] Informational warning messages for failures encountered from scopes.
37874
40072
  # @!attribute [rw] self_link
37875
40073
  # @return [::String]
37876
40074
  # [Output Only] Server-defined URL for this resource.
40075
+ # @!attribute [rw] unreachables
40076
+ # @return [::Array<::String>]
40077
+ # [Output Only] Unreachable resources.
37877
40078
  # @!attribute [rw] warning
37878
40079
  # @return [::Google::Cloud::Compute::V1::Warning]
37879
40080
  # [Output Only] Informational warning message.