From eb993117f410adf282d46aa13bcc63e981af9876 Mon Sep 17 00:00:00 2001 From: Vadym Matsishevskyi <25311427+vam-google@users.noreply.github.com> Date: Tue, 5 Jan 2021 12:46:39 -0800 Subject: [PATCH] feat: Python DIREGAPIC initial commit (#14) * fix: Update gapic-generator version (to fix PHP generation) * core: Python DIREGAPIC initial commit Also fix and update the other dependencies in the repository: 1) Use the latest revision of comptue API discovery (revision 2020/11/22) 2) Update to the lates gapic-generator (to fix `php_gapic_library` rule `transport` argument) 3) Update to the latest `gapic-generator-python` and `rules_python` (including changes in `WORKSPACE` file required by the newest version of rules_python). --- WORKSPACE | 17 +- google/cloud/compute/v1/BUILD.bazel | 47 + google/cloud/compute/v1/compute.proto | 594 +++++-- google/cloud/compute/v1/compute.v1.json | 1888 +++++++++++++++-------- 4 files changed, 1833 insertions(+), 713 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 915e4b9..ebc78e6 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -20,6 +20,7 @@ switched_rules_by_language( java = True, php = True, nodejs = True, + python = True, ) # Protobuf depends on very old version of bazel_skylib (forward compatible with the new one). @@ -35,8 +36,8 @@ http_archive( # version of the library will be selected as a transitive dependency of gRPC. http_archive( name = "rules_python", - strip_prefix = "rules_python-748aa53d7701e71101dfd15d800e100f6ff8e5d1", - url = "https://github.com/bazelbuild/rules_python/archive/748aa53d7701e71101dfd15d800e100f6ff8e5d1.zip", + strip_prefix = "rules_python-0.1.0", + url = "https://github.com/bazelbuild/rules_python/archive/0.1.0.tar.gz", ) http_archive( @@ -70,8 +71,8 @@ rules_proto_toolchains() # section http_archive( name = "com_google_api_codegen", - strip_prefix = "gapic-generator-2.9.0", - urls = ["https://github.com/googleapis/gapic-generator/archive/v2.9.0.zip"], + strip_prefix = "gapic-generator-2.10.1", + urls = ["https://github.com/googleapis/gapic-generator/archive/v2.10.1.zip"], ) # rules_go (support Golang under bazel) @@ -235,8 +236,8 @@ pip_repositories() # Change upstream repository once PR is merged http_archive( name = "gapic_generator_python", - strip_prefix = "gapic-generator-python-0.35.9", - urls = ["https://github.com/googleapis/gapic-generator-python/archive/v0.35.9.zip"], + strip_prefix = "gapic-generator-python-56c31de4a9f661e3d69b52e19c9a28dddfe9d7dc", + urls = ["https://github.com/googleapis/gapic-generator-python/archive/56c31de4a9f661e3d69b52e19c9a28dddfe9d7dc.zip"], ) load( @@ -249,10 +250,6 @@ gapic_generator_python() gapic_generator_register_toolchains() -load("@gapic_generator_python_pip_deps//:requirements.bzl", "pip_install") - -pip_install() - ############################################################################## # Go ############################################################################## diff --git a/google/cloud/compute/v1/BUILD.bazel b/google/cloud/compute/v1/BUILD.bazel index c18affe..c0cec9c 100644 --- a/google/cloud/compute/v1/BUILD.bazel +++ b/google/cloud/compute/v1/BUILD.bazel @@ -59,6 +59,7 @@ proto_library( "@com_google_googleapis//google/api:client_proto", "@com_google_googleapis//google/api:field_behavior_proto", "@com_google_googleapis//google/api:resource_proto", + "@com_google_protobuf//:descriptor_proto", ], ) @@ -248,6 +249,52 @@ java_gapic_assembly_gradle_pkg( ], ) +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", +) + +py_gapic_library( + name = "compute_py_gapic", + opt_args = [ + "transport=rest" + ], + srcs = [ + ":compute_proto" + ], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "compute-v1-py", + deps = [ + ":compute_py_gapic", + ], +) + +# Python Compute Small (for testing and prototyping purposes) +py_gapic_library( + name = "compute_small_py_gapic", + srcs = [ + ":compute_small_proto" + ], + opt_args = [ + "transport=rest" + ], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "compute-small-v1-py", + deps = [ + ":compute_small_py_gapic", + ], +) + ############################################################################## # PHP ############################################################################## diff --git a/google/cloud/compute/v1/compute.proto b/google/cloud/compute/v1/compute.proto index a154167..79caeff 100644 --- a/google/cloud/compute/v1/compute.proto +++ b/google/cloud/compute/v1/compute.proto @@ -14,7 +14,7 @@ // Generated by the disco-to-proto3-converter. DO NOT EDIT! // Source Discovery file: compute.v1.json -// Source file revision: 20201005 +// Source file revision: 20201122 // API name: compute // API version: v1 @@ -163,6 +163,8 @@ message Warning { INJECTED_KERNELS_DEPRECATED = 148941963; + LARGE_DEPLOYMENT_WARNING = 213005222; + MISSING_TYPE_DEPENDENCY = 76070007; NEXT_HOP_ADDRESS_NOT_ASSIGNED = 56529543; @@ -369,7 +371,7 @@ message Address { // - `DNS_RESOLVER` for a DNS resolver address in a subnetwork // - `VPC_PEERING` for addresses that are reserved for VPC peer networks. // - `NAT_AUTO` for addresses that are external IP addresses automatically reserved for Cloud NAT. - // - `IPSEC_INTERCONNECT` for addresses created from a private IP range reserved for a VLAN attachment in an IPsec over Interconnect configuration. These addresses are regional resources. + // - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are reserved for a VLAN attachment in an IPsec encrypted Interconnect configuration. These addresses are regional resources. enum Purpose { // A value indicating that the enum field is not set. UNDEFINED_PURPOSE = 0; @@ -439,7 +441,7 @@ message Address { // - `DNS_RESOLVER` for a DNS resolver address in a subnetwork // - `VPC_PEERING` for addresses that are reserved for VPC peer networks. // - `NAT_AUTO` for addresses that are external IP addresses automatically reserved for Cloud NAT. - // - `IPSEC_INTERCONNECT` for addresses created from a private IP range reserved for a VLAN attachment in an IPsec over Interconnect configuration. These addresses are regional resources. + // - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are reserved for a VLAN attachment in an IPsec encrypted Interconnect configuration. These addresses are regional resources. Purpose purpose = 47971614; // [Output Only] The URL of the region where the regional address resides. This field is not applicable to global addresses. You must specify this field as part of the HTTP request URL. @@ -601,6 +603,8 @@ message GuestOsFeature { FEATURE_TYPE_UNSPECIFIED = 263331803; + GVNIC = 68209305; + MULTI_IP_SUBNET = 151776719; SECURE_BOOT = 108375738; @@ -911,7 +915,7 @@ message AutoscalingPolicy { } - // The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds. + // The number of seconds that the autoscaler waits before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds. // // Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process. int32 cool_down_period_sec = 107692954; @@ -925,10 +929,10 @@ message AutoscalingPolicy { // Configuration parameters of autoscaling based on load balancer. AutoscalingPolicyLoadBalancingUtilization load_balancing_utilization = 161310947; - // The maximum number of instances that the autoscaler can scale up to. This is required when creating or updating an autoscaler. The maximum number of replicas should not be lower than minimal number of replicas. + // The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas. int32 max_num_replicas = 62327375; - // The minimum number of replicas that the autoscaler can scale down to. This cannot be less than 0. If not provided, autoscaler will choose a default value depending on maximum number of instances allowed. + // The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed. int32 min_num_replicas = 266894369; // Defines operating mode for this policy. @@ -950,7 +954,7 @@ message AutoscalerStatusDetails { // - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. // - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. // - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. - // - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only up" mode. The autoscaler can add instances but not remove any. + // - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only out" mode. The autoscaler can add instances but not remove any. // - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. // - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. // - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. @@ -1012,7 +1016,7 @@ message AutoscalerStatusDetails { // - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. // - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. // - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. - // - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only up" mode. The autoscaler can add instances but not remove any. + // - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only out" mode. The autoscaler can add instances but not remove any. // - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. // - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. // - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. @@ -1027,7 +1031,7 @@ message AutoscalerStatusDetails { // // Google Compute Engine has two Autoscaler resources: // -// * [Global](/compute/docs/reference/rest/{$api_version}/autoscalers) * [Regional](/compute/docs/reference/rest/{$api_version}/regionAutoscalers) +// * [Zonal](/compute/docs/reference/rest/{$api_version}/autoscalers) * [Regional](/compute/docs/reference/rest/{$api_version}/regionAutoscalers) // // Use autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances. // @@ -1074,7 +1078,7 @@ message Autoscaler { // 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. string name = 3373707; - // [Output Only] Target recommended MIG size (number of instances) computed by autoscaler. Autoscaler calculates recommended MIG size even when autoscaling policy mode is different from ON. This field is empty when autoscaler is not connected to the existing managed instance group or autoscaler did not generate its prediction. + // [Output Only] Target recommended MIG size (number of instances) computed by autoscaler. Autoscaler calculates the recommended MIG size even when the autoscaling policy mode is different from ON. This field is empty when autoscaler is not connected to an existing managed instance group or autoscaler did not generate its prediction. int32 recommended_size = 257915749; // [Output Only] URL of the region where the instance group resides (for autoscalers living in regional scope). @@ -1093,7 +1097,7 @@ message Autoscaler { // [Output Only] Human-readable details about the current state of the autoscaler. Read the documentation for Commonly returned status messages for examples of status messages you might encounter. repeated AutoscalerStatusDetails status_details = 94918389; - // URL of the managed instance group that this autoscaler will scale. + // URL of the managed instance group that this autoscaler will scale. This field is required when creating an autoscaler. string target = 192835985; // [Output Only] URL of the zone where the instance group resides (for autoscalers living in zonal scope). @@ -1160,11 +1164,11 @@ message AutoscalerList { // CPU utilization policy. message AutoscalingPolicyCpuUtilization { - // The target CPU utilization that the autoscaler should maintain. Must be a float value in the range (0, 1]. If not specified, the default is 0.6. + // The target CPU utilization that the autoscaler maintains. Must be a float value in the range (0, 1]. If not specified, the default is 0.6. // - // If the CPU level is below the target utilization, the autoscaler scales down the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization. + // If the CPU level is below the target utilization, the autoscaler scales in the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization. // - // If the average CPU is above the target utilization, the autoscaler scales up until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization. + // If the average CPU is above the target utilization, the autoscaler scales out until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization. double utilization_target = 215905870; } @@ -1184,14 +1188,35 @@ message AutoscalingPolicyCustomMetricUtilization { } + // A filter string, compatible with a Stackdriver Monitoring filter string for TimeSeries.list API call. This filter is used to select a specific TimeSeries for the purpose of autoscaling and to determine whether the metric is exporting per-instance or per-group data. + // + // For the filter to be valid for autoscaling purposes, the following rules apply: + // - You can only use the AND operator for joining selectors. + // - You can only use direct equality comparison operator (=) without any functions for each selector. + // - You can specify the metric in both the filter string and in the metric field. However, if specified in both places, the metric must be identical. + // - The monitored resource type determines what kind of values are expected for the metric. If it is a gce_instance, the autoscaler expects the metric to include a separate TimeSeries for each instance in a group. In such a case, you cannot filter on resource labels. + // If the resource type is any other value, the autoscaler expects this metric to contain values that apply to the entire autoscaled instance group and resource label filtering can be performed to point autoscaler at the correct TimeSeries to scale upon. This is called a per-group metric for the purpose of autoscaling. + // + // If not specified, the type defaults to gce_instance. + // + // Try to provide a filter that is selective enough to pick just one TimeSeries for the autoscaled group or for each of the instances (if you are using gce_instance resource type). If multiple TimeSeries are returned upon the query execution, the autoscaler will sum their respective values to obtain its scaling value. + string filter = 67685240; + // The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values. // // The metric must have a value type of INT64 or DOUBLE. string metric = 264631728; - // The target value of the metric that autoscaler should maintain. This must be a positive value. A utilization metric scales number of virtual machines handling requests to increase or decrease proportionally to the metric. + // If scaling is based on a per-group metric value that represents the total amount of work to be done or resource usage, set this value to an amount assigned for a single instance of the scaled group. Autoscaler keeps the number of instances proportional to the value of this metric. The metric itself does not change value due to group resizing. // - // For example, a good metric to use as a utilization_target is https://www.googleapis.com/compute/v1/instance/network/received_bytes_count. The autoscaler will work to keep this value constant for each of the instances. + // A good metric to use with the target is for example pubsub.googleapis.com/subscription/num_undelivered_messages or a custom metric exporting the total number of requests coming to your instances. + // + // A bad example would be a metric exporting an average or median latency, since this value can't include a chunk assignable to a single instance, it could be better used with utilization_target instead. + double single_instance_assignment = 236332608; + + // The target value of the metric that autoscaler maintains. This must be a positive value. A utilization metric scales number of virtual machines handling requests to increase or decrease proportionally to the metric. + // + // For example, a good metric to use as a utilization_target is https://www.googleapis.com/compute/v1/instance/network/received_bytes_count. The autoscaler works to keep this value constant for each of the instances. double utilization_target = 215905870; // Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. @@ -1201,7 +1226,7 @@ message AutoscalingPolicyCustomMetricUtilization { // Configuration parameters of autoscaling based on load balancing. message AutoscalingPolicyLoadBalancingUtilization { - // Fraction of backend capacity utilization (set in HTTP(S) load balancing configuration) that autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8. + // Fraction of backend capacity utilization (set in HTTP(S) load balancing configuration) that the autoscaler maintains. Must be a positive float value. If not defined, the default is 0.8. double utilization_target = 215905870; } @@ -1211,7 +1236,7 @@ message AutoscalingPolicyScaleInControl { // Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step. FixedOrPercent max_scaled_in_replicas = 180710123; - // How long back autoscaling should look when computing recommendations to include directives regarding slower scale in, as described above. + // How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above. int32 time_window_sec = 36405300; } @@ -1245,13 +1270,13 @@ message Backend { // // If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and TCP Proxy load balancers), you must also specify exactly one of the following parameters: maxConnections (except for regional managed instance groups), maxConnectionsPerInstance, or maxConnectionsPerEndpoint. // - // If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/UDP load balancers), you cannot specify any additional parameters. + // If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/UDP Load Balancers) or EXTERNAL (Network Load Balancing), you cannot specify any additional parameters. // // - If the load balancing mode is RATE, the load is spread based on the rate of HTTP requests per second (RPS). - // You can use the RATE balancing mode if the protocol for the backend service is HTTP or HTTPS. You must specify exactly one of the following parameters: maxRate (except for regional managed instance groups), maxRatePerInstance, or maxRatePerEndpoint. + // You can use the RATE balancing mode if the protocol for the backend service is HTTP, HTTP2, or HTTPS. You must specify exactly one of the following parameters: maxRate (except for regional managed instance groups), maxRatePerInstance, or maxRatePerEndpoint. // // - If the load balancing mode is UTILIZATION, the load is spread based on the backend utilization of instances in an instance group. - // You can use the UTILIZATION balancing mode if the loadBalancingScheme of the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance groups. There are no restrictions on the backend service protocol. + // You can use the UTILIZATION balancing mode if the loadBalancingScheme of the backend service is EXTERNAL (except Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance groups. There are no restrictions on the backend service protocol. enum BalancingMode { // A value indicating that the enum field is not set. UNDEFINED_BALANCING_MODE = 0; @@ -1274,18 +1299,18 @@ message Backend { // // If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and TCP Proxy load balancers), you must also specify exactly one of the following parameters: maxConnections (except for regional managed instance groups), maxConnectionsPerInstance, or maxConnectionsPerEndpoint. // - // If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/UDP load balancers), you cannot specify any additional parameters. + // If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/UDP Load Balancers) or EXTERNAL (Network Load Balancing), you cannot specify any additional parameters. // // - If the load balancing mode is RATE, the load is spread based on the rate of HTTP requests per second (RPS). - // You can use the RATE balancing mode if the protocol for the backend service is HTTP or HTTPS. You must specify exactly one of the following parameters: maxRate (except for regional managed instance groups), maxRatePerInstance, or maxRatePerEndpoint. + // You can use the RATE balancing mode if the protocol for the backend service is HTTP, HTTP2, or HTTPS. You must specify exactly one of the following parameters: maxRate (except for regional managed instance groups), maxRatePerInstance, or maxRatePerEndpoint. // // - If the load balancing mode is UTILIZATION, the load is spread based on the backend utilization of instances in an instance group. - // You can use the UTILIZATION balancing mode if the loadBalancingScheme of the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance groups. There are no restrictions on the backend service protocol. + // You can use the UTILIZATION balancing mode if the loadBalancingScheme of the backend service is EXTERNAL (except Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance groups. There are no restrictions on the backend service protocol. BalancingMode balancing_mode = 161850761; // A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. Valid range is 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. // - // This cannot be used for internal load balancing. + // This cannot be used for Internal TCP/UDP Load Balancing and Network Load Balancing. float capacity_scaler = 47522701; // An optional description of this resource. Provide this property when you create the resource. @@ -1297,27 +1322,29 @@ message Backend { // The fully-qualified URL of an instance group or network endpoint group (NEG) resource. The type of backend that a backend service supports depends on the backend service's loadBalancingScheme. // // - // - When the loadBalancingScheme for the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the backend can be either an instance group or a NEG. The backends on the backend service must be either all instance groups or all NEGs. You cannot mix instance group and NEG backends on the same backend service. + // - When the loadBalancingScheme for the backend service is EXTERNAL (except Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED , the backend can be either an instance group or a NEG. The backends on the backend service must be either all instance groups or all NEGs. You cannot mix instance group and NEG backends on the same backend service. + // // + // - When the loadBalancingScheme for the backend service is EXTERNAL for Network Load Balancing or INTERNAL for Internal TCP/UDP Load Balancing, the backend must be an instance group. NEGs are not supported. // - // - When the loadBalancingScheme for the backend service is INTERNAL, the backend must be an instance group in the same region as the backend service. NEGs are not supported. + // For regional services, the backend must be in the same region as the backend service. // // You must use the fully-qualified URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported. string group = 98629247; - // Defines a target maximum number of simultaneous connections that the backend can handle. Valid for network endpoint group and instance group backends (except for regional managed instance groups). If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, you must specify either this parameter, maxConnectionsPerInstance, or maxConnectionsPerEndpoint. + // Defines a target maximum number of simultaneous connections that the backend can handle. Valid for network endpoint group and instance group backends (except for regional managed instance groups). If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must specify either this parameter, maxConnectionsPerInstance, or maxConnectionsPerEndpoint. // - // Not available if the backend's balancingMode is RATE. If the loadBalancingScheme is INTERNAL, then maxConnections is not supported, even though the backend requires a balancing mode of CONNECTION. + // Not available if the backend's balancingMode is RATE. Cannot be specified for Network Load Balancing or Internal TCP/UDP Load Balancing, even though those load balancers require a balancing mode of CONNECTION. int32 max_connections = 110652154; - // Defines a target maximum number of simultaneous connections for an endpoint of a NEG. This is multiplied by the number of endpoints in the NEG to implicitly calculate a maximum number of target maximum simultaneous connections for the NEG. If the backend's balancingMode is CONNECTION, and the backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, you must specify either this parameter, maxConnections, or maxConnectionsPerInstance. + // Defines a target maximum number of simultaneous connections for an endpoint of a NEG. This is multiplied by the number of endpoints in the NEG to implicitly calculate a maximum number of target maximum simultaneous connections for the NEG. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must specify either this parameter, maxConnections, or maxConnectionsPerInstance. // - // Not available if the backend's balancingMode is RATE. Internal TCP/UDP load balancing does not support setting maxConnectionsPerEndpoint even though its backends require a balancing mode of CONNECTION. + // Not available if the backend's balancingMode is RATE. Cannot be specified for Network Load Balancing or Internal TCP/UDP Load Balancing, even though those load balancers require a balancing mode of CONNECTION. int32 max_connections_per_endpoint = 216904604; - // Defines a target maximum number of simultaneous connections for a single VM in a backend instance group. This is multiplied by the number of instances in the instance group to implicitly calculate a target maximum number of simultaneous connections for the whole instance group. If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, you must specify either this parameter, maxConnections, or maxConnectionsPerEndpoint. + // Defines a target maximum number of simultaneous connections for a single VM in a backend instance group. This is multiplied by the number of instances in the instance group to implicitly calculate a target maximum number of simultaneous connections for the whole instance group. If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must specify either this parameter, maxConnections, or maxConnectionsPerEndpoint. // - // Not available if the backend's balancingMode is RATE. Internal TCP/UDP load balancing does not support setting maxConnectionsPerInstance even though its backends require a balancing mode of CONNECTION. + // Not available if the backend's balancingMode is RATE. Cannot be specified for Network Load Balancing or Internal TCP/UDP Load Balancing, even though those load balancers require a balancing mode of CONNECTION. int32 max_connections_per_instance = 104671900; // Defines a maximum number of HTTP requests per second (RPS) that the backend can handle. Valid for network endpoint group and instance group backends (except for regional managed instance groups). Must not be defined if the backend is a managed instance group that uses autoscaling based on load balancing. @@ -1350,6 +1377,45 @@ message Backend { // Message containing Cloud CDN configuration for a backend bucket. message BackendBucketCdnPolicy { + // Specifies the cache setting for all responses from this backend. The possible values are: + // + // USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. + // + // FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. + // + // CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. + enum CacheMode { + // A value indicating that the enum field is not set. + UNDEFINED_CACHE_MODE = 0; + + CACHE_ALL_STATIC = 86592489; + + FORCE_CACHE_ALL = 217591472; + + INVALID_CACHE_MODE = 112860104; + + USE_ORIGIN_HEADERS = 55380261; + + } + + // Specifies the cache setting for all responses from this backend. The possible values are: + // + // USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. + // + // FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. + // + // CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. + CacheMode cache_mode = 28877888; + + // Specifies a separate client (e.g. browser client) TTL, separate from the TTL for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL for both Cloud CDN and the client-facing response. The maximum allowed value is 86400s (1 day). + int32 client_ttl = 29034360; + + // Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL. + int32 default_ttl = 100253422; + + // Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of "0" means "always revalidate". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL. + int32 max_ttl = 39142545; + // Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered. string signed_url_cache_max_age_sec = 939078; @@ -1371,6 +1437,9 @@ message BackendBucket { // [Output Only] Creation timestamp in RFC3339 text format. string creation_timestamp = 30525366; + // Headers that the HTTP/S load balancer should add to proxied responses. + repeated string custom_response_headers = 119103638; + // An optional textual description of the resource; provided by the client when the resource is created. string description = 154502140; @@ -1415,9 +1484,48 @@ message BackendBucketList { // Message containing Cloud CDN configuration for a backend service. message BackendServiceCdnPolicy { + // Specifies the cache setting for all responses from this backend. The possible values are: + // + // USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. + // + // FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. + // + // CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. + enum CacheMode { + // A value indicating that the enum field is not set. + UNDEFINED_CACHE_MODE = 0; + + CACHE_ALL_STATIC = 86592489; + + FORCE_CACHE_ALL = 217591472; + + INVALID_CACHE_MODE = 112860104; + + USE_ORIGIN_HEADERS = 55380261; + + } + // The CacheKeyPolicy for this CdnPolicy. CacheKeyPolicy cache_key_policy = 159263727; + // Specifies the cache setting for all responses from this backend. The possible values are: + // + // USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. + // + // FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. + // + // CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. + CacheMode cache_mode = 28877888; + + // Specifies a separate client (e.g. browser client) TTL, separate from the TTL for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL for both Cloud CDN and the client-facing response. The maximum allowed value is 86400s (1 day). + int32 client_ttl = 29034360; + + // Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL. + int32 default_ttl = 100253422; + + // Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of "0" means "always revalidate". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL. + int32 max_ttl = 39142545; + // Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered. string signed_url_cache_max_age_sec = 939078; @@ -1465,19 +1573,17 @@ message ConsistentHashLoadBalancerSettings { } -// Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover or failback, this field indicates whether connection draining will be honored. GCP has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes). +// Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. On failover or failback, this field indicates whether connection draining will be honored. GCP has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes). message BackendServiceFailoverPolicy { // This can be set to true only if the protocol is TCP. // // The default is false. bool disable_connection_drain_on_failover = 182150753; - // Applicable only to Failover for Internal TCP/UDP Load Balancing. If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy. If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. - // - // The default is false. + // Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing, If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. The default is false. bool drop_traffic_if_unhealthy = 112289428; - // Applicable only to Failover for Internal TCP/UDP Load Balancing. The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. + // Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. float failover_ratio = 212667006; } @@ -1545,6 +1651,22 @@ message OutlierDetection { } +// The authentication and authorization settings for a BackendService. +message SecuritySettings { + // Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends. + // clientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. + // If left blank, communications are not encrypted. + // Note: This field currently has no impact. + string client_tls_policy = 193889770; + + // Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service. + // Note that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities. + // Only applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode). + // Note: This field currently has no impact. + repeated string subject_alt_names = 61594079; + +} + // Represents a Backend Service resource. // // A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. @@ -1557,7 +1679,7 @@ message OutlierDetection { // // (== resource_for {$api_version}.backendService ==) message BackendService { - // Specifies the load balancer type. Choose EXTERNAL for load balancers that receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing. Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created for one type of load balancing cannot be used with another. For more information, refer to Choosing a load balancer. + // Specifies the load balancer type. Choose EXTERNAL for external HTTP(S), SSL Proxy, TCP Proxy and Network Load Balancing. Choose INTERNAL for Internal TCP/UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing. INTERNAL_SELF_MANAGED for Traffic Director. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer. enum LoadBalancingScheme { // A value indicating that the enum field is not set. UNDEFINED_LOAD_BALANCING_SCHEME = 0; @@ -1634,9 +1756,9 @@ message BackendService { } - // Type of session affinity to use. The default is NONE. Session affinity is not applicable if the --protocol is UDP. + // Type of session affinity to use. The default is NONE. // - // When the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. You can use GENERATED_COOKIE if the protocol is HTTP or HTTPS. + // When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. * For all other load balancers that use loadBalancingScheme=EXTERNAL, the possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS. // // When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. // @@ -1673,7 +1795,7 @@ message BackendService { // The list of backends that serve this BackendService. repeated Backend backends = 242404447; - // Cloud CDN configuration for this BackendService. + // Cloud CDN configuration for this BackendService. Not available for Internal TCP/UDP Load Balancing and Network Load Balancing. BackendServiceCdnPolicy cdn_policy = 213976452; // Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled. @@ -1702,13 +1824,16 @@ message BackendService { // Headers that the HTTP/S load balancer should add to proxied requests. repeated string custom_request_headers = 27977992; + // Headers that the HTTP/S load balancer should add to proxied responses. + repeated string custom_response_headers = 119103638; + // An optional description of this resource. Provide this property when you create the resource. string description = 154502140; // If true, enables Cloud CDN for the backend service. Only applicable if the loadBalancingScheme is EXTERNAL and the protocol is HTTP or HTTPS. bool enable_c_d_n = 250733499; - // Applicable only to Failover for Internal TCP/UDP Load Balancing. Requires at least one backend instance group to be defined as a backup (failover) backend. + // Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. Requires at least one backend instance group to be defined as a backup (failover) backend. BackendServiceFailoverPolicy failover_policy = 105658655; // 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 BackendService. An up-to-date fingerprint must be provided in order to update the BackendService, otherwise the request will fail with error 412 conditionNotMet. @@ -1719,7 +1844,7 @@ message BackendService { // The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy) resource for health checking this backend service. Not all backend services support legacy health checks. See Load balancer guide. Currently, at most one health check can be specified for each backend service. Backend services with instance group or zonal NEG backends must have a health check. Backend services with internet or serverless NEG backends must not have a health check. repeated string health_checks = 179935150; - // The configurations for Identity-Aware Proxy on this resource. + // The configurations for Identity-Aware Proxy on this resource. Not available for Internal TCP/UDP Load Balancing and Network Load Balancing. BackendServiceIAP iap = 104024; // [Output Only] The unique identifier for the resource. This identifier is defined by the server. @@ -1728,7 +1853,7 @@ message BackendService { // [Output Only] Type of resource. Always compute#backendService for backend services. string kind = 3292052; - // Specifies the load balancer type. Choose EXTERNAL for load balancers that receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing. Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created for one type of load balancing cannot be used with another. For more information, refer to Choosing a load balancer. + // Specifies the load balancer type. Choose EXTERNAL for external HTTP(S), SSL Proxy, TCP Proxy and Network Load Balancing. Choose INTERNAL for Internal TCP/UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing. INTERNAL_SELF_MANAGED for Traffic Director. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer. LoadBalancingScheme load_balancing_scheme = 95454788; // The load balancing algorithm used within the scope of the locality. The possible values are: @@ -1754,7 +1879,7 @@ message BackendService { // 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. string name = 3373707; - // The URL of the network to which this backend service belongs. This field can only be spcified when the load balancing scheme is set to INTERNAL. + // The URL of the network to which this backend service belongs. This field can only be specified when the load balancing scheme is set to INTERNAL. string network = 232872494; // Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. If not set, this feature is considered disabled. @@ -1771,11 +1896,11 @@ message BackendService { // This cannot be used if the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing). int32 port = 3446913; - // A named port on a backend instance group representing the port for communication to the backend VMs in that group. Required when the loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs. + // A named port on a backend instance group representing the port for communication to the backend VMs in that group. Required when the loadBalancingScheme is EXTERNAL (except Network Load Balancing), INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs. // // // - // Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing). + // Backend services for Internal TCP/UDP Load Balancing and Network Load Balancing require you omit port_name. string port_name = 41534345; // The protocol this BackendService uses to communicate with backends. @@ -1791,12 +1916,17 @@ message BackendService { // [Output Only] The resource URL for the security policy associated with this backend service. string security_policy = 171082513; + // This field specifies the security policy that applies to this backend service. 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. + SecuritySettings security_settings = 210214466; + // [Output Only] Server-defined URL for the resource. string self_link = 187779341; - // Type of session affinity to use. The default is NONE. Session affinity is not applicable if the --protocol is UDP. + // Type of session affinity to use. The default is NONE. // - // When the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. You can use GENERATED_COOKIE if the protocol is HTTP or HTTPS. + // When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. * For all other load balancers that use loadBalancingScheme=EXTERNAL, the possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS. // // When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. // @@ -1877,6 +2007,21 @@ message HealthStatus { } + // + enum WeightError { + // A value indicating that the enum field is not set. + UNDEFINED_WEIGHT_ERROR = 0; + + INVALID_WEIGHT = 115262944; + + MISSING_WEIGHT = 115592081; + + UNAVAILABLE_WEIGHT = 171028839; + + WEIGHT_NONE = 233993375; + + } + // Metadata defined as annotations for network endpoint. map annotations = 112032548; @@ -1892,6 +2037,10 @@ message HealthStatus { // The named port of the instance group, not necessarily the port that is health-checked. int32 port = 3446913; + string weight = 13714040; + + WeightError weight_error = 254066049; + } // @@ -1971,7 +2120,6 @@ message Expr { // Associates `members` with a `role`. message Binding { - // A client-specified ID for this binding. Expected to be globally unique to support the internal bindings-by-ID API. string binding_id = 172652821; // The condition that is associated with this binding. @@ -2780,7 +2928,7 @@ message DistributionPolicyZoneConfiguration { // message DistributionPolicy { - // Zones where the regional managed instance group will create and manage instances. + // Zones where the regional managed instance group will create and manage its instances. repeated DistributionPolicyZoneConfiguration zones = 116085319; } @@ -3141,9 +3289,16 @@ message MetadataFilter { // // (== resource_for {$api_version}.forwardingRules ==) (== resource_for {$api_version}.globalForwardingRules ==) (== resource_for {$api_version}.regionForwardingRules ==) message ForwardingRule { - // The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP or ICMP. + // The IP protocol to which this rule applies. + // + // For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP. // - // For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL, and one of TCP or UDP are valid. For Traffic Director, the load balancing scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S) Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is valid. + // The valid IP protocols are different for different load balancing products: + // - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid. + // - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid. + // - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. + // - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. + // - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid. enum IPProtocol { // A value indicating that the enum field is not set. UNDEFINED_I_P_PROTOCOL = 0; @@ -3181,12 +3336,12 @@ message ForwardingRule { // - EXTERNAL is used for: // - Classic Cloud VPN gateways // - Protocol forwarding to VMs from an external IP address - // - The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP + // - HTTP(S), SSL Proxy, TCP Proxy, and Network Load Balancing // - INTERNAL is used for: // - Protocol forwarding to VMs from an internal IP address - // - Internal TCP/UDP load balancers + // - Internal TCP/UDP Load Balancing // - INTERNAL_MANAGED is used for: - // - Internal HTTP(S) load balancers + // - Internal HTTP(S) Load Balancing // - INTERNAL_SELF_MANAGED is used for: // - Traffic Director // @@ -3230,9 +3385,7 @@ message ForwardingRule { // This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer. bool allow_global_access = 230974218; - // This field is only used for INTERNAL load balancing. - // - // For internal load balancing, this field identifies the BackendService resource to receive the matched traffic. + // Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types. string backend_service = 38510602; // [Output Only] Creation timestamp in RFC3339 text format. @@ -3250,16 +3403,29 @@ message ForwardingRule { // // If you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address: // - // * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name * Partial URL or by name, as in: * projects/project_id/regions/region/addresses/address-name * regions/region/addresses/address-name * global/addresses/address-name * address-name + // * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name * Partial URL or by name, as in: + // - projects/project_id/regions/region/addresses/address-name + // - regions/region/addresses/address-name + // - global/addresses/address-name + // - address-name // // The loadBalancingScheme and the forwarding rule's target determine the type of IP address that you can use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). // // Must be set to `0.0.0.0` when the target is targetGrpcProxy that has validateForProxyless field set to true. + // + // For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided. string i_p_address = 254156495; - // The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP or ICMP. + // The IP protocol to which this rule applies. // - // For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL, and one of TCP or UDP are valid. For Traffic Director, the load balancing scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S) Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is valid. + // For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP. + // + // The valid IP protocols are different for different load balancing products: + // - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid. + // - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid. + // - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. + // - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. + // - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid. IPProtocol i_p_protocol = 55338781; // [Output Only] The unique identifier for the resource. This identifier is defined by the server. @@ -3280,12 +3446,12 @@ message ForwardingRule { // - EXTERNAL is used for: // - Classic Cloud VPN gateways // - Protocol forwarding to VMs from an external IP address - // - The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP + // - HTTP(S), SSL Proxy, TCP Proxy, and Network Load Balancing // - INTERNAL is used for: // - Protocol forwarding to VMs from an internal IP address - // - Internal TCP/UDP load balancers + // - Internal TCP/UDP Load Balancing // - INTERNAL_MANAGED is used for: - // - Internal HTTP(S) load balancers + // - Internal HTTP(S) Load Balancing // - INTERNAL_SELF_MANAGED is used for: // - Traffic Director // @@ -3303,7 +3469,9 @@ message ForwardingRule { // This field is not used for external load balancing. // - // For internal load balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used. + // For Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used. + // + // For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided. string network = 232872494; // This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. @@ -3313,26 +3481,28 @@ message ForwardingRule { // If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address. NetworkTier network_tier = 248962387; - // When the load balancing scheme is EXTERNAL, INTERNAL_SELF_MANAGED and INTERNAL_MANAGED, you can specify a port_range. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetGrpcProxy, TargetVpnGateway, TargetPool, TargetInstance. + // This field can be used only if: * Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP. // - // Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. + // Packets addressed to ports in the specified range will be forwarded to target or backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. // // Some types of forwarding target have constraints on the acceptable ports: // - TargetHttpProxy: 80, 8080 // - TargetHttpsProxy: 443 - // - TargetGrpcProxy: Any ports + // - TargetGrpcProxy: no constraints // - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 // - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 // - TargetVpnGateway: 500, 4500 string port_range = 217518079; - // This field is used along with the backend_service field for internal load balancing. + // The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends. + // + // You can only use one of ports and port_range, or allPorts. The three are mutually exclusive. // - // When the load balancing scheme is INTERNAL, a list of ports can be configured, for example, ['80'], ['8000','9000']. Only packets addressed to these ports are forwarded to the backends configured with the forwarding rule. + // You can specify a list of up to five ports, which can be non-contiguous. // - // If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify ports in one of the following ways: + // For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports. // - // * A list of up to five ports, which can be non-contiguous * Keyword ALL, which causes the forwarding rule to forward traffic on any port of the forwarding rule's protocol. + // For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications). repeated string ports = 106854418; // [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -3361,6 +3531,12 @@ message ForwardingRule { string subnetwork = 39392238; // The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. For more information, see the "Target" column in [Port specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). + // + // For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle. Currently, the supported Google API bundles include: + // + // + // - vpc-sc - GCP APIs that support VPC Service Controls. For more information about which APIs support VPC Service Controls, refer to VPC-SC supported products and limitations. + // - all-apis - All GCP APIs. For more information about which APIs are supported with this bundle, refer to Private Google Access-specific domains and VIPs. string target = 192835985; } @@ -3805,6 +3981,13 @@ message HTTPSHealthCheck { } +// Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver. +message HealthCheckLogConfig { + // Indicates whether or not to export logs. This is false by default, which means no health check logging will be done. + bool enable = 43328899; + +} + // message SSLHealthCheck { // Specifies how port is selected for health checking, can be one of following values: @@ -3986,6 +4169,9 @@ message HealthCheck { // Type of the resource. string kind = 3292052; + // Configure logging on this health check. + HealthCheckLogConfig log_config = 82864285; + // 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. string name = 3373707; @@ -4786,6 +4972,19 @@ message Metadata { // A network interface resource attached to an instance. message NetworkInterface { + // The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. + enum NicType { + // A value indicating that the enum field is not set. + UNDEFINED_NIC_TYPE = 0; + + GVNIC = 68209305; + + UNSPECIFIED_NIC_TYPE = 67411801; + + VIRTIO_NET = 183688025; + + } + // An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access. repeated AccessConfig access_configs = 111058326; @@ -4815,6 +5014,9 @@ message NetworkInterface { // An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system. string network_i_p = 207181961; + // The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. + NicType nic_type = 59810577; + // The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: // - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork // - regions/region/subnetworks/subnetwork @@ -4868,6 +5070,9 @@ message Scheduling { // By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. bool automatic_restart = 82385915; + // An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. + string location_hint = 82084049; + // The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. int32 min_node_cpus = 48796219; @@ -5351,7 +5556,7 @@ message InstanceGroupManagerUpdatePolicy { // message InstanceGroupManagerVersion { - // The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the `targetSize` for this version is reached. + // The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the `targetSize` for this version is reached. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE; in those cases, existing instances are updated until the `targetSize` for this version is reached. string instance_template = 40812772; // Name of the version. Unique among all versions in the scope of this managed instance group. @@ -5387,7 +5592,7 @@ message InstanceGroupManager { // An optional description of this resource. Provide this property when you create the resource. string description = 154502140; - // Policy specifying intended distribution of instances in regional managed instance group. + // Policy specifying the intended distribution of managed instances across zones in a regional managed instance group. DistributionPolicy distribution_policy = 266123085; // Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. @@ -5401,7 +5606,7 @@ message InstanceGroupManager { // [Output Only] The URL of the Instance Group resource. string instance_group = 81095253; - // The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. + // The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE. string instance_template = 40812772; // [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups. @@ -5439,7 +5644,7 @@ message InstanceGroupManager { // Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates. repeated InstanceGroupManagerVersion versions = 162430619; - // [Output Only] The URL of the zone where the managed instance group is located (for zonal resources). + // [Output Only] The URL of a zone where the managed instance group is located (for zonal resources). string zone = 3744684; } @@ -5534,6 +5739,9 @@ message InstanceGroupManagersAbandonInstancesRequest { // InstanceGroupManagers.applyUpdatesToInstances message InstanceGroupManagersApplyUpdatesRequest { + // Flag to update all instances instead of specified list of ?instances?. If the flag is set to true then the instances may not be specified in the request. + bool all_instances = 135241056; + // The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. repeated string instances = 29097598; @@ -5772,7 +5980,7 @@ message InstanceGroupManagersRecreateInstancesRequest { // message InstanceGroupManagersSetInstanceTemplateRequest { - // The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. + // The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE. string instance_template = 40812772; } @@ -6637,6 +6845,9 @@ message InterconnectAttachment { // [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment. string customer_router_ip_address = 64040305; + // [Output Only] Dataplane version for this InterconnectAttachment. + int32 dataplane_version = 34920075; + // An optional description of this resource. string description = 154502140; @@ -6658,6 +6869,9 @@ message InterconnectAttachment { // [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments. string kind = 3292052; + // 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. + int32 mtu = 108462; + // 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. string name = 3373707; @@ -7178,6 +7392,19 @@ message LicensesListResponse { } +// +message LocalDisk { + // Specifies the number of such disks. + int32 disk_count = 182933485; + + // Specifies the size of the disk in base-2 GB. + int32 disk_size_gb = 47828279; + + // Specifies the desired disk type on the node. This disk type must be a local storage type (e.g.: local-ssd). Note that for nodeTemplates, this should be the name of the disk type and not its URL. + string disk_type = 93009052; + +} + // Write a Cloud Audit log message LogConfigCloudAuditOptions { // The log_name to populate in the Cloud Audit Record. @@ -7656,7 +7883,7 @@ message NetworkEndpointGroupCloudRun { // Represents a collection of network endpoints. // -// A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs, see Setting up internet NEGs, Setting up zonal NEGs, or Setting up serverless NEGs. (== resource_for {$api_version}.networkEndpointGroups ==) (== resource_for {$api_version}.globalNetworkEndpointGroups ==) (== resource_for {$api_version}.regionNetworkEndpointGroups ==) +// A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs. (== resource_for {$api_version}.networkEndpointGroups ==) (== resource_for {$api_version}.globalNetworkEndpointGroups ==) (== resource_for {$api_version}.regionNetworkEndpointGroups ==) message NetworkEndpointGroup { // Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, or SERVERLESS. enum NetworkEndpointType { @@ -7925,6 +8152,16 @@ message NodeGroupAutoscalingPolicy { } +// Time window specified for daily maintenance operations. GCE's internal maintenance will be performed within this window. +message NodeGroupMaintenanceWindow { + // [Output only] A predetermined duration for the window, automatically chosen to be the smallest possible in the given scenario. + Duration maintenance_duration = 256856384; + + // Start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid. + string start_time = 37467274; + +} + // Represent a sole-tenant Node Group resource. // // A sole-tenant node is a physical server that is dedicated to hosting VM instances only for your specific project. Use sole-tenant nodes to keep your instances physically separated from instances in other projects, or to group your instances together on the same host hardware. For more information, read Sole-tenant nodes. (== resource_for {$api_version}.nodeGroups ==) @@ -7979,6 +8216,8 @@ message NodeGroup { // Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information, see Maintenance policies. MaintenancePolicy maintenance_policy = 259892190; + NodeGroupMaintenanceWindow maintenance_window = 186374812; + // The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. string name = 3373707; @@ -8106,9 +8345,15 @@ message NodeGroupNode { } + // Accelerators for this node. + repeated AcceleratorConfig accelerators = 1141608; + // CPU overcommit. CpuOvercommitType cpu_overcommit_type = 247727959; + // Local disk configurations. + repeated LocalDisk disks = 95594102; + // Instances scheduled on this node. repeated string instances = 29097598; @@ -8213,6 +8458,8 @@ message NodeTemplate { } + repeated AcceleratorConfig accelerators = 1141608; + // CPU overcommit. CpuOvercommitType cpu_overcommit_type = 247727959; @@ -8222,6 +8469,8 @@ message NodeTemplate { // An optional description of this resource. Provide this property when you create the resource. string description = 154502140; + repeated LocalDisk disks = 95594102; + // [Output Only] The unique identifier for the resource. This identifier is defined by the server. string id = 3355; @@ -8522,6 +8771,8 @@ message Warnings { INJECTED_KERNELS_DEPRECATED = 148941963; + LARGE_DEPLOYMENT_WARNING = 213005222; + MISSING_TYPE_DEPENDENCY = 76070007; NEXT_HOP_ADDRESS_NOT_ASSIGNED = 56529543; @@ -8736,9 +8987,25 @@ message PacketMirroringForwardingRuleInfo { // message PacketMirroringFilter { + // Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default is BOTH. + enum Direction { + // A value indicating that the enum field is not set. + UNDEFINED_DIRECTION = 0; + + BOTH = 2044801; + + EGRESS = 164445045; + + INGRESS = 248495765; + + } + // IP CIDR ranges that apply as filter on the source (ingress) or destination (egress) IP in the IP header. Only IPv4 is supported. If no ranges are specified, all traffic that matches the specified IPProtocols is mirrored. If neither cidrRanges nor IPProtocols is specified, all traffic is mirrored. repeated string cidr_ranges = 219466241; + // Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default is BOTH. + Direction direction = 111150975; + // Protocols that apply as filter on mirrored traffic. If no protocols are specified, all traffic that matches the specified CIDR ranges is mirrored. If neither cidrRanges nor IPProtocols is specified, all traffic is mirrored. repeated string i_p_protocols = 104889590; @@ -9242,6 +9509,8 @@ message Quota { PREEMPTIBLE_NVIDIA_V100_GPUS = 230123813; + PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK = 231164291; + PUBLIC_ADVERTISED_PREFIXES = 202936524; PUBLIC_DELEGATED_PREFIXES = 264030518; @@ -9296,6 +9565,8 @@ message Quota { VPN_TUNNELS = 104327296; + XPN_SERVICE_PROJECTS = 95191981; + } // [Output Only] Quota limit for this metric. @@ -9648,6 +9919,9 @@ message RegionInstanceGroupManagersAbandonInstancesRequest { // RegionInstanceGroupManagers.applyUpdatesToInstances message RegionInstanceGroupManagersApplyUpdatesRequest { + // Flag to update all instances instead of specified list of ?instances?. If the flag is set to true then the instances may not be specified in the request. + bool all_instances = 135241056; + // The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. repeated string instances = 29097598; @@ -10023,7 +10297,7 @@ message ResourcePolicy { string description = 154502140; - // Resource policy for instacnes for placement configuration. + // Resource policy for instances for placement configuration. ResourcePolicyGroupPlacementPolicy group_placement_policy = 10931596; // [Output Only] The unique identifier for the resource. This identifier is defined by the server. @@ -10207,6 +10481,9 @@ message ResourcePolicySnapshotSchedulePolicySchedule { // Specified snapshot properties for scheduled snapshots created by this policy. message ResourcePolicySnapshotSchedulePolicySnapshotProperties { + // Chain name that the snapshot is created in. + string chain_name = 68644169; + // Indication to perform a 'guest aware' snapshot. bool guest_flush = 117115357; @@ -10271,7 +10548,7 @@ message Route { // An optional description of this resource. Provide this field when you create the resource. string description = 154502140; - // The destination range of outgoing packets that this route applies to. Only IPv4 is supported. + // The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. string dest_range = 112892256; // [Output Only] The unique identifier for the resource. This identifier is defined by the server. @@ -10289,7 +10566,8 @@ message Route { // The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects/project/global/gateways/default-internet-gateway string next_hop_gateway = 108739842; - // The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets. You can only specify the forwarding rule as a partial or full URL. For example, the following are all valid URLs: + // The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: + // - 10.128.0.56 // - https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule // - regions/region/forwardingRules/forwardingRule string next_hop_ilb = 198679901; @@ -10522,6 +10800,8 @@ message RouterNat { // A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only. repeated string drain_nat_ips = 235643079; + bool enable_endpoint_independent_mapping = 259441819; + // Timeout (in seconds) for ICMP connections. Defaults to 30s if not set. int32 icmp_idle_timeout_sec = 3647562; @@ -10899,14 +11179,14 @@ message SecurityPolicyRule { // If set to true, the specified action is not enforced. bool preview = 218686408; - // An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. + // An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. int32 priority = 176716196; } -// Represents a Cloud Armor Security Policy resource. +// Represents a Google Cloud Armor security policy resource. // -// Only external backend services that use load balancers can reference a Security Policy. For more information, read Cloud Armor Security Policy Concepts. (== resource_for {$api_version}.securityPolicies ==) +// Only external backend services that use load balancers can reference a security policy. For more information, see Google Cloud Armor security policy overview. (== resource_for {$api_version}.securityPolicies ==) message SecurityPolicy { // [Output Only] Creation timestamp in RFC3339 text format. string creation_timestamp = 30525366; @@ -11077,6 +11357,9 @@ message Snapshot { // [Output Only] Set to true if snapshots are automatically created by applying resource policy on the target disk. bool auto_created = 195486808; + // Creates the new snapshot in the snapshot chain labeled with the specified name. The chain name must be 1-63 characters long and comply with RFC1035. This is an uncommon option only for advanced service owners who needs to create separate snapshot chains, for example, for chargeback tracking. When you describe your snapshot resource, this field is visible only if it has a non-empty value. + string chain_name = 68644169; + // [Output Only] Creation timestamp in RFC3339 text format. string creation_timestamp = 30525366; @@ -11341,9 +11624,9 @@ message SslCertificateList { } -// Represents a Cloud Armor Security Policy resource. +// Represents an SSL Policy resource. // -// Only external backend services used by HTTP or HTTPS load balancers can reference a Security Policy. For more information, read read Cloud Armor Security Policy Concepts. (== resource_for {$api_version}.sslPolicies ==) +// Use SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts. (== resource_for {$api_version}.sslPolicies ==) message SslPolicy { // The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer. This can be one of TLS_1_0, TLS_1_1, TLS_1_2. enum MinTlsVersion { @@ -11581,7 +11864,7 @@ message Subnetwork { } - // [Output Only] The state of the subnetwork, which can be one of READY or DRAINING. A subnetwork that is READY is ready to be used. The state of DRAINING is 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. + // [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 CREATING: Subnetwork is provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is being updated enum State { // A value indicating that the enum field is not set. UNDEFINED_STATE = 0; @@ -11653,7 +11936,7 @@ message Subnetwork { // [Output Only] Server-defined URL for the resource. string self_link = 187779341; - // [Output Only] The state of the subnetwork, which can be one of READY or DRAINING. A subnetwork that is READY is ready to be used. The state of DRAINING is 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. + // [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 CREATING: Subnetwork is provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is being updated State state = 109757585; } @@ -11816,6 +12099,13 @@ message TargetHttpProxy { // 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. string name = 3373707; + // This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. + // + // When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. + // + // The default is false. + bool proxy_bind = 17590126; + // [Output Only] URL of the region where the regional Target HTTP Proxy resides. This field is not applicable to global Target HTTP Proxies. string region = 138946292; @@ -11911,6 +12201,12 @@ message TargetHttpsProxy { } + // Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. + // Refer to the AuthorizationPolicy resource for additional details. + // authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. + // Note: This field currently has no impact. + string authorization_policy = 33945528; + // [Output Only] Creation timestamp in RFC3339 text format. string creation_timestamp = 30525366; @@ -11926,6 +12222,13 @@ message TargetHttpsProxy { // 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. string name = 3373707; + // This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. + // + // When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. + // + // The default is false. + bool proxy_bind = 17590126; + // Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. // - When quic-override is set to NONE, Google manages whether QUIC is used. // - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. @@ -11940,6 +12243,12 @@ message TargetHttpsProxy { // [Output Only] Server-defined URL for the resource. string self_link = 187779341; + // Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. + // serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. + // If left blank, communications are not encrypted. + // Note: This field currently has no impact. + string server_tls_policy = 27389810; + // URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. repeated string ssl_certificates = 97571087; @@ -12168,7 +12477,7 @@ message TargetPool { } - // This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its failoverRatio field is properly set to a value between [0, 1]. + // The server-defined URL for the resource. This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its failoverRatio field is properly set to a value between [0, 1]. // // backupPool and failoverRatio together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below failoverRatio, traffic arriving at the load-balanced IP will be directed to the backup pool. // @@ -15276,6 +15585,62 @@ message WaitGlobalOperationRequest { } +// A request message for GlobalOrganizationOperations.Delete. See the method description for details. +message DeleteGlobalOrganizationOperationRequest { + // Name of the Operations resource to delete. + string operation = 52090215 [(google.api.field_behavior) = REQUIRED]; + + // Parent ID for this request. + string parent_id = 191279312; + +} + +// A response message for GlobalOrganizationOperations.Delete. See the method description for details. +message DeleteGlobalOrganizationOperationResponse { +} + +// A request message for GlobalOrganizationOperations.Get. See the method description for details. +message GetGlobalOrganizationOperationRequest { + // Name of the Operations resource to return. + string operation = 52090215 [(google.api.field_behavior) = REQUIRED]; + + // Parent ID for this request. + string parent_id = 191279312; + +} + +// A request message for GlobalOrganizationOperations.List. See the method description for details. +message ListGlobalOrganizationOperationsRequest { + // A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. + // + // 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) ``` + string filter = 67685240; + + // 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`) + uint32 max_results = 54715419; + + // 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. + string order_by = 160562920; + + // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + string page_token = 19994697; + + // Parent ID for this request. + string parent_id = 191279312; + + // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today. + bool return_partial_success = 248762934; + +} + // A request message for HealthChecks.AggregatedList. See the method description for details. message AggregatedListHealthChecksRequest { // A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`. @@ -25590,6 +25955,41 @@ service GlobalOperations { } +// The GlobalOrganizationOperations API. +service GlobalOrganizationOperations { + option (google.api.default_host) = + "compute.googleapis.com"; + + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/compute," + "https://www.googleapis.com/auth/cloud-platform"; + + // Deletes the specified Operations resource. + rpc Delete(DeleteGlobalOrganizationOperationRequest) returns (DeleteGlobalOrganizationOperationResponse) { + option (google.api.http) = { + delete: "/compute/v1/locations/global/operations/{operation}" + }; + option (google.api.method_signature) = "operation"; + } + + // Retrieves the specified Operations resource. Gets a list of operations by making a `list()` request. + rpc Get(GetGlobalOrganizationOperationRequest) returns (Operation) { + option (google.api.http) = { + get: "/compute/v1/locations/global/operations/{operation}" + }; + option (google.api.method_signature) = "operation"; + } + + // Retrieves a list of Operation resources contained within the specified organization. + rpc List(ListGlobalOrganizationOperationsRequest) returns (OperationList) { + option (google.api.http) = { + get: "/compute/v1/locations/global/operations" + }; + option (google.api.method_signature) = ""; + } + +} + // The HealthChecks API. service HealthChecks { option (google.api.default_host) = @@ -25943,7 +26343,7 @@ service InstanceGroupManagers { option (google.api.method_signature) = "project,zone,instance_group_manager,size"; } - // Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you recreate them. + // Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE. rpc SetInstanceTemplate(SetInstanceTemplateInstanceGroupManagerRequest) returns (Operation) { option (google.api.http) = { post: "/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instance_group_manager}/setInstanceTemplate" @@ -27952,7 +28352,7 @@ service RegionInstanceGroupManagers { option (google.api.method_signature) = "project,region,instance_group_manager,instance_group_manager_resource"; } - // Insert or patch (for the ones that already exist) per-instance configs for the managed instance group. perInstanceConfig.instance serves as a key used to distinguish whether to perform insert or patch. + // Inserts or patches per-instance configs for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch. rpc PatchPerInstanceConfigs(PatchPerInstanceConfigsRegionInstanceGroupManagerRequest) returns (Operation) { option (google.api.http) = { post: "/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instance_group_manager}/patchPerInstanceConfigs" @@ -28004,7 +28404,7 @@ service RegionInstanceGroupManagers { option (google.api.method_signature) = "project,region,instance_group_manager,region_instance_group_managers_set_target_pools_request_resource"; } - // Insert or update (for the ones that already exist) per-instance configs for the managed instance group. perInstanceConfig.instance serves as a key used to distinguish whether to perform insert or patch. + // Inserts or updates per-instance configs for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch. rpc UpdatePerInstanceConfigs(UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest) returns (Operation) { option (google.api.http) = { post: "/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instance_group_manager}/updatePerInstanceConfigs" @@ -28824,7 +29224,7 @@ service SecurityPolicies { option (google.api.method_signature) = "project"; } - // Patches the specified policy with the data included in the request. + // Patches the specified policy with the data included in the request. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead. rpc Patch(PatchSecurityPolicyRequest) returns (Operation) { option (google.api.http) = { patch: "/compute/v1/projects/{project}/global/securityPolicies/{security_policy}" @@ -29112,7 +29512,7 @@ service Subnetworks { option (google.api.method_signature) = "project"; } - // Patches the specified subnetwork with the data included in the request. Only certain fields can up updated with a patch request as indicated in the field descriptions. You must specify the current fingerprint of the subnetwork resource being patched. + // Patches the specified subnetwork with the data included in the request. Only certain fields can be updated with a patch request as indicated in the field descriptions. You must specify the current fingerprint of the subnetwork resource being patched. rpc Patch(PatchSubnetworkRequest) returns (Operation) { option (google.api.http) = { patch: "/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}" @@ -29756,6 +30156,8 @@ service UrlMaps { } // Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. + // + // For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content). rpc InvalidateCache(InvalidateCacheUrlMapRequest) returns (Operation) { option (google.api.http) = { post: "/compute/v1/projects/{project}/global/urlMaps/{url_map}/invalidateCache" diff --git a/google/cloud/compute/v1/compute.v1.json b/google/cloud/compute/v1/compute.v1.json index 599975a..b278418 100644 --- a/google/cloud/compute/v1/compute.v1.json +++ b/google/cloud/compute/v1/compute.v1.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/drpl5QU8sdQjJXHniWXSBCkBYhk\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/m_4nvWuSVQoEemlfuQ_d59dNy8Q\"", "discoveryVersion": "v1", "id": "compute:v1", "name": "compute", "version": "v1", - "revision": "20201005", + "revision": "20201122", "title": "Compute Engine API", "description": "Creates and runs virtual machines on Google Cloud Platform.", "ownerDomain": "google.com", @@ -16,10 +16,10 @@ }, "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", "protocol": "rest", - "baseUrl": "https://compute.googleapis.com/compute/v1/projects/", - "basePath": "/compute/v1/projects/", + "baseUrl": "https://compute.googleapis.com/compute/v1/", + "basePath": "/compute/v1/", "rootUrl": "https://compute.googleapis.com/", - "servicePath": "compute/v1/projects/", + "servicePath": "compute/v1/", "batchPath": "batch/compute/v1", "parameters": { "alt": { @@ -206,6 +206,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -247,6 +248,7 @@ "", "", "", + "", "" ] }, @@ -320,6 +322,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -361,6 +364,7 @@ "", "", "", + "", "" ] }, @@ -416,6 +420,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -457,6 +462,7 @@ "", "", "", + "", "" ] }, @@ -624,7 +630,7 @@ }, "purpose": { "type": "string", - "description": "The purpose of this resource, which can be one of the following values: \n- `GCE_ENDPOINT` for addresses that are used by VM instances, alias IP ranges, internal load balancers, and similar resources. \n- `DNS_RESOLVER` for a DNS resolver address in a subnetwork \n- `VPC_PEERING` for addresses that are reserved for VPC peer networks. \n- `NAT_AUTO` for addresses that are external IP addresses automatically reserved for Cloud NAT. \n- `IPSEC_INTERCONNECT` for addresses created from a private IP range reserved for a VLAN attachment in an IPsec over Interconnect configuration. These addresses are regional resources.", + "description": "The purpose of this resource, which can be one of the following values: \n- `GCE_ENDPOINT` for addresses that are used by VM instances, alias IP ranges, internal load balancers, and similar resources. \n- `DNS_RESOLVER` for a DNS resolver address in a subnetwork \n- `VPC_PEERING` for addresses that are reserved for VPC peer networks. \n- `NAT_AUTO` for addresses that are external IP addresses automatically reserved for Cloud NAT. \n- `IPSEC_INTERCONNECT` for addresses created from a private IP range that are reserved for a VLAN attachment in an IPsec encrypted Interconnect configuration. These addresses are regional resources.", "enum": [ "DNS_RESOLVER", "GCE_ENDPOINT", @@ -727,6 +733,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -768,6 +775,7 @@ "", "", "", + "", "" ] }, @@ -841,6 +849,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -882,6 +891,7 @@ "", "", "", + "", "" ] }, @@ -937,6 +947,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -978,6 +989,7 @@ "", "", "", + "", "" ] }, @@ -1349,7 +1361,7 @@ "Autoscaler": { "id": "Autoscaler", "type": "object", - "description": "Represents an Autoscaler resource.\n\nGoogle Compute Engine has two Autoscaler resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/autoscalers) * [Regional](/compute/docs/reference/rest/{$api_version}/regionAutoscalers)\n\nUse autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances.\n\nFor zonal managed instance groups resource, use the autoscaler resource.\n\nFor regional managed instance groups, use the regionAutoscalers resource. (== resource_for {$api_version}.autoscalers ==) (== resource_for {$api_version}.regionAutoscalers ==)", + "description": "Represents an Autoscaler resource.\n\nGoogle Compute Engine has two Autoscaler resources:\n\n* [Zonal](/compute/docs/reference/rest/{$api_version}/autoscalers) * [Regional](/compute/docs/reference/rest/{$api_version}/regionAutoscalers)\n\nUse autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances.\n\nFor zonal managed instance groups resource, use the autoscaler resource.\n\nFor regional managed instance groups, use the regionAutoscalers resource. (== resource_for {$api_version}.autoscalers ==) (== resource_for {$api_version}.regionAutoscalers ==)", "properties": { "autoscalingPolicy": { "$ref": "AutoscalingPolicy", @@ -1385,7 +1397,7 @@ }, "recommendedSize": { "type": "integer", - "description": "[Output Only] Target recommended MIG size (number of instances) computed by autoscaler. Autoscaler calculates recommended MIG size even when autoscaling policy mode is different from ON. This field is empty when autoscaler is not connected to the existing managed instance group or autoscaler did not generate its prediction.", + "description": "[Output Only] Target recommended MIG size (number of instances) computed by autoscaler. Autoscaler calculates the recommended MIG size even when the autoscaling policy mode is different from ON. This field is empty when autoscaler is not connected to an existing managed instance group or autoscaler did not generate its prediction.", "format": "int32" }, "region": { @@ -1421,7 +1433,7 @@ }, "target": { "type": "string", - "description": "URL of the managed instance group that this autoscaler will scale." + "description": "URL of the managed instance group that this autoscaler will scale. This field is required when creating an autoscaler." }, "zone": { "type": "string", @@ -1481,6 +1493,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -1522,6 +1535,7 @@ "", "", "", + "", "" ] }, @@ -1595,6 +1609,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -1636,6 +1651,7 @@ "", "", "", + "", "" ] }, @@ -1674,7 +1690,7 @@ }, "type": { "type": "string", - "description": "The type of error, warning, or notice returned. Current set of possible values: \n- ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). \n- BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. \n- CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. \n- CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. \n- CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. \n- MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. \n- MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. \n- MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. \n- MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. \n- MODE_ONLY_UP (WARNING): Autoscaling is in the \"Autoscale only up\" mode. The autoscaler can add instances but not remove any. \n- MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. \n- NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. \n- REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. \n- SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. \n- UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. \n- ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout. New values might be added in the future. Some of the values might not be available in all API versions.", + "description": "The type of error, warning, or notice returned. Current set of possible values: \n- ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). \n- BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. \n- CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. \n- CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. \n- CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. \n- MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. \n- MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. \n- MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. \n- MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. \n- MODE_ONLY_UP (WARNING): Autoscaling is in the \"Autoscale only out\" mode. The autoscaler can add instances but not remove any. \n- MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. \n- NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. \n- REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. \n- SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. \n- UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. \n- ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout. New values might be added in the future. Some of the values might not be available in all API versions.", "enum": [ "ALL_INSTANCES_UNHEALTHY", "BACKEND_SERVICE_DOES_NOT_EXIST", @@ -1745,6 +1761,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -1786,6 +1803,7 @@ "", "", "", + "", "" ] }, @@ -1821,7 +1839,7 @@ "properties": { "coolDownPeriodSec": { "type": "integer", - "description": "The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds.\n\nVirtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.", + "description": "The number of seconds that the autoscaler waits before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds.\n\nVirtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.", "format": "int32" }, "cpuUtilization": { @@ -1841,12 +1859,12 @@ }, "maxNumReplicas": { "type": "integer", - "description": "The maximum number of instances that the autoscaler can scale up to. This is required when creating or updating an autoscaler. The maximum number of replicas should not be lower than minimal number of replicas.", + "description": "The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas.", "format": "int32" }, "minNumReplicas": { "type": "integer", - "description": "The minimum number of replicas that the autoscaler can scale down to. This cannot be less than 0. If not provided, autoscaler will choose a default value depending on maximum number of instances allowed.", + "description": "The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed.", "format": "int32" }, "mode": { @@ -1877,7 +1895,7 @@ "properties": { "utilizationTarget": { "type": "number", - "description": "The target CPU utilization that the autoscaler should maintain. Must be a float value in the range (0, 1]. If not specified, the default is 0.6.\n\nIf the CPU level is below the target utilization, the autoscaler scales down the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization.\n\nIf the average CPU is above the target utilization, the autoscaler scales up until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.", + "description": "The target CPU utilization that the autoscaler maintains. Must be a float value in the range (0, 1]. If not specified, the default is 0.6.\n\nIf the CPU level is below the target utilization, the autoscaler scales in the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization.\n\nIf the average CPU is above the target utilization, the autoscaler scales out until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.", "format": "double" } } @@ -1887,13 +1905,22 @@ "type": "object", "description": "Custom utilization metric policy.", "properties": { + "filter": { + "type": "string", + "description": "A filter string, compatible with a Stackdriver Monitoring filter string for TimeSeries.list API call. This filter is used to select a specific TimeSeries for the purpose of autoscaling and to determine whether the metric is exporting per-instance or per-group data.\n\nFor the filter to be valid for autoscaling purposes, the following rules apply: \n- You can only use the AND operator for joining selectors. \n- You can only use direct equality comparison operator (=) without any functions for each selector. \n- You can specify the metric in both the filter string and in the metric field. However, if specified in both places, the metric must be identical. \n- The monitored resource type determines what kind of values are expected for the metric. If it is a gce_instance, the autoscaler expects the metric to include a separate TimeSeries for each instance in a group. In such a case, you cannot filter on resource labels.\nIf the resource type is any other value, the autoscaler expects this metric to contain values that apply to the entire autoscaled instance group and resource label filtering can be performed to point autoscaler at the correct TimeSeries to scale upon. This is called a per-group metric for the purpose of autoscaling.\n\nIf not specified, the type defaults to gce_instance. \n\nTry to provide a filter that is selective enough to pick just one TimeSeries for the autoscaled group or for each of the instances (if you are using gce_instance resource type). If multiple TimeSeries are returned upon the query execution, the autoscaler will sum their respective values to obtain its scaling value." + }, "metric": { "type": "string", "description": "The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values.\n\nThe metric must have a value type of INT64 or DOUBLE." }, + "singleInstanceAssignment": { + "type": "number", + "description": "If scaling is based on a per-group metric value that represents the total amount of work to be done or resource usage, set this value to an amount assigned for a single instance of the scaled group. Autoscaler keeps the number of instances proportional to the value of this metric. The metric itself does not change value due to group resizing.\n\nA good metric to use with the target is for example pubsub.googleapis.com/subscription/num_undelivered_messages or a custom metric exporting the total number of requests coming to your instances.\n\nA bad example would be a metric exporting an average or median latency, since this value can't include a chunk assignable to a single instance, it could be better used with utilization_target instead.", + "format": "double" + }, "utilizationTarget": { "type": "number", - "description": "The target value of the metric that autoscaler should maintain. This must be a positive value. A utilization metric scales number of virtual machines handling requests to increase or decrease proportionally to the metric.\n\nFor example, a good metric to use as a utilization_target is https://www.googleapis.com/compute/v1/instance/network/received_bytes_count. The autoscaler will work to keep this value constant for each of the instances.", + "description": "The target value of the metric that autoscaler maintains. This must be a positive value. A utilization metric scales number of virtual machines handling requests to increase or decrease proportionally to the metric.\n\nFor example, a good metric to use as a utilization_target is https://www.googleapis.com/compute/v1/instance/network/received_bytes_count. The autoscaler works to keep this value constant for each of the instances.", "format": "double" }, "utilizationTargetType": { @@ -1919,7 +1946,7 @@ "properties": { "utilizationTarget": { "type": "number", - "description": "Fraction of backend capacity utilization (set in HTTP(S) load balancing configuration) that autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8.", + "description": "Fraction of backend capacity utilization (set in HTTP(S) load balancing configuration) that the autoscaler maintains. Must be a positive float value. If not defined, the default is 0.8.", "format": "double" } } @@ -1935,7 +1962,7 @@ }, "timeWindowSec": { "type": "integer", - "description": "How long back autoscaling should look when computing recommendations to include directives regarding slower scale in, as described above.", + "description": "How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above.", "format": "int32" } } @@ -1947,7 +1974,7 @@ "properties": { "balancingMode": { "type": "string", - "description": "Specifies the balancing mode for the backend.\n\nWhen choosing a balancing mode, you need to consider the loadBalancingScheme, and protocol for the backend service, as well as the type of backend (instance group or NEG).\n\n \n- If the load balancing mode is CONNECTION, then the load is spread based on how many concurrent connections the backend can handle.\nYou can use the CONNECTION balancing mode if the protocol for the backend service is SSL, TCP, or UDP.\n\nIf the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and TCP Proxy load balancers), you must also specify exactly one of the following parameters: maxConnections (except for regional managed instance groups), maxConnectionsPerInstance, or maxConnectionsPerEndpoint.\n\nIf the loadBalancingScheme for the backend service is INTERNAL (internal TCP/UDP load balancers), you cannot specify any additional parameters.\n \n- If the load balancing mode is RATE, the load is spread based on the rate of HTTP requests per second (RPS).\nYou can use the RATE balancing mode if the protocol for the backend service is HTTP or HTTPS. You must specify exactly one of the following parameters: maxRate (except for regional managed instance groups), maxRatePerInstance, or maxRatePerEndpoint.\n \n- If the load balancing mode is UTILIZATION, the load is spread based on the backend utilization of instances in an instance group.\nYou can use the UTILIZATION balancing mode if the loadBalancingScheme of the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance groups. There are no restrictions on the backend service protocol.", + "description": "Specifies the balancing mode for the backend.\n\nWhen choosing a balancing mode, you need to consider the loadBalancingScheme, and protocol for the backend service, as well as the type of backend (instance group or NEG).\n\n \n- If the load balancing mode is CONNECTION, then the load is spread based on how many concurrent connections the backend can handle.\nYou can use the CONNECTION balancing mode if the protocol for the backend service is SSL, TCP, or UDP.\n\nIf the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and TCP Proxy load balancers), you must also specify exactly one of the following parameters: maxConnections (except for regional managed instance groups), maxConnectionsPerInstance, or maxConnectionsPerEndpoint.\n\nIf the loadBalancingScheme for the backend service is INTERNAL (internal TCP/UDP Load Balancers) or EXTERNAL (Network Load Balancing), you cannot specify any additional parameters.\n \n- If the load balancing mode is RATE, the load is spread based on the rate of HTTP requests per second (RPS).\nYou can use the RATE balancing mode if the protocol for the backend service is HTTP, HTTP2, or HTTPS. You must specify exactly one of the following parameters: maxRate (except for regional managed instance groups), maxRatePerInstance, or maxRatePerEndpoint.\n \n- If the load balancing mode is UTILIZATION, the load is spread based on the backend utilization of instances in an instance group.\nYou can use the UTILIZATION balancing mode if the loadBalancingScheme of the backend service is EXTERNAL (except Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance groups. There are no restrictions on the backend service protocol.", "enum": [ "CONNECTION", "RATE", @@ -1961,7 +1988,7 @@ }, "capacityScaler": { "type": "number", - "description": "A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. Valid range is 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service.\n\nThis cannot be used for internal load balancing.", + "description": "A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. Valid range is 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service.\n\nThis cannot be used for Internal TCP/UDP Load Balancing and Network Load Balancing.", "format": "float" }, "description": { @@ -1974,21 +2001,21 @@ }, "group": { "type": "string", - "description": "The fully-qualified URL of an instance group or network endpoint group (NEG) resource. The type of backend that a backend service supports depends on the backend service's loadBalancingScheme.\n\n \n- When the loadBalancingScheme for the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the backend can be either an instance group or a NEG. The backends on the backend service must be either all instance groups or all NEGs. You cannot mix instance group and NEG backends on the same backend service. \n\n\n- When the loadBalancingScheme for the backend service is INTERNAL, the backend must be an instance group in the same region as the backend service. NEGs are not supported. \n\nYou must use the fully-qualified URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported." + "description": "The fully-qualified URL of an instance group or network endpoint group (NEG) resource. The type of backend that a backend service supports depends on the backend service's loadBalancingScheme.\n\n \n- When the loadBalancingScheme for the backend service is EXTERNAL (except Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED , the backend can be either an instance group or a NEG. The backends on the backend service must be either all instance groups or all NEGs. You cannot mix instance group and NEG backends on the same backend service. \n\n\n- When the loadBalancingScheme for the backend service is EXTERNAL for Network Load Balancing or INTERNAL for Internal TCP/UDP Load Balancing, the backend must be an instance group. NEGs are not supported. \n\nFor regional services, the backend must be in the same region as the backend service.\n\nYou must use the fully-qualified URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported." }, "maxConnections": { "type": "integer", - "description": "Defines a target maximum number of simultaneous connections that the backend can handle. Valid for network endpoint group and instance group backends (except for regional managed instance groups). If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, you must specify either this parameter, maxConnectionsPerInstance, or maxConnectionsPerEndpoint.\n\nNot available if the backend's balancingMode is RATE. If the loadBalancingScheme is INTERNAL, then maxConnections is not supported, even though the backend requires a balancing mode of CONNECTION.", + "description": "Defines a target maximum number of simultaneous connections that the backend can handle. Valid for network endpoint group and instance group backends (except for regional managed instance groups). If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must specify either this parameter, maxConnectionsPerInstance, or maxConnectionsPerEndpoint.\n\nNot available if the backend's balancingMode is RATE. Cannot be specified for Network Load Balancing or Internal TCP/UDP Load Balancing, even though those load balancers require a balancing mode of CONNECTION.", "format": "int32" }, "maxConnectionsPerEndpoint": { "type": "integer", - "description": "Defines a target maximum number of simultaneous connections for an endpoint of a NEG. This is multiplied by the number of endpoints in the NEG to implicitly calculate a maximum number of target maximum simultaneous connections for the NEG. If the backend's balancingMode is CONNECTION, and the backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, you must specify either this parameter, maxConnections, or maxConnectionsPerInstance.\n\nNot available if the backend's balancingMode is RATE. Internal TCP/UDP load balancing does not support setting maxConnectionsPerEndpoint even though its backends require a balancing mode of CONNECTION.", + "description": "Defines a target maximum number of simultaneous connections for an endpoint of a NEG. This is multiplied by the number of endpoints in the NEG to implicitly calculate a maximum number of target maximum simultaneous connections for the NEG. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must specify either this parameter, maxConnections, or maxConnectionsPerInstance.\n\nNot available if the backend's balancingMode is RATE. Cannot be specified for Network Load Balancing or Internal TCP/UDP Load Balancing, even though those load balancers require a balancing mode of CONNECTION.", "format": "int32" }, "maxConnectionsPerInstance": { "type": "integer", - "description": "Defines a target maximum number of simultaneous connections for a single VM in a backend instance group. This is multiplied by the number of instances in the instance group to implicitly calculate a target maximum number of simultaneous connections for the whole instance group. If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, you must specify either this parameter, maxConnections, or maxConnectionsPerEndpoint.\n\nNot available if the backend's balancingMode is RATE. Internal TCP/UDP load balancing does not support setting maxConnectionsPerInstance even though its backends require a balancing mode of CONNECTION.", + "description": "Defines a target maximum number of simultaneous connections for a single VM in a backend instance group. This is multiplied by the number of instances in the instance group to implicitly calculate a target maximum number of simultaneous connections for the whole instance group. If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must specify either this parameter, maxConnections, or maxConnectionsPerEndpoint.\n\nNot available if the backend's balancingMode is RATE. Cannot be specified for Network Load Balancing or Internal TCP/UDP Load Balancing, even though those load balancers require a balancing mode of CONNECTION.", "format": "int32" }, "maxRate": { @@ -2030,6 +2057,13 @@ "type": "string", "description": "[Output Only] Creation timestamp in RFC3339 text format." }, + "customResponseHeaders": { + "type": "array", + "description": "Headers that the HTTP/S load balancer should add to proxied responses.", + "items": { + "type": "string" + } + }, "description": { "type": "string", "description": "An optional textual description of the resource; provided by the client when the resource is created." @@ -2064,6 +2098,37 @@ "type": "object", "description": "Message containing Cloud CDN configuration for a backend bucket.", "properties": { + "cacheMode": { + "type": "string", + "description": "Specifies the cache setting for all responses from this backend. The possible values are:\n\nUSE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server.\n\nFORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.\n\nCACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", + "enum": [ + "CACHE_ALL_STATIC", + "FORCE_CACHE_ALL", + "INVALID_CACHE_MODE", + "USE_ORIGIN_HEADERS" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "clientTtl": { + "type": "integer", + "description": "Specifies a separate client (e.g. browser client) TTL, separate from the TTL for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL for both Cloud CDN and the client-facing response. The maximum allowed value is 86400s (1 day).", + "format": "int32" + }, + "defaultTtl": { + "type": "integer", + "description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", + "format": "int32" + }, + "maxTtl": { + "type": "integer", + "description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", + "format": "int32" + }, "signedUrlCacheMaxAgeSec": { "type": "string", "description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", @@ -2123,6 +2188,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -2164,6 +2230,7 @@ "", "", "", + "", "" ] }, @@ -2211,7 +2278,7 @@ }, "cdnPolicy": { "$ref": "BackendServiceCdnPolicy", - "description": "Cloud CDN configuration for this BackendService." + "description": "Cloud CDN configuration for this BackendService. Not available for Internal TCP/UDP Load Balancing and Network Load Balancing." }, "circuitBreakers": { "$ref": "CircuitBreakers", @@ -2235,6 +2302,13 @@ "type": "string" } }, + "customResponseHeaders": { + "type": "array", + "description": "Headers that the HTTP/S load balancer should add to proxied responses.", + "items": { + "type": "string" + } + }, "description": { "type": "string", "description": "An optional description of this resource. Provide this property when you create the resource." @@ -2245,7 +2319,7 @@ }, "failoverPolicy": { "$ref": "BackendServiceFailoverPolicy", - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing. Requires at least one backend instance group to be defined as a backup (failover) backend." + "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. Requires at least one backend instance group to be defined as a backup (failover) backend." }, "fingerprint": { "type": "string", @@ -2261,7 +2335,7 @@ }, "iap": { "$ref": "BackendServiceIAP", - "description": "The configurations for Identity-Aware Proxy on this resource." + "description": "The configurations for Identity-Aware Proxy on this resource. Not available for Internal TCP/UDP Load Balancing and Network Load Balancing." }, "id": { "type": "string", @@ -2275,7 +2349,7 @@ }, "loadBalancingScheme": { "type": "string", - "description": "Specifies the load balancer type. Choose EXTERNAL for load balancers that receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing. Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created for one type of load balancing cannot be used with another. For more information, refer to Choosing a load balancer.", + "description": "Specifies the load balancer type. Choose EXTERNAL for external HTTP(S), SSL Proxy, TCP Proxy and Network Load Balancing. Choose INTERNAL for Internal TCP/UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing. INTERNAL_SELF_MANAGED for Traffic Director. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.", "enum": [ "EXTERNAL", "INTERNAL", @@ -2324,7 +2398,7 @@ }, "network": { "type": "string", - "description": "The URL of the network to which this backend service belongs. This field can only be spcified when the load balancing scheme is set to INTERNAL." + "description": "The URL of the network to which this backend service belongs. This field can only be specified when the load balancing scheme is set to INTERNAL." }, "outlierDetection": { "$ref": "OutlierDetection", @@ -2337,7 +2411,7 @@ }, "portName": { "type": "string", - "description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. Required when the loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nMust be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing)." + "description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. Required when the loadBalancingScheme is EXTERNAL (except Network Load Balancing), INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nBackend services for Internal TCP/UDP Load Balancing and Network Load Balancing require you omit port_name." }, "protocol": { "type": "string", @@ -2369,13 +2443,17 @@ "type": "string", "description": "[Output Only] The resource URL for the security policy associated with this backend service." }, + "securitySettings": { + "$ref": "SecuritySettings", + "description": "This field specifies the security policy that applies to this backend service. This field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED." + }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for the resource." }, "sessionAffinity": { "type": "string", - "description": "Type of session affinity to use. The default is NONE. Session affinity is not applicable if the --protocol is UDP.\n\nWhen the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. You can use GENERATED_COOKIE if the protocol is HTTP or HTTPS.\n\nWhen the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.\n\nWhen the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.\n\nNot 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.", + "description": "Type of session affinity to use. The default is NONE.\n\nWhen the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. * For all other load balancers that use loadBalancingScheme=EXTERNAL, the possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.\n\nWhen the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.\n\nWhen the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.\n\nNot 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.", "enum": [ "CLIENT_IP", "CLIENT_IP_PORT_PROTO", @@ -2455,6 +2533,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -2496,6 +2575,7 @@ "", "", "", + "", "" ] }, @@ -2533,6 +2613,37 @@ "$ref": "CacheKeyPolicy", "description": "The CacheKeyPolicy for this CdnPolicy." }, + "cacheMode": { + "type": "string", + "description": "Specifies the cache setting for all responses from this backend. The possible values are:\n\nUSE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server.\n\nFORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.\n\nCACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", + "enum": [ + "CACHE_ALL_STATIC", + "FORCE_CACHE_ALL", + "INVALID_CACHE_MODE", + "USE_ORIGIN_HEADERS" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "clientTtl": { + "type": "integer", + "description": "Specifies a separate client (e.g. browser client) TTL, separate from the TTL for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL for both Cloud CDN and the client-facing response. The maximum allowed value is 86400s (1 day).", + "format": "int32" + }, + "defaultTtl": { + "type": "integer", + "description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", + "format": "int32" + }, + "maxTtl": { + "type": "integer", + "description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", + "format": "int32" + }, "signedUrlCacheMaxAgeSec": { "type": "string", "description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", @@ -2550,7 +2661,7 @@ "BackendServiceFailoverPolicy": { "id": "BackendServiceFailoverPolicy", "type": "object", - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover or failback, this field indicates whether connection draining will be honored. GCP has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).", + "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. On failover or failback, this field indicates whether connection draining will be honored. GCP has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).", "properties": { "disableConnectionDrainOnFailover": { "type": "boolean", @@ -2558,11 +2669,11 @@ }, "dropTrafficIfUnhealthy": { "type": "boolean", - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing. If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy. If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy.\n\nThe default is false." + "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing, If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. The default is false." }, "failoverRatio": { "type": "number", - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing. The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio.", + "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio.", "format": "float" } } @@ -2660,6 +2771,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -2701,6 +2813,7 @@ "", "", "", + "", "" ] }, @@ -2781,6 +2894,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -2822,6 +2936,7 @@ "", "", "", + "", "" ] }, @@ -2857,7 +2972,7 @@ "properties": { "bindingId": { "type": "string", - "description": "A client-specified ID for this binding. Expected to be globally unique to support the internal bindings-by-ID API." + "description": "" }, "condition": { "$ref": "Expr", @@ -3118,6 +3233,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -3159,6 +3275,7 @@ "", "", "", + "", "" ] }, @@ -3232,6 +3349,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -3273,6 +3391,7 @@ "", "", "", + "", "" ] }, @@ -3328,6 +3447,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -3369,6 +3489,7 @@ "", "", "", + "", "" ] }, @@ -3903,6 +4024,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -3944,6 +4066,7 @@ "", "", "", + "", "" ] }, @@ -4058,6 +4181,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -4099,6 +4223,7 @@ "", "", "", + "", "" ] }, @@ -4248,6 +4373,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -4289,6 +4415,7 @@ "", "", "", + "", "" ] }, @@ -4362,6 +4489,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -4403,6 +4531,7 @@ "", "", "", + "", "" ] }, @@ -4458,6 +4587,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -4499,6 +4629,7 @@ "", "", "", + "", "" ] }, @@ -4591,6 +4722,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -4632,6 +4764,7 @@ "", "", "", + "", "" ] }, @@ -4677,7 +4810,7 @@ "properties": { "zones": { "type": "array", - "description": "Zones where the regional managed instance group will create and manage instances.", + "description": "Zones where the regional managed instance group will create and manage its instances.", "items": { "$ref": "DistributionPolicyZoneConfiguration" } @@ -4797,6 +4930,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -4838,6 +4972,7 @@ "", "", "", + "", "" ] }, @@ -5025,6 +5160,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -5066,6 +5202,7 @@ "", "", "", + "", "" ] }, @@ -5315,6 +5452,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -5356,6 +5494,7 @@ "", "", "", + "", "" ] }, @@ -5436,11 +5575,11 @@ "properties": { "IPAddress": { "type": "string", - "description": "IP address that this forwarding rule serves. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule.\n\nIf you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address:\n\n* IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name * Partial URL or by name, as in: * projects/project_id/regions/region/addresses/address-name * regions/region/addresses/address-name * global/addresses/address-name * address-name \n\nThe loadBalancingScheme and the forwarding rule's target determine the type of IP address that you can use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).\n\nMust be set to `0.0.0.0` when the target is targetGrpcProxy that has validateForProxyless field set to true." + "description": "IP address that this forwarding rule serves. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule.\n\nIf you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address:\n\n* IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name * Partial URL or by name, as in: \n- projects/project_id/regions/region/addresses/address-name \n- regions/region/addresses/address-name \n- global/addresses/address-name \n- address-name \n\nThe loadBalancingScheme and the forwarding rule's target determine the type of IP address that you can use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).\n\nMust be set to `0.0.0.0` when the target is targetGrpcProxy that has validateForProxyless field set to true.\n\nFor Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided." }, "IPProtocol": { "type": "string", - "description": "The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP or ICMP.\n\nFor Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL, and one of TCP or UDP are valid. For Traffic Director, the load balancing scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S) Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.", + "description": "The IP protocol to which this rule applies.\n\nFor protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.\n\nThe valid IP protocols are different for different load balancing products: \n- Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid. \n- Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid. \n- Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. \n- HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. \n- Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.", "enum": [ "AH", "ESP", @@ -5468,7 +5607,7 @@ }, "backendService": { "type": "string", - "description": "This field is only used for INTERNAL load balancing.\n\nFor internal load balancing, this field identifies the BackendService resource to receive the matched traffic." + "description": "Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types." }, "creationTimestamp": { "type": "string", @@ -5513,7 +5652,7 @@ }, "loadBalancingScheme": { "type": "string", - "description": "Specifies the forwarding rule type.\n\n \n- EXTERNAL is used for: \n- Classic Cloud VPN gateways \n- Protocol forwarding to VMs from an external IP address \n- The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP \n- INTERNAL is used for: \n- Protocol forwarding to VMs from an internal IP address \n- Internal TCP/UDP load balancers \n- INTERNAL_MANAGED is used for: \n- Internal HTTP(S) load balancers \n- INTERNAL_SELF_MANAGED is used for: \n- Traffic Director \n\nFor more information about forwarding rules, refer to Forwarding rule concepts.", + "description": "Specifies the forwarding rule type.\n\n \n- EXTERNAL is used for: \n- Classic Cloud VPN gateways \n- Protocol forwarding to VMs from an external IP address \n- HTTP(S), SSL Proxy, TCP Proxy, and Network Load Balancing \n- INTERNAL is used for: \n- Protocol forwarding to VMs from an internal IP address \n- Internal TCP/UDP Load Balancing \n- INTERNAL_MANAGED is used for: \n- Internal HTTP(S) Load Balancing \n- INTERNAL_SELF_MANAGED is used for: \n- Traffic Director \n\nFor more information about forwarding rules, refer to Forwarding rule concepts.", "enum": [ "EXTERNAL", "INTERNAL", @@ -5543,7 +5682,7 @@ }, "network": { "type": "string", - "description": "This field is not used for external load balancing.\n\nFor internal load balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used." + "description": "This field is not used for external load balancing.\n\nFor Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used.\n\nFor Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided." }, "networkTier": { "type": "string", @@ -5559,11 +5698,11 @@ }, "portRange": { "type": "string", - "description": "When the load balancing scheme is EXTERNAL, INTERNAL_SELF_MANAGED and INTERNAL_MANAGED, you can specify a port_range. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetGrpcProxy, TargetVpnGateway, TargetPool, TargetInstance.\n\nApplicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: Any ports \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500" + "description": "This field can be used only if: * Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.\n\nPackets addressed to ports in the specified range will be forwarded to target or backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: no constraints \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500" }, "ports": { "type": "array", - "description": "This field is used along with the backend_service field for internal load balancing.\n\nWhen the load balancing scheme is INTERNAL, a list of ports can be configured, for example, ['80'], ['8000','9000']. Only packets addressed to these ports are forwarded to the backends configured with the forwarding rule.\n\nIf the forwarding rule's loadBalancingScheme is INTERNAL, you can specify ports in one of the following ways:\n\n* A list of up to five ports, which can be non-contiguous * Keyword ALL, which causes the forwarding rule to forward traffic on any port of the forwarding rule's protocol.", + "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nYou can specify a list of up to five ports, which can be non-contiguous.\n\nFor Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.\n\nFor more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).", "items": { "type": "string" } @@ -5591,7 +5730,7 @@ }, "target": { "type": "string", - "description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. For more information, see the \"Target\" column in [Port specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications)." + "description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. For more information, see the \"Target\" column in [Port specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).\n\nFor Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle. Currently, the supported Google API bundles include:\n\n \n- vpc-sc - GCP APIs that support VPC Service Controls. For more information about which APIs support VPC Service Controls, refer to VPC-SC supported products and limitations. \n- all-apis - All GCP APIs. For more information about which APIs are supported with this bundle, refer to Private Google Access-specific domains and VIPs." } } }, @@ -5647,6 +5786,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -5688,6 +5828,7 @@ "", "", "", + "", "" ] }, @@ -5761,6 +5902,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -5802,6 +5944,7 @@ "", "", "", + "", "" ] }, @@ -5866,6 +6009,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -5907,6 +6051,7 @@ "", "", "", + "", "" ] }, @@ -6108,6 +6253,7 @@ "description": "The ID of a supported feature. Read Enabling guest operating system features to see a list of available options.", "enum": [ "FEATURE_TYPE_UNSPECIFIED", + "GVNIC", "MULTI_IP_SUBNET", "SECURE_BOOT", "SEV_CAPABLE", @@ -6122,6 +6268,7 @@ "", "", "", + "", "" ] } @@ -6331,6 +6478,10 @@ "description": "Type of the resource.", "default": "compute#healthCheck" }, + "logConfig": { + "$ref": "HealthCheckLogConfig", + "description": "Configure logging on this health check." + }, "name": { "type": "string", "description": "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.", @@ -6429,6 +6580,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -6470,6 +6622,7 @@ "", "", "", + "", "" ] }, @@ -6498,6 +6651,17 @@ } } }, + "HealthCheckLogConfig": { + "id": "HealthCheckLogConfig", + "type": "object", + "description": "Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver.", + "properties": { + "enable": { + "type": "boolean", + "description": "Indicates whether or not to export logs. This is false by default, which means no health check logging will be done." + } + } + }, "HealthCheckReference": { "id": "HealthCheckReference", "type": "object", @@ -6638,6 +6802,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -6679,6 +6844,7 @@ "", "", "", + "", "" ] }, @@ -6759,6 +6925,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -6800,6 +6967,7 @@ "", "", "", + "", "" ] }, @@ -6855,6 +7023,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -6896,6 +7065,7 @@ "", "", "", + "", "" ] }, @@ -6959,6 +7129,24 @@ "type": "integer", "description": "The named port of the instance group, not necessarily the port that is health-checked.", "format": "int32" + }, + "weight": { + "type": "string" + }, + "weightError": { + "type": "string", + "enum": [ + "INVALID_WEIGHT", + "MISSING_WEIGHT", + "UNAVAILABLE_WEIGHT", + "WEIGHT_NONE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] } } }, @@ -7275,6 +7463,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -7316,6 +7505,7 @@ "", "", "", + "", "" ] }, @@ -7667,6 +7857,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -7708,6 +7899,7 @@ "", "", "", + "", "" ] }, @@ -7980,6 +8172,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -8021,6 +8214,7 @@ "", "", "", + "", "" ] }, @@ -8348,6 +8542,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -8389,6 +8584,7 @@ "", "", "", + "", "" ] }, @@ -8541,6 +8737,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -8582,6 +8779,7 @@ "", "", "", + "", "" ] }, @@ -8655,6 +8853,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -8696,6 +8895,7 @@ "", "", "", + "", "" ] }, @@ -8760,7 +8960,7 @@ }, "distributionPolicy": { "$ref": "DistributionPolicy", - "description": "Policy specifying intended distribution of instances in regional managed instance group." + "description": "Policy specifying the intended distribution of managed instances across zones in a regional managed instance group." }, "fingerprint": { "type": "string", @@ -8778,7 +8978,7 @@ }, "instanceTemplate": { "type": "string", - "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group." + "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE." }, "kind": { "type": "string", @@ -8850,7 +9050,7 @@ }, "zone": { "type": "string", - "description": "[Output Only] The URL of the zone where the managed instance group is located (for zonal resources)." + "description": "[Output Only] The URL of a zone where the managed instance group is located (for zonal resources)." } } }, @@ -8957,6 +9157,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -8998,6 +9199,7 @@ "", "", "", + "", "" ] }, @@ -9087,6 +9289,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -9128,6 +9331,7 @@ "", "", "", + "", "" ] }, @@ -9284,7 +9488,7 @@ "properties": { "instanceTemplate": { "type": "string", - "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the `targetSize` for this version is reached." + "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the `targetSize` for this version is reached. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE; in those cases, existing instances are updated until the `targetSize` for this version is reached." }, "name": { "type": "string", @@ -9314,6 +9518,10 @@ "type": "object", "description": "InstanceGroupManagers.applyUpdatesToInstances", "properties": { + "allInstances": { + "type": "boolean", + "description": "Flag to update all instances instead of specified list of ?instances?. If the flag is set to true then the instances may not be specified in the request." + }, "instances": { "type": "array", "description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", @@ -9461,6 +9669,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -9502,6 +9711,7 @@ "", "", "", + "", "" ] }, @@ -9584,6 +9794,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -9625,6 +9836,7 @@ "", "", "", + "", "" ] }, @@ -9659,7 +9871,7 @@ "properties": { "instanceTemplate": { "type": "string", - "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group." + "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE." } } }, @@ -9752,6 +9964,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -9793,6 +10006,7 @@ "", "", "", + "", "" ] }, @@ -9879,6 +10093,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -9920,6 +10135,7 @@ "", "", "", + "", "" ] }, @@ -10011,6 +10227,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -10052,6 +10269,7 @@ "", "", "", + "", "" ] }, @@ -10125,6 +10343,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -10166,6 +10385,7 @@ "", "", "", + "", "" ] }, @@ -10493,6 +10713,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -10534,6 +10755,7 @@ "", "", "", + "", "" ] }, @@ -10660,6 +10882,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -10701,6 +10924,7 @@ "", "", "", + "", "" ] }, @@ -11034,6 +11258,11 @@ "type": "string", "description": "[Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment." }, + "dataplaneVersion": { + "type": "integer", + "description": "[Output Only] Dataplane version for this InterconnectAttachment.", + "format": "int32" + }, "description": { "type": "string", "description": "An optional description of this resource." @@ -11070,6 +11299,11 @@ "description": "[Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.", "default": "compute#interconnectAttachment" }, + "mtu": { + "type": "integer", + "description": "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.", + "format": "int32" + }, "name": { "type": "string", "description": "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.", @@ -11211,6 +11445,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -11252,6 +11487,7 @@ "", "", "", + "", "" ] }, @@ -11325,6 +11561,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -11366,6 +11603,7 @@ "", "", "", + "", "" ] }, @@ -11452,6 +11690,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -11493,6 +11732,7 @@ "", "", "", + "", "" ] }, @@ -11712,6 +11952,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -11753,6 +11994,7 @@ "", "", "", + "", "" ] }, @@ -11930,6 +12172,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -11971,6 +12214,7 @@ "", "", "", + "", "" ] }, @@ -12331,6 +12575,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -12372,6 +12617,7 @@ "", "", "", + "", "" ] }, @@ -12400,6 +12646,26 @@ } } }, + "LocalDisk": { + "id": "LocalDisk", + "type": "object", + "properties": { + "diskCount": { + "type": "integer", + "description": "Specifies the number of such disks.", + "format": "int32" + }, + "diskSizeGb": { + "type": "integer", + "description": "Specifies the size of the disk in base-2 GB.", + "format": "int32" + }, + "diskType": { + "type": "string", + "description": "Specifies the desired disk type on the node. This disk type must be a local storage type (e.g.: local-ssd). Note that for nodeTemplates, this should be the name of the disk type and not its URL." + } + } + }, "LogConfig": { "id": "LogConfig", "type": "object", @@ -12655,6 +12921,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -12696,6 +12963,7 @@ "", "", "", + "", "" ] }, @@ -12769,6 +13037,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -12810,6 +13079,7 @@ "", "", "", + "", "" ] }, @@ -12865,6 +13135,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -12906,6 +13177,7 @@ "", "", "", + "", "" ] }, @@ -13318,7 +13590,7 @@ "NetworkEndpointGroup": { "id": "NetworkEndpointGroup", "type": "object", - "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs, see Setting up internet NEGs, Setting up zonal NEGs, or Setting up serverless NEGs. (== resource_for {$api_version}.networkEndpointGroups ==) (== resource_for {$api_version}.globalNetworkEndpointGroups ==) (== resource_for {$api_version}.regionNetworkEndpointGroups ==)", + "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs. (== resource_for {$api_version}.networkEndpointGroups ==) (== resource_for {$api_version}.globalNetworkEndpointGroups ==) (== resource_for {$api_version}.regionNetworkEndpointGroups ==)", "properties": { "annotations": { "type": "object", @@ -13463,6 +13735,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -13504,6 +13777,7 @@ "", "", "", + "", "" ] }, @@ -13629,6 +13903,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -13670,6 +13945,7 @@ "", "", "", + "", "" ] }, @@ -13782,6 +14058,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -13823,6 +14100,7 @@ "", "", "", + "", "" ] }, @@ -13878,6 +14156,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -13919,6 +14198,7 @@ "", "", "", + "", "" ] }, @@ -14009,6 +14289,20 @@ "type": "string", "description": "An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system." }, + "nicType": { + "type": "string", + "description": "The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", + "enum": [ + "GVNIC", + "UNSPECIFIED_NIC_TYPE", + "VIRTIO_NET" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, "subnetwork": { "type": "string", "description": "The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork \n- regions/region/subnetworks/subnetwork" @@ -14060,6 +14354,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -14101,6 +14396,7 @@ "", "", "", + "", "" ] }, @@ -14301,6 +14597,9 @@ "" ] }, + "maintenanceWindow": { + "$ref": "NodeGroupMaintenanceWindow" + }, "name": { "type": "string", "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash." @@ -14391,6 +14690,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -14432,6 +14732,7 @@ "", "", "", + "", "" ] }, @@ -14537,6 +14838,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -14578,6 +14880,7 @@ "", "", "", + "", "" ] }, @@ -14606,10 +14909,32 @@ } } }, + "NodeGroupMaintenanceWindow": { + "id": "NodeGroupMaintenanceWindow", + "type": "object", + "description": "Time window specified for daily maintenance operations. GCE's internal maintenance will be performed within this window.", + "properties": { + "maintenanceDuration": { + "$ref": "Duration", + "description": "[Output only] A predetermined duration for the window, automatically chosen to be the smallest possible in the given scenario." + }, + "startTime": { + "type": "string", + "description": "Start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid." + } + } + }, "NodeGroupNode": { "id": "NodeGroupNode", "type": "object", "properties": { + "accelerators": { + "type": "array", + "description": "Accelerators for this node.", + "items": { + "$ref": "AcceleratorConfig" + } + }, "cpuOvercommitType": { "type": "string", "description": "CPU overcommit.", @@ -14624,6 +14949,13 @@ "" ] }, + "disks": { + "type": "array", + "description": "Local disk configurations.", + "items": { + "$ref": "LocalDisk" + } + }, "instances": { "type": "array", "description": "Instances scheduled on this node.", @@ -14734,6 +15066,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -14775,6 +15108,7 @@ "", "", "", + "", "" ] }, @@ -14830,6 +15164,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -14871,6 +15206,7 @@ "", "", "", + "", "" ] }, @@ -14914,6 +15250,12 @@ "type": "object", "description": "Represent a sole-tenant Node Template resource.\n\nYou can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances. (== resource_for {$api_version}.nodeTemplates ==)", "properties": { + "accelerators": { + "type": "array", + "items": { + "$ref": "AcceleratorConfig" + } + }, "cpuOvercommitType": { "type": "string", "description": "CPU overcommit.", @@ -14936,6 +15278,12 @@ "type": "string", "description": "An optional description of this resource. Provide this property when you create the resource." }, + "disks": { + "type": "array", + "items": { + "$ref": "LocalDisk" + } + }, "id": { "type": "string", "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", @@ -15051,6 +15399,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -15092,6 +15441,7 @@ "", "", "", + "", "" ] }, @@ -15165,6 +15515,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -15206,6 +15557,7 @@ "", "", "", + "", "" ] }, @@ -15276,6 +15628,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -15317,6 +15670,7 @@ "", "", "", + "", "" ] }, @@ -15458,6 +15812,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -15499,6 +15854,7 @@ "", "", "", + "", "" ] }, @@ -15572,6 +15928,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -15613,6 +15970,7 @@ "", "", "", + "", "" ] }, @@ -15668,6 +16026,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -15709,6 +16068,7 @@ "", "", "", + "", "" ] }, @@ -15851,6 +16211,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -15892,6 +16253,7 @@ "", "", "", + "", "" ] }, @@ -16065,6 +16427,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -16106,6 +16469,7 @@ "", "", "", + "", "" ] }, @@ -16191,6 +16555,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -16232,6 +16597,7 @@ "", "", "", + "", "" ] }, @@ -16305,6 +16671,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -16346,6 +16713,7 @@ "", "", "", + "", "" ] }, @@ -16401,6 +16769,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -16442,6 +16811,7 @@ "", "", "", + "", "" ] }, @@ -16664,6 +17034,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -16705,6 +17076,7 @@ "", "", "", + "", "" ] }, @@ -16750,6 +17122,20 @@ "items": { "type": "string" } + }, + "direction": { + "type": "string", + "description": "Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default is BOTH.", + "enum": [ + "BOTH", + "EGRESS", + "INGRESS" + ], + "enumDescriptions": [ + "", + "", + "" + ] } } }, @@ -16812,6 +17198,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -16853,6 +17240,7 @@ "", "", "", + "", "" ] }, @@ -16977,6 +17365,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -17018,6 +17407,7 @@ "", "", "", + "", "" ] }, @@ -17512,6 +17902,7 @@ "PREEMPTIBLE_NVIDIA_T4_GPUS", "PREEMPTIBLE_NVIDIA_T4_VWS_GPUS", "PREEMPTIBLE_NVIDIA_V100_GPUS", + "PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK", "PUBLIC_ADVERTISED_PREFIXES", "PUBLIC_DELEGATED_PREFIXES", "REGIONAL_AUTOSCALERS", @@ -17538,7 +17929,8 @@ "TARGET_VPN_GATEWAYS", "URL_MAPS", "VPN_GATEWAYS", - "VPN_TUNNELS" + "VPN_TUNNELS", + "XPN_SERVICE_PROJECTS" ], "enumDescriptions": [ "", @@ -17646,6 +18038,8 @@ "", "", "", + "", + "", "" ] }, @@ -17792,6 +18186,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -17833,6 +18228,7 @@ "", "", "", + "", "" ] }, @@ -17905,6 +18301,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -17946,6 +18343,7 @@ "", "", "", + "", "" ] }, @@ -18056,6 +18454,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -18097,6 +18496,7 @@ "", "", "", + "", "" ] }, @@ -18184,6 +18584,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -18225,6 +18626,7 @@ "", "", "", + "", "" ] }, @@ -18299,6 +18701,10 @@ "type": "object", "description": "RegionInstanceGroupManagers.applyUpdatesToInstances", "properties": { + "allInstances": { + "type": "boolean", + "description": "Flag to update all instances instead of specified list of ?instances?. If the flag is set to true then the instances may not be specified in the request." + }, "instances": { "type": "array", "description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", @@ -18415,6 +18821,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -18456,6 +18863,7 @@ "", "", "", + "", "" ] }, @@ -18586,6 +18994,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -18627,6 +19036,7 @@ "", "", "", + "", "" ] }, @@ -18741,6 +19151,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -18782,6 +19193,7 @@ "", "", "", + "", "" ] }, @@ -19044,6 +19456,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -19085,6 +19498,7 @@ "", "", "", + "", "" ] }, @@ -19157,6 +19571,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -19198,6 +19613,7 @@ "", "", "", + "", "" ] }, @@ -19264,6 +19680,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -19305,6 +19722,7 @@ "", "", "", + "", "" ] }, @@ -19404,6 +19822,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -19445,6 +19864,7 @@ "", "", "", + "", "" ] }, @@ -19487,7 +19907,7 @@ }, "groupPlacementPolicy": { "$ref": "ResourcePolicyGroupPlacementPolicy", - "description": "Resource policy for instacnes for placement configuration." + "description": "Resource policy for instances for placement configuration." }, "id": { "type": "string", @@ -19594,6 +20014,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -19635,6 +20056,7 @@ "", "", "", + "", "" ] }, @@ -19779,6 +20201,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -19820,6 +20243,7 @@ "", "", "", + "", "" ] }, @@ -19914,6 +20338,10 @@ "type": "object", "description": "Specified snapshot properties for scheduled snapshots created by this policy.", "properties": { + "chainName": { + "type": "string", + "description": "Chain name that the snapshot is created in." + }, "guestFlush": { "type": "boolean", "description": "Indication to perform a 'guest aware' snapshot." @@ -20001,7 +20429,7 @@ }, "destRange": { "type": "string", - "description": "The destination range of outgoing packets that this route applies to. Only IPv4 is supported.", + "description": "The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported.", "annotations": { "required": [ "compute.routes.insert" @@ -20043,7 +20471,7 @@ }, "nextHopIlb": { "type": "string", - "description": "The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets. You can only specify the forwarding rule as a partial or full URL. For example, the following are all valid URLs: \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule \n- regions/region/forwardingRules/forwardingRule" + "description": "The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: \n- 10.128.0.56 \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule \n- regions/region/forwardingRules/forwardingRule" }, "nextHopInstance": { "type": "string", @@ -20109,6 +20537,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -20150,6 +20579,7 @@ "", "", "", + "", "" ] }, @@ -20224,6 +20654,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -20265,6 +20696,7 @@ "", "", "", + "", "" ] }, @@ -20439,6 +20871,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -20480,6 +20913,7 @@ "", "", "", + "", "" ] }, @@ -20723,6 +21157,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -20764,6 +21199,7 @@ "", "", "", + "", "" ] }, @@ -20804,6 +21240,9 @@ "type": "string" } }, + "enableEndpointIndependentMapping": { + "type": "boolean" + }, "icmpIdleTimeoutSec": { "type": "integer", "description": "Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.", @@ -21143,6 +21582,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -21184,6 +21624,7 @@ "", "", "", + "", "" ] }, @@ -21336,6 +21777,10 @@ "type": "boolean", "description": "Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.\n\nBy default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine." }, + "locationHint": { + "type": "string", + "description": "An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API." + }, "minNodeCpus": { "type": "integer", "description": "The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.", @@ -21435,7 +21880,7 @@ "SecurityPolicy": { "id": "SecurityPolicy", "type": "object", - "description": "Represents a Cloud Armor Security Policy resource.\n\nOnly external backend services that use load balancers can reference a Security Policy. For more information, read Cloud Armor Security Policy Concepts. (== resource_for {$api_version}.securityPolicies ==)", + "description": "Represents a Google Cloud Armor security policy resource.\n\nOnly external backend services that use load balancers can reference a security policy. For more information, see Google Cloud Armor security policy overview. (== resource_for {$api_version}.securityPolicies ==)", "properties": { "creationTimestamp": { "type": "string", @@ -21518,6 +21963,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -21559,6 +22005,7 @@ "", "", "", + "", "" ] }, @@ -21624,7 +22071,7 @@ }, "priority": { "type": "integer", - "description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.", + "description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.", "format": "int32" } } @@ -21667,6 +22114,24 @@ } } }, + "SecuritySettings": { + "id": "SecuritySettings", + "type": "object", + "description": "The authentication and authorization settings for a BackendService.", + "properties": { + "clientTlsPolicy": { + "type": "string", + "description": "Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends.\nclientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.\nNote: This field currently has no impact." + }, + "subjectAltNames": { + "type": "array", + "description": "Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service.\nNote that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities.\nOnly applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode).\nNote: This field currently has no impact.", + "items": { + "type": "string" + } + } + } + }, "SerialPortOutput": { "id": "SerialPortOutput", "type": "object", @@ -21824,6 +22289,10 @@ "type": "boolean", "description": "[Output Only] Set to true if snapshots are automatically created by applying resource policy on the target disk." }, + "chainName": { + "type": "string", + "description": "Creates the new snapshot in the snapshot chain labeled with the specified name. The chain name must be 1-63 characters long and comply with RFC1035. This is an uncommon option only for advanced service owners who needs to create separate snapshot chains, for example, for chargeback tracking. When you describe your snapshot resource, this field is visible only if it has a non-empty value." + }, "creationTimestamp": { "type": "string", "description": "[Output Only] Creation timestamp in RFC3339 text format." @@ -21993,6 +22462,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -22034,6 +22504,7 @@ "", "", "", + "", "" ] }, @@ -22207,6 +22678,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -22248,6 +22720,7 @@ "", "", "", + "", "" ] }, @@ -22321,6 +22794,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -22362,6 +22836,7 @@ "", "", "", + "", "" ] }, @@ -22491,6 +22966,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -22532,6 +23008,7 @@ "", "", "", + "", "" ] }, @@ -22604,6 +23081,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -22645,6 +23123,7 @@ "", "", "", + "", "" ] }, @@ -22688,7 +23167,7 @@ "SslPolicy": { "id": "SslPolicy", "type": "object", - "description": "Represents a Cloud Armor Security Policy resource.\n\nOnly external backend services used by HTTP or HTTPS load balancers can reference a Security Policy. For more information, read read Cloud Armor Security Policy Concepts. (== resource_for {$api_version}.sslPolicies ==)", + "description": "Represents an SSL Policy resource.\n\nUse SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts. (== resource_for {$api_version}.sslPolicies ==)", "properties": { "creationTimestamp": { "type": "string", @@ -22784,6 +23263,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -22825,6 +23305,7 @@ "", "", "", + "", "" ] }, @@ -23023,7 +23504,7 @@ }, "state": { "type": "string", - "description": "[Output Only] The state of the subnetwork, which can be one of READY or DRAINING. A subnetwork that is READY is ready to be used. The state of DRAINING is 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.", + "description": "[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 CREATING: Subnetwork is provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is being updated", "enum": [ "DRAINING", "READY" @@ -23087,6 +23568,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -23128,6 +23610,7 @@ "", "", "", + "", "" ] }, @@ -23201,6 +23684,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -23242,6 +23726,7 @@ "", "", "", + "", "" ] }, @@ -23383,6 +23868,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -23424,6 +23910,7 @@ "", "", "", + "", "" ] }, @@ -23629,6 +24116,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -23670,6 +24158,7 @@ "", "", "", + "", "" ] }, @@ -23725,6 +24214,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -23766,6 +24256,7 @@ "", "", "", + "", "" ] }, @@ -23827,6 +24318,10 @@ "description": "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.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" }, + "proxyBind": { + "type": "boolean", + "description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED.\n\nWhen this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them.\n\nThe default is false." + }, "region": { "type": "string", "description": "[Output Only] URL of the region where the regional Target HTTP Proxy resides. This field is not applicable to global Target HTTP Proxies." @@ -23924,6 +24419,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -23965,6 +24461,7 @@ "", "", "", + "", "" ] }, @@ -24020,6 +24517,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -24061,6 +24559,7 @@ "", "", "", + "", "" ] }, @@ -24127,6 +24626,10 @@ "type": "object", "description": "Represents a Target HTTPS Proxy resource.\n\nGoogle Compute Engine has two Target HTTPS Proxy resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/{$api_version}/regionTargetHttpsProxies)\n\nA target HTTPS proxy is a component of GCP HTTPS load balancers.\n\n* targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS load balancers.\n\nForwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. (== resource_for {$api_version}.targetHttpsProxies ==) (== resource_for {$api_version}.regionTargetHttpsProxies ==)", "properties": { + "authorizationPolicy": { + "type": "string", + "description": "Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy.\nRefer to the AuthorizationPolicy resource for additional details.\nauthorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nNote: This field currently has no impact." + }, "creationTimestamp": { "type": "string", "description": "[Output Only] Creation timestamp in RFC3339 text format." @@ -24150,6 +24653,10 @@ "description": "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.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" }, + "proxyBind": { + "type": "boolean", + "description": "This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED.\n\nWhen this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them.\n\nThe default is false." + }, "quicOverride": { "type": "string", "description": "Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. \n- When quic-override is set to NONE, Google manages whether QUIC is used. \n- When quic-override is set to ENABLE, the load balancer uses QUIC when possible. \n- When quic-override is set to DISABLE, the load balancer doesn't use QUIC. \n- If the quic-override flag is not specified, NONE is implied.\n-", @@ -24172,6 +24679,10 @@ "type": "string", "description": "[Output Only] Server-defined URL for the resource." }, + "serverTlsPolicy": { + "type": "string", + "description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic.\nserverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.\nNote: This field currently has no impact." + }, "sslCertificates": { "type": "array", "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.", @@ -24241,6 +24752,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -24282,6 +24794,7 @@ "", "", "", + "", "" ] }, @@ -24355,6 +24868,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -24396,6 +24910,7 @@ "", "", "", + "", "" ] }, @@ -24528,6 +25043,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -24569,6 +25085,7 @@ "", "", "", + "", "" ] }, @@ -24642,6 +25159,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -24683,6 +25201,7 @@ "", "", "", + "", "" ] }, @@ -24738,6 +25257,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -24779,6 +25299,7 @@ "", "", "", + "", "" ] }, @@ -24814,7 +25335,7 @@ "properties": { "backupPool": { "type": "string", - "description": "This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its failoverRatio field is properly set to a value between [0, 1].\n\nbackupPool and failoverRatio together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below failoverRatio, traffic arriving at the load-balanced IP will be directed to the backup pool.\n\nIn case where failoverRatio and backupPool are not set, or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy." + "description": "The server-defined URL for the resource. This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its failoverRatio field is properly set to a value between [0, 1].\n\nbackupPool and failoverRatio together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below failoverRatio, traffic arriving at the load-balanced IP will be directed to the backup pool.\n\nIn case where failoverRatio and backupPool are not set, or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy." }, "creationTimestamp": { "type": "string", @@ -24942,6 +25463,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -24983,6 +25505,7 @@ "", "", "", + "", "" ] }, @@ -25073,6 +25596,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -25114,6 +25638,7 @@ "", "", "", + "", "" ] }, @@ -25221,6 +25746,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -25262,6 +25788,7 @@ "", "", "", + "", "" ] }, @@ -25446,6 +25973,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -25487,6 +26015,7 @@ "", "", "", + "", "" ] }, @@ -25638,6 +26167,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -25679,6 +26209,7 @@ "", "", "", + "", "" ] }, @@ -25841,6 +26372,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -25882,6 +26414,7 @@ "", "", "", + "", "" ] }, @@ -25955,6 +26488,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -25996,6 +26530,7 @@ "", "", "", + "", "" ] }, @@ -26051,6 +26586,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -26092,6 +26628,7 @@ "", "", "", + "", "" ] }, @@ -26293,6 +26830,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -26334,6 +26872,7 @@ "", "", "", + "", "" ] }, @@ -26473,6 +27012,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -26514,6 +27054,7 @@ "", "", "", + "", "" ] }, @@ -26569,6 +27110,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -26610,6 +27152,7 @@ "", "", "", + "", "" ] }, @@ -26757,6 +27300,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -26798,6 +27342,7 @@ "", "", "", + "", "" ] }, @@ -26942,6 +27487,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -26983,6 +27529,7 @@ "", "", "", + "", "" ] }, @@ -27134,6 +27681,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -27175,6 +27723,7 @@ "", "", "", + "", "" ] }, @@ -27248,6 +27797,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -27289,6 +27839,7 @@ "", "", "", + "", "" ] }, @@ -27458,6 +28009,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -27499,6 +28051,7 @@ "", "", "", + "", "" ] }, @@ -27721,6 +28274,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -27762,6 +28316,7 @@ "", "", "", + "", "" ] }, @@ -27835,6 +28390,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -27876,6 +28432,7 @@ "", "", "", + "", "" ] }, @@ -27931,6 +28488,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -27972,6 +28530,7 @@ "", "", "", + "", "" ] }, @@ -28098,6 +28657,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -28139,6 +28699,7 @@ "", "", "", + "", "" ] }, @@ -28295,6 +28856,7 @@ "EXTERNAL_API_WARNING", "FIELD_VALUE_OVERRIDEN", "INJECTED_KERNELS_DEPRECATED", + "LARGE_DEPLOYMENT_WARNING", "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", @@ -28336,6 +28898,7 @@ "", "", "", + "", "" ] }, @@ -28410,7 +28973,7 @@ "methods": { "aggregatedList": { "id": "compute.acceleratorTypes.aggregatedList", - "path": "{project}/aggregated/acceleratorTypes", + "path": "projects/{project}/aggregated/acceleratorTypes", "httpMethod": "GET", "description": "Retrieves an aggregated list of accelerator types.", "parameters": { @@ -28469,7 +29032,7 @@ }, "get": { "id": "compute.acceleratorTypes.get", - "path": "{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", + "path": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", "httpMethod": "GET", "description": "Returns the specified accelerator type.", "parameters": { @@ -28511,7 +29074,7 @@ }, "list": { "id": "compute.acceleratorTypes.list", - "path": "{project}/zones/{zone}/acceleratorTypes", + "path": "projects/{project}/zones/{zone}/acceleratorTypes", "httpMethod": "GET", "description": "Retrieves a list of accelerator types that are available to the specified project.", "parameters": { @@ -28577,7 +29140,7 @@ "methods": { "aggregatedList": { "id": "compute.addresses.aggregatedList", - "path": "{project}/aggregated/addresses", + "path": "projects/{project}/aggregated/addresses", "httpMethod": "GET", "description": "Retrieves an aggregated list of addresses.", "parameters": { @@ -28636,7 +29199,7 @@ }, "delete": { "id": "compute.addresses.delete", - "path": "{project}/regions/{region}/addresses/{address}", + "path": "projects/{project}/regions/{region}/addresses/{address}", "httpMethod": "DELETE", "description": "Deletes the specified address resource.", "parameters": { @@ -28682,7 +29245,7 @@ }, "get": { "id": "compute.addresses.get", - "path": "{project}/regions/{region}/addresses/{address}", + "path": "projects/{project}/regions/{region}/addresses/{address}", "httpMethod": "GET", "description": "Returns the specified address resource.", "parameters": { @@ -28724,7 +29287,7 @@ }, "insert": { "id": "compute.addresses.insert", - "path": "{project}/regions/{region}/addresses", + "path": "projects/{project}/regions/{region}/addresses", "httpMethod": "POST", "description": "Creates an address resource in the specified project by using the data included in the request.", "parameters": { @@ -28765,7 +29328,7 @@ }, "list": { "id": "compute.addresses.list", - "path": "{project}/regions/{region}/addresses", + "path": "projects/{project}/regions/{region}/addresses", "httpMethod": "GET", "description": "Retrieves a list of addresses contained within the specified region.", "parameters": { @@ -28831,7 +29394,7 @@ "methods": { "aggregatedList": { "id": "compute.autoscalers.aggregatedList", - "path": "{project}/aggregated/autoscalers", + "path": "projects/{project}/aggregated/autoscalers", "httpMethod": "GET", "description": "Retrieves an aggregated list of autoscalers.", "parameters": { @@ -28890,7 +29453,7 @@ }, "delete": { "id": "compute.autoscalers.delete", - "path": "{project}/zones/{zone}/autoscalers/{autoscaler}", + "path": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", "httpMethod": "DELETE", "description": "Deletes the specified autoscaler.", "parameters": { @@ -28936,7 +29499,7 @@ }, "get": { "id": "compute.autoscalers.get", - "path": "{project}/zones/{zone}/autoscalers/{autoscaler}", + "path": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", "httpMethod": "GET", "description": "Returns the specified autoscaler resource. Gets a list of available autoscalers by making a list() request.", "parameters": { @@ -28978,7 +29541,7 @@ }, "insert": { "id": "compute.autoscalers.insert", - "path": "{project}/zones/{zone}/autoscalers", + "path": "projects/{project}/zones/{zone}/autoscalers", "httpMethod": "POST", "description": "Creates an autoscaler in the specified project using the data included in the request.", "parameters": { @@ -29019,7 +29582,7 @@ }, "list": { "id": "compute.autoscalers.list", - "path": "{project}/zones/{zone}/autoscalers", + "path": "projects/{project}/zones/{zone}/autoscalers", "httpMethod": "GET", "description": "Retrieves a list of autoscalers contained within the specified zone.", "parameters": { @@ -29081,7 +29644,7 @@ }, "patch": { "id": "compute.autoscalers.patch", - "path": "{project}/zones/{zone}/autoscalers", + "path": "projects/{project}/zones/{zone}/autoscalers", "httpMethod": "PATCH", "description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -29128,7 +29691,7 @@ }, "update": { "id": "compute.autoscalers.update", - "path": "{project}/zones/{zone}/autoscalers", + "path": "projects/{project}/zones/{zone}/autoscalers", "httpMethod": "PUT", "description": "Updates an autoscaler in the specified project using the data included in the request.", "parameters": { @@ -29179,7 +29742,7 @@ "methods": { "addSignedUrlKey": { "id": "compute.backendBuckets.addSignedUrlKey", - "path": "{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey", + "path": "projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey", "httpMethod": "POST", "description": "Adds a key for validating requests with signed URLs for this backend bucket.", "parameters": { @@ -29219,7 +29782,7 @@ }, "delete": { "id": "compute.backendBuckets.delete", - "path": "{project}/global/backendBuckets/{backendBucket}", + "path": "projects/{project}/global/backendBuckets/{backendBucket}", "httpMethod": "DELETE", "description": "Deletes the specified BackendBucket resource.", "parameters": { @@ -29257,7 +29820,7 @@ }, "deleteSignedUrlKey": { "id": "compute.backendBuckets.deleteSignedUrlKey", - "path": "{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey", + "path": "projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey", "httpMethod": "POST", "description": "Deletes a key for validating requests with signed URLs for this backend bucket.", "parameters": { @@ -29301,7 +29864,7 @@ }, "get": { "id": "compute.backendBuckets.get", - "path": "{project}/global/backendBuckets/{backendBucket}", + "path": "projects/{project}/global/backendBuckets/{backendBucket}", "httpMethod": "GET", "description": "Returns the specified BackendBucket resource. Gets a list of available backend buckets by making a list() request.", "parameters": { @@ -29335,7 +29898,7 @@ }, "insert": { "id": "compute.backendBuckets.insert", - "path": "{project}/global/backendBuckets", + "path": "projects/{project}/global/backendBuckets", "httpMethod": "POST", "description": "Creates a BackendBucket resource in the specified project using the data included in the request.", "parameters": { @@ -29368,7 +29931,7 @@ }, "list": { "id": "compute.backendBuckets.list", - "path": "{project}/global/backendBuckets", + "path": "projects/{project}/global/backendBuckets", "httpMethod": "GET", "description": "Retrieves the list of BackendBucket resources available to the specified project.", "parameters": { @@ -29422,7 +29985,7 @@ }, "patch": { "id": "compute.backendBuckets.patch", - "path": "{project}/global/backendBuckets/{backendBucket}", + "path": "projects/{project}/global/backendBuckets/{backendBucket}", "httpMethod": "PATCH", "description": "Updates the specified BackendBucket resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -29463,7 +30026,7 @@ }, "update": { "id": "compute.backendBuckets.update", - "path": "{project}/global/backendBuckets/{backendBucket}", + "path": "projects/{project}/global/backendBuckets/{backendBucket}", "httpMethod": "PUT", "description": "Updates the specified BackendBucket resource with the data included in the request.", "parameters": { @@ -29508,7 +30071,7 @@ "methods": { "addSignedUrlKey": { "id": "compute.backendServices.addSignedUrlKey", - "path": "{project}/global/backendServices/{backendService}/addSignedUrlKey", + "path": "projects/{project}/global/backendServices/{backendService}/addSignedUrlKey", "httpMethod": "POST", "description": "Adds a key for validating requests with signed URLs for this backend service.", "parameters": { @@ -29548,7 +30111,7 @@ }, "aggregatedList": { "id": "compute.backendServices.aggregatedList", - "path": "{project}/aggregated/backendServices", + "path": "projects/{project}/aggregated/backendServices", "httpMethod": "GET", "description": "Retrieves the list of all BackendService resources, regional and global, available to the specified project.", "parameters": { @@ -29607,7 +30170,7 @@ }, "delete": { "id": "compute.backendServices.delete", - "path": "{project}/global/backendServices/{backendService}", + "path": "projects/{project}/global/backendServices/{backendService}", "httpMethod": "DELETE", "description": "Deletes the specified BackendService resource.", "parameters": { @@ -29645,7 +30208,7 @@ }, "deleteSignedUrlKey": { "id": "compute.backendServices.deleteSignedUrlKey", - "path": "{project}/global/backendServices/{backendService}/deleteSignedUrlKey", + "path": "projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey", "httpMethod": "POST", "description": "Deletes a key for validating requests with signed URLs for this backend service.", "parameters": { @@ -29689,7 +30252,7 @@ }, "get": { "id": "compute.backendServices.get", - "path": "{project}/global/backendServices/{backendService}", + "path": "projects/{project}/global/backendServices/{backendService}", "httpMethod": "GET", "description": "Returns the specified BackendService resource. Gets a list of available backend services.", "parameters": { @@ -29723,7 +30286,7 @@ }, "getHealth": { "id": "compute.backendServices.getHealth", - "path": "{project}/global/backendServices/{backendService}/getHealth", + "path": "projects/{project}/global/backendServices/{backendService}/getHealth", "httpMethod": "POST", "description": "Gets the most recent health check results for this BackendService.\n\nExample request body:\n\n{ \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", "parameters": { @@ -29759,7 +30322,7 @@ }, "insert": { "id": "compute.backendServices.insert", - "path": "{project}/global/backendServices", + "path": "projects/{project}/global/backendServices", "httpMethod": "POST", "description": "Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", "parameters": { @@ -29792,7 +30355,7 @@ }, "list": { "id": "compute.backendServices.list", - "path": "{project}/global/backendServices", + "path": "projects/{project}/global/backendServices", "httpMethod": "GET", "description": "Retrieves the list of BackendService resources available to the specified project.", "parameters": { @@ -29846,7 +30409,7 @@ }, "patch": { "id": "compute.backendServices.patch", - "path": "{project}/global/backendServices/{backendService}", + "path": "projects/{project}/global/backendServices/{backendService}", "httpMethod": "PATCH", "description": "Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -29887,7 +30450,7 @@ }, "setSecurityPolicy": { "id": "compute.backendServices.setSecurityPolicy", - "path": "{project}/global/backendServices/{backendService}/setSecurityPolicy", + "path": "projects/{project}/global/backendServices/{backendService}/setSecurityPolicy", "httpMethod": "POST", "description": "Sets the security policy for the specified backend service.", "parameters": { @@ -29927,7 +30490,7 @@ }, "update": { "id": "compute.backendServices.update", - "path": "{project}/global/backendServices/{backendService}", + "path": "projects/{project}/global/backendServices/{backendService}", "httpMethod": "PUT", "description": "Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview.", "parameters": { @@ -29972,7 +30535,7 @@ "methods": { "aggregatedList": { "id": "compute.diskTypes.aggregatedList", - "path": "{project}/aggregated/diskTypes", + "path": "projects/{project}/aggregated/diskTypes", "httpMethod": "GET", "description": "Retrieves an aggregated list of disk types.", "parameters": { @@ -30031,7 +30594,7 @@ }, "get": { "id": "compute.diskTypes.get", - "path": "{project}/zones/{zone}/diskTypes/{diskType}", + "path": "projects/{project}/zones/{zone}/diskTypes/{diskType}", "httpMethod": "GET", "description": "Returns the specified disk type. Gets a list of available disk types by making a list() request.", "parameters": { @@ -30073,7 +30636,7 @@ }, "list": { "id": "compute.diskTypes.list", - "path": "{project}/zones/{zone}/diskTypes", + "path": "projects/{project}/zones/{zone}/diskTypes", "httpMethod": "GET", "description": "Retrieves a list of disk types available to the specified project.", "parameters": { @@ -30139,7 +30702,7 @@ "methods": { "addResourcePolicies": { "id": "compute.disks.addResourcePolicies", - "path": "{project}/zones/{zone}/disks/{disk}/addResourcePolicies", + "path": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", "httpMethod": "POST", "description": "Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.", "parameters": { @@ -30188,7 +30751,7 @@ }, "aggregatedList": { "id": "compute.disks.aggregatedList", - "path": "{project}/aggregated/disks", + "path": "projects/{project}/aggregated/disks", "httpMethod": "GET", "description": "Retrieves an aggregated list of persistent disks.", "parameters": { @@ -30247,7 +30810,7 @@ }, "createSnapshot": { "id": "compute.disks.createSnapshot", - "path": "{project}/zones/{zone}/disks/{disk}/createSnapshot", + "path": "projects/{project}/zones/{zone}/disks/{disk}/createSnapshot", "httpMethod": "POST", "description": "Creates a snapshot of a specified persistent disk.", "parameters": { @@ -30301,7 +30864,7 @@ }, "delete": { "id": "compute.disks.delete", - "path": "{project}/zones/{zone}/disks/{disk}", + "path": "projects/{project}/zones/{zone}/disks/{disk}", "httpMethod": "DELETE", "description": "Deletes the specified persistent disk. Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.", "parameters": { @@ -30346,7 +30909,7 @@ }, "get": { "id": "compute.disks.get", - "path": "{project}/zones/{zone}/disks/{disk}", + "path": "projects/{project}/zones/{zone}/disks/{disk}", "httpMethod": "GET", "description": "Returns a specified persistent disk. Gets a list of available persistent disks by making a list() request.", "parameters": { @@ -30388,7 +30951,7 @@ }, "getIamPolicy": { "id": "compute.disks.getIamPolicy", - "path": "{project}/zones/{zone}/disks/{resource}/getIamPolicy", + "path": "projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -30436,7 +30999,7 @@ }, "insert": { "id": "compute.disks.insert", - "path": "{project}/zones/{zone}/disks", + "path": "projects/{project}/zones/{zone}/disks", "httpMethod": "POST", "description": "Creates a persistent disk in the specified project using the data in the request. You can create a disk from a source (sourceImage, sourceSnapshot, or sourceDisk) or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property.", "parameters": { @@ -30482,7 +31045,7 @@ }, "list": { "id": "compute.disks.list", - "path": "{project}/zones/{zone}/disks", + "path": "projects/{project}/zones/{zone}/disks", "httpMethod": "GET", "description": "Retrieves a list of persistent disks contained within the specified zone.", "parameters": { @@ -30544,7 +31107,7 @@ }, "removeResourcePolicies": { "id": "compute.disks.removeResourcePolicies", - "path": "{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", + "path": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", "httpMethod": "POST", "description": "Removes resource policies from a disk.", "parameters": { @@ -30593,7 +31156,7 @@ }, "resize": { "id": "compute.disks.resize", - "path": "{project}/zones/{zone}/disks/{disk}/resize", + "path": "projects/{project}/zones/{zone}/disks/{disk}/resize", "httpMethod": "POST", "description": "Resizes the specified persistent disk. You can only increase the size of the disk.", "parameters": { @@ -30642,7 +31205,7 @@ }, "setIamPolicy": { "id": "compute.disks.setIamPolicy", - "path": "{project}/zones/{zone}/disks/{resource}/setIamPolicy", + "path": "projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -30686,7 +31249,7 @@ }, "setLabels": { "id": "compute.disks.setLabels", - "path": "{project}/zones/{zone}/disks/{resource}/setLabels", + "path": "projects/{project}/zones/{zone}/disks/{resource}/setLabels", "httpMethod": "POST", "description": "Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation.", "parameters": { @@ -30735,7 +31298,7 @@ }, "testIamPermissions": { "id": "compute.disks.testIamPermissions", - "path": "{project}/zones/{zone}/disks/{resource}/testIamPermissions", + "path": "projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -30784,7 +31347,7 @@ "methods": { "delete": { "id": "compute.externalVpnGateways.delete", - "path": "{project}/global/externalVpnGateways/{externalVpnGateway}", + "path": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", "httpMethod": "DELETE", "description": "Deletes the specified externalVpnGateway.", "parameters": { @@ -30822,7 +31385,7 @@ }, "get": { "id": "compute.externalVpnGateways.get", - "path": "{project}/global/externalVpnGateways/{externalVpnGateway}", + "path": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", "httpMethod": "GET", "description": "Returns the specified externalVpnGateway. Get a list of available externalVpnGateways by making a list() request.", "parameters": { @@ -30856,7 +31419,7 @@ }, "insert": { "id": "compute.externalVpnGateways.insert", - "path": "{project}/global/externalVpnGateways", + "path": "projects/{project}/global/externalVpnGateways", "httpMethod": "POST", "description": "Creates a ExternalVpnGateway in the specified project using the data included in the request.", "parameters": { @@ -30889,7 +31452,7 @@ }, "list": { "id": "compute.externalVpnGateways.list", - "path": "{project}/global/externalVpnGateways", + "path": "projects/{project}/global/externalVpnGateways", "httpMethod": "GET", "description": "Retrieves the list of ExternalVpnGateway available to the specified project.", "parameters": { @@ -30943,7 +31506,7 @@ }, "setLabels": { "id": "compute.externalVpnGateways.setLabels", - "path": "{project}/global/externalVpnGateways/{resource}/setLabels", + "path": "projects/{project}/global/externalVpnGateways/{resource}/setLabels", "httpMethod": "POST", "description": "Sets the labels on an ExternalVpnGateway. To learn more about labels, read the Labeling Resources documentation.", "parameters": { @@ -30979,7 +31542,7 @@ }, "testIamPermissions": { "id": "compute.externalVpnGateways.testIamPermissions", - "path": "{project}/global/externalVpnGateways/{resource}/testIamPermissions", + "path": "projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -31020,7 +31583,7 @@ "methods": { "delete": { "id": "compute.firewalls.delete", - "path": "{project}/global/firewalls/{firewall}", + "path": "projects/{project}/global/firewalls/{firewall}", "httpMethod": "DELETE", "description": "Deletes the specified firewall.", "parameters": { @@ -31058,7 +31621,7 @@ }, "get": { "id": "compute.firewalls.get", - "path": "{project}/global/firewalls/{firewall}", + "path": "projects/{project}/global/firewalls/{firewall}", "httpMethod": "GET", "description": "Returns the specified firewall.", "parameters": { @@ -31092,7 +31655,7 @@ }, "insert": { "id": "compute.firewalls.insert", - "path": "{project}/global/firewalls", + "path": "projects/{project}/global/firewalls", "httpMethod": "POST", "description": "Creates a firewall rule in the specified project using the data included in the request.", "parameters": { @@ -31125,7 +31688,7 @@ }, "list": { "id": "compute.firewalls.list", - "path": "{project}/global/firewalls", + "path": "projects/{project}/global/firewalls", "httpMethod": "GET", "description": "Retrieves the list of firewall rules available to the specified project.", "parameters": { @@ -31179,7 +31742,7 @@ }, "patch": { "id": "compute.firewalls.patch", - "path": "{project}/global/firewalls/{firewall}", + "path": "projects/{project}/global/firewalls/{firewall}", "httpMethod": "PATCH", "description": "Updates the specified firewall rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -31220,7 +31783,7 @@ }, "update": { "id": "compute.firewalls.update", - "path": "{project}/global/firewalls/{firewall}", + "path": "projects/{project}/global/firewalls/{firewall}", "httpMethod": "PUT", "description": "Updates the specified firewall rule with the data included in the request. Note that all fields will be updated if using PUT, even fields that are not specified. To update individual fields, please use PATCH instead.", "parameters": { @@ -31265,7 +31828,7 @@ "methods": { "aggregatedList": { "id": "compute.forwardingRules.aggregatedList", - "path": "{project}/aggregated/forwardingRules", + "path": "projects/{project}/aggregated/forwardingRules", "httpMethod": "GET", "description": "Retrieves an aggregated list of forwarding rules.", "parameters": { @@ -31324,7 +31887,7 @@ }, "delete": { "id": "compute.forwardingRules.delete", - "path": "{project}/regions/{region}/forwardingRules/{forwardingRule}", + "path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", "httpMethod": "DELETE", "description": "Deletes the specified ForwardingRule resource.", "parameters": { @@ -31370,7 +31933,7 @@ }, "get": { "id": "compute.forwardingRules.get", - "path": "{project}/regions/{region}/forwardingRules/{forwardingRule}", + "path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", "httpMethod": "GET", "description": "Returns the specified ForwardingRule resource.", "parameters": { @@ -31412,7 +31975,7 @@ }, "insert": { "id": "compute.forwardingRules.insert", - "path": "{project}/regions/{region}/forwardingRules", + "path": "projects/{project}/regions/{region}/forwardingRules", "httpMethod": "POST", "description": "Creates a ForwardingRule resource in the specified project and region using the data included in the request.", "parameters": { @@ -31453,7 +32016,7 @@ }, "list": { "id": "compute.forwardingRules.list", - "path": "{project}/regions/{region}/forwardingRules", + "path": "projects/{project}/regions/{region}/forwardingRules", "httpMethod": "GET", "description": "Retrieves a list of ForwardingRule resources available to the specified project and region.", "parameters": { @@ -31515,7 +32078,7 @@ }, "patch": { "id": "compute.forwardingRules.patch", - "path": "{project}/regions/{region}/forwardingRules/{forwardingRule}", + "path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", "httpMethod": "PATCH", "description": "Updates the specified forwarding rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Currently, you can only patch the network_tier field.", "parameters": { @@ -31564,7 +32127,7 @@ }, "setTarget": { "id": "compute.forwardingRules.setTarget", - "path": "{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget", + "path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget", "httpMethod": "POST", "description": "Changes target URL for forwarding rule. The new target should be of the same type as the old target.", "parameters": { @@ -31617,7 +32180,7 @@ "methods": { "delete": { "id": "compute.globalAddresses.delete", - "path": "{project}/global/addresses/{address}", + "path": "projects/{project}/global/addresses/{address}", "httpMethod": "DELETE", "description": "Deletes the specified address resource.", "parameters": { @@ -31655,7 +32218,7 @@ }, "get": { "id": "compute.globalAddresses.get", - "path": "{project}/global/addresses/{address}", + "path": "projects/{project}/global/addresses/{address}", "httpMethod": "GET", "description": "Returns the specified address resource. Gets a list of available addresses by making a list() request.", "parameters": { @@ -31689,7 +32252,7 @@ }, "insert": { "id": "compute.globalAddresses.insert", - "path": "{project}/global/addresses", + "path": "projects/{project}/global/addresses", "httpMethod": "POST", "description": "Creates an address resource in the specified project by using the data included in the request.", "parameters": { @@ -31722,7 +32285,7 @@ }, "list": { "id": "compute.globalAddresses.list", - "path": "{project}/global/addresses", + "path": "projects/{project}/global/addresses", "httpMethod": "GET", "description": "Retrieves a list of global addresses.", "parameters": { @@ -31780,7 +32343,7 @@ "methods": { "delete": { "id": "compute.globalForwardingRules.delete", - "path": "{project}/global/forwardingRules/{forwardingRule}", + "path": "projects/{project}/global/forwardingRules/{forwardingRule}", "httpMethod": "DELETE", "description": "Deletes the specified GlobalForwardingRule resource.", "parameters": { @@ -31818,7 +32381,7 @@ }, "get": { "id": "compute.globalForwardingRules.get", - "path": "{project}/global/forwardingRules/{forwardingRule}", + "path": "projects/{project}/global/forwardingRules/{forwardingRule}", "httpMethod": "GET", "description": "Returns the specified GlobalForwardingRule resource. Gets a list of available forwarding rules by making a list() request.", "parameters": { @@ -31852,7 +32415,7 @@ }, "insert": { "id": "compute.globalForwardingRules.insert", - "path": "{project}/global/forwardingRules", + "path": "projects/{project}/global/forwardingRules", "httpMethod": "POST", "description": "Creates a GlobalForwardingRule resource in the specified project using the data included in the request.", "parameters": { @@ -31885,7 +32448,7 @@ }, "list": { "id": "compute.globalForwardingRules.list", - "path": "{project}/global/forwardingRules", + "path": "projects/{project}/global/forwardingRules", "httpMethod": "GET", "description": "Retrieves a list of GlobalForwardingRule resources available to the specified project.", "parameters": { @@ -31939,7 +32502,7 @@ }, "patch": { "id": "compute.globalForwardingRules.patch", - "path": "{project}/global/forwardingRules/{forwardingRule}", + "path": "projects/{project}/global/forwardingRules/{forwardingRule}", "httpMethod": "PATCH", "description": "Updates the specified forwarding rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Currently, you can only patch the network_tier field.", "parameters": { @@ -31980,7 +32543,7 @@ }, "setTarget": { "id": "compute.globalForwardingRules.setTarget", - "path": "{project}/global/forwardingRules/{forwardingRule}/setTarget", + "path": "projects/{project}/global/forwardingRules/{forwardingRule}/setTarget", "httpMethod": "POST", "description": "Changes target URL for the GlobalForwardingRule resource. The new target should be of the same type as the old target.", "parameters": { @@ -32025,7 +32588,7 @@ "methods": { "attachNetworkEndpoints": { "id": "compute.globalNetworkEndpointGroups.attachNetworkEndpoints", - "path": "{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + "path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", "httpMethod": "POST", "description": "Attach a network endpoint to the specified network endpoint group.", "parameters": { @@ -32065,7 +32628,7 @@ }, "delete": { "id": "compute.globalNetworkEndpointGroups.delete", - "path": "{project}/global/networkEndpointGroups/{networkEndpointGroup}", + "path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "DELETE", "description": "Deletes the specified network endpoint group.Note that the NEG cannot be deleted if there are backend services referencing it.", "parameters": { @@ -32102,7 +32665,7 @@ }, "detachNetworkEndpoints": { "id": "compute.globalNetworkEndpointGroups.detachNetworkEndpoints", - "path": "{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + "path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", "httpMethod": "POST", "description": "Detach the network endpoint from the specified network endpoint group.", "parameters": { @@ -32142,7 +32705,7 @@ }, "get": { "id": "compute.globalNetworkEndpointGroups.get", - "path": "{project}/global/networkEndpointGroups/{networkEndpointGroup}", + "path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", "parameters": { @@ -32175,7 +32738,7 @@ }, "insert": { "id": "compute.globalNetworkEndpointGroups.insert", - "path": "{project}/global/networkEndpointGroups", + "path": "projects/{project}/global/networkEndpointGroups", "httpMethod": "POST", "description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", "parameters": { @@ -32208,7 +32771,7 @@ }, "list": { "id": "compute.globalNetworkEndpointGroups.list", - "path": "{project}/global/networkEndpointGroups", + "path": "projects/{project}/global/networkEndpointGroups", "httpMethod": "GET", "description": "Retrieves the list of network endpoint groups that are located in the specified project.", "parameters": { @@ -32262,7 +32825,7 @@ }, "listNetworkEndpoints": { "id": "compute.globalNetworkEndpointGroups.listNetworkEndpoints", - "path": "{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + "path": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", "httpMethod": "POST", "description": "Lists the network endpoints in the specified network endpoint group.", "parameters": { @@ -32327,7 +32890,7 @@ "methods": { "aggregatedList": { "id": "compute.globalOperations.aggregatedList", - "path": "{project}/aggregated/operations", + "path": "projects/{project}/aggregated/operations", "httpMethod": "GET", "description": "Retrieves an aggregated list of all operations.", "parameters": { @@ -32386,7 +32949,7 @@ }, "delete": { "id": "compute.globalOperations.delete", - "path": "{project}/global/operations/{operation}", + "path": "projects/{project}/global/operations/{operation}", "httpMethod": "DELETE", "description": "Deletes the specified Operations resource.", "parameters": { @@ -32416,7 +32979,7 @@ }, "get": { "id": "compute.globalOperations.get", - "path": "{project}/global/operations/{operation}", + "path": "projects/{project}/global/operations/{operation}", "httpMethod": "GET", "description": "Retrieves the specified Operations resource. Gets a list of operations by making a `list()` request.", "parameters": { @@ -32450,7 +33013,7 @@ }, "list": { "id": "compute.globalOperations.list", - "path": "{project}/global/operations", + "path": "projects/{project}/global/operations", "httpMethod": "GET", "description": "Retrieves a list of Operation resources contained within the specified project.", "parameters": { @@ -32504,7 +33067,7 @@ }, "wait": { "id": "compute.globalOperations.wait", - "path": "{project}/global/operations/{operation}/wait", + "path": "projects/{project}/global/operations/{operation}/wait", "httpMethod": "POST", "description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`.", "parameters": { @@ -32538,11 +33101,122 @@ } } }, + "globalOrganizationOperations": { + "methods": { + "delete": { + "id": "compute.globalOrganizationOperations.delete", + "path": "locations/global/operations/{operation}", + "httpMethod": "DELETE", + "description": "Deletes the specified Operations resource.", + "parameters": { + "operation": { + "type": "string", + "description": "Name of the Operations resource to delete.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "location": "path" + }, + "parentId": { + "type": "string", + "description": "Parent ID for this request.", + "location": "query" + } + }, + "parameterOrder": [ + "operation" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "id": "compute.globalOrganizationOperations.get", + "path": "locations/global/operations/{operation}", + "httpMethod": "GET", + "description": "Retrieves the specified Operations resource. Gets a list of operations by making a `list()` request.", + "parameters": { + "operation": { + "type": "string", + "description": "Name of the Operations resource to return.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "location": "path" + }, + "parentId": { + "type": "string", + "description": "Parent ID for this request.", + "location": "query" + } + }, + "parameterOrder": [ + "operation" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "id": "compute.globalOrganizationOperations.list", + "path": "locations/global/operations", + "httpMethod": "GET", + "description": "Retrieves a list of Operation resources contained within the specified organization.", + "parameters": { + "filter": { + "type": "string", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `\u003e`, or `\u003c`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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`)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query" + }, + "parentId": { + "type": "string", + "description": "Parent ID for this request.", + "location": "query" + }, + "returnPartialSuccess": { + "type": "boolean", + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query" + } + }, + "response": { + "$ref": "OperationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "healthChecks": { "methods": { "aggregatedList": { "id": "compute.healthChecks.aggregatedList", - "path": "{project}/aggregated/healthChecks", + "path": "projects/{project}/aggregated/healthChecks", "httpMethod": "GET", "description": "Retrieves the list of all HealthCheck resources, regional and global, available to the specified project.", "parameters": { @@ -32601,7 +33275,7 @@ }, "delete": { "id": "compute.healthChecks.delete", - "path": "{project}/global/healthChecks/{healthCheck}", + "path": "projects/{project}/global/healthChecks/{healthCheck}", "httpMethod": "DELETE", "description": "Deletes the specified HealthCheck resource.", "parameters": { @@ -32639,7 +33313,7 @@ }, "get": { "id": "compute.healthChecks.get", - "path": "{project}/global/healthChecks/{healthCheck}", + "path": "projects/{project}/global/healthChecks/{healthCheck}", "httpMethod": "GET", "description": "Returns the specified HealthCheck resource. Gets a list of available health checks by making a list() request.", "parameters": { @@ -32673,7 +33347,7 @@ }, "insert": { "id": "compute.healthChecks.insert", - "path": "{project}/global/healthChecks", + "path": "projects/{project}/global/healthChecks", "httpMethod": "POST", "description": "Creates a HealthCheck resource in the specified project using the data included in the request.", "parameters": { @@ -32706,7 +33380,7 @@ }, "list": { "id": "compute.healthChecks.list", - "path": "{project}/global/healthChecks", + "path": "projects/{project}/global/healthChecks", "httpMethod": "GET", "description": "Retrieves the list of HealthCheck resources available to the specified project.", "parameters": { @@ -32760,7 +33434,7 @@ }, "patch": { "id": "compute.healthChecks.patch", - "path": "{project}/global/healthChecks/{healthCheck}", + "path": "projects/{project}/global/healthChecks/{healthCheck}", "httpMethod": "PATCH", "description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -32801,7 +33475,7 @@ }, "update": { "id": "compute.healthChecks.update", - "path": "{project}/global/healthChecks/{healthCheck}", + "path": "projects/{project}/global/healthChecks/{healthCheck}", "httpMethod": "PUT", "description": "Updates a HealthCheck resource in the specified project using the data included in the request.", "parameters": { @@ -32846,7 +33520,7 @@ "methods": { "delete": { "id": "compute.httpHealthChecks.delete", - "path": "{project}/global/httpHealthChecks/{httpHealthCheck}", + "path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", "httpMethod": "DELETE", "description": "Deletes the specified HttpHealthCheck resource.", "parameters": { @@ -32884,7 +33558,7 @@ }, "get": { "id": "compute.httpHealthChecks.get", - "path": "{project}/global/httpHealthChecks/{httpHealthCheck}", + "path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", "httpMethod": "GET", "description": "Returns the specified HttpHealthCheck resource. Gets a list of available HTTP health checks by making a list() request.", "parameters": { @@ -32918,7 +33592,7 @@ }, "insert": { "id": "compute.httpHealthChecks.insert", - "path": "{project}/global/httpHealthChecks", + "path": "projects/{project}/global/httpHealthChecks", "httpMethod": "POST", "description": "Creates a HttpHealthCheck resource in the specified project using the data included in the request.", "parameters": { @@ -32951,7 +33625,7 @@ }, "list": { "id": "compute.httpHealthChecks.list", - "path": "{project}/global/httpHealthChecks", + "path": "projects/{project}/global/httpHealthChecks", "httpMethod": "GET", "description": "Retrieves the list of HttpHealthCheck resources available to the specified project.", "parameters": { @@ -33005,7 +33679,7 @@ }, "patch": { "id": "compute.httpHealthChecks.patch", - "path": "{project}/global/httpHealthChecks/{httpHealthCheck}", + "path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", "httpMethod": "PATCH", "description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -33046,7 +33720,7 @@ }, "update": { "id": "compute.httpHealthChecks.update", - "path": "{project}/global/httpHealthChecks/{httpHealthCheck}", + "path": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", "httpMethod": "PUT", "description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request.", "parameters": { @@ -33091,7 +33765,7 @@ "methods": { "delete": { "id": "compute.httpsHealthChecks.delete", - "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", + "path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", "httpMethod": "DELETE", "description": "Deletes the specified HttpsHealthCheck resource.", "parameters": { @@ -33129,7 +33803,7 @@ }, "get": { "id": "compute.httpsHealthChecks.get", - "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", + "path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", "httpMethod": "GET", "description": "Returns the specified HttpsHealthCheck resource. Gets a list of available HTTPS health checks by making a list() request.", "parameters": { @@ -33163,7 +33837,7 @@ }, "insert": { "id": "compute.httpsHealthChecks.insert", - "path": "{project}/global/httpsHealthChecks", + "path": "projects/{project}/global/httpsHealthChecks", "httpMethod": "POST", "description": "Creates a HttpsHealthCheck resource in the specified project using the data included in the request.", "parameters": { @@ -33196,7 +33870,7 @@ }, "list": { "id": "compute.httpsHealthChecks.list", - "path": "{project}/global/httpsHealthChecks", + "path": "projects/{project}/global/httpsHealthChecks", "httpMethod": "GET", "description": "Retrieves the list of HttpsHealthCheck resources available to the specified project.", "parameters": { @@ -33250,7 +33924,7 @@ }, "patch": { "id": "compute.httpsHealthChecks.patch", - "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", + "path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", "httpMethod": "PATCH", "description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -33291,7 +33965,7 @@ }, "update": { "id": "compute.httpsHealthChecks.update", - "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", + "path": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", "httpMethod": "PUT", "description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request.", "parameters": { @@ -33336,7 +34010,7 @@ "methods": { "delete": { "id": "compute.images.delete", - "path": "{project}/global/images/{image}", + "path": "projects/{project}/global/images/{image}", "httpMethod": "DELETE", "description": "Deletes the specified image.", "parameters": { @@ -33374,7 +34048,7 @@ }, "deprecate": { "id": "compute.images.deprecate", - "path": "{project}/global/images/{image}/deprecate", + "path": "projects/{project}/global/images/{image}/deprecate", "httpMethod": "POST", "description": "Sets the deprecation status of an image.\n\nIf an empty request body is given, clears the deprecation status instead.", "parameters": { @@ -33415,7 +34089,7 @@ }, "get": { "id": "compute.images.get", - "path": "{project}/global/images/{image}", + "path": "projects/{project}/global/images/{image}", "httpMethod": "GET", "description": "Returns the specified image. Gets a list of available images by making a list() request.", "parameters": { @@ -33449,7 +34123,7 @@ }, "getFromFamily": { "id": "compute.images.getFromFamily", - "path": "{project}/global/images/family/{family}", + "path": "projects/{project}/global/images/family/{family}", "httpMethod": "GET", "description": "Returns the latest image that is part of an image family and is not deprecated.", "parameters": { @@ -33483,7 +34157,7 @@ }, "getIamPolicy": { "id": "compute.images.getIamPolicy", - "path": "{project}/global/images/{resource}/getIamPolicy", + "path": "projects/{project}/global/images/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -33523,7 +34197,7 @@ }, "insert": { "id": "compute.images.insert", - "path": "{project}/global/images", + "path": "projects/{project}/global/images", "httpMethod": "POST", "description": "Creates an image in the specified project using the data included in the request.", "parameters": { @@ -33564,7 +34238,7 @@ }, "list": { "id": "compute.images.list", - "path": "{project}/global/images", + "path": "projects/{project}/global/images", "httpMethod": "GET", "description": "Retrieves the list of custom images available to the specified project. Custom images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 8. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud.", "parameters": { @@ -33618,7 +34292,7 @@ }, "patch": { "id": "compute.images.patch", - "path": "{project}/global/images/{image}", + "path": "projects/{project}/global/images/{image}", "httpMethod": "PATCH", "description": "Patches the specified image with the data included in the request. Only the following fields can be modified: family, description, deprecation status.", "parameters": { @@ -33659,7 +34333,7 @@ }, "setIamPolicy": { "id": "compute.images.setIamPolicy", - "path": "{project}/global/images/{resource}/setIamPolicy", + "path": "projects/{project}/global/images/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -33695,7 +34369,7 @@ }, "setLabels": { "id": "compute.images.setLabels", - "path": "{project}/global/images/{resource}/setLabels", + "path": "projects/{project}/global/images/{resource}/setLabels", "httpMethod": "POST", "description": "Sets the labels on an image. To learn more about labels, read the Labeling Resources documentation.", "parameters": { @@ -33731,7 +34405,7 @@ }, "testIamPermissions": { "id": "compute.images.testIamPermissions", - "path": "{project}/global/images/{resource}/testIamPermissions", + "path": "projects/{project}/global/images/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -33772,7 +34446,7 @@ "methods": { "abandonInstances": { "id": "compute.instanceGroupManagers.abandonInstances", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", "httpMethod": "POST", "description": "Flags the specified instances to be removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.", "parameters": { @@ -33819,7 +34493,7 @@ }, "aggregatedList": { "id": "compute.instanceGroupManagers.aggregatedList", - "path": "{project}/aggregated/instanceGroupManagers", + "path": "projects/{project}/aggregated/instanceGroupManagers", "httpMethod": "GET", "description": "Retrieves the list of managed instance groups and groups them by zone.", "parameters": { @@ -33878,7 +34552,7 @@ }, "applyUpdatesToInstances": { "id": "compute.instanceGroupManagers.applyUpdatesToInstances", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", "httpMethod": "POST", "description": "Applies changes to selected instances on the managed instance group. This method can be used to apply new overrides and/or new versions.", "parameters": { @@ -33920,7 +34594,7 @@ }, "createInstances": { "id": "compute.instanceGroupManagers.createInstances", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances", "httpMethod": "POST", "description": "Creates instances with per-instance configs in this managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.", "parameters": { @@ -33967,7 +34641,7 @@ }, "delete": { "id": "compute.instanceGroupManagers.delete", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "DELETE", "description": "Deletes the specified managed instance group and all of the instances in that group. Note that the instance group must not belong to a backend service. Read Deleting an instance group for more information.", "parameters": { @@ -34011,7 +34685,7 @@ }, "deleteInstances": { "id": "compute.instanceGroupManagers.deleteInstances", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", "httpMethod": "POST", "description": "Flags the specified instances in the managed instance group for immediate deletion. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.", "parameters": { @@ -34058,7 +34732,7 @@ }, "deletePerInstanceConfigs": { "id": "compute.instanceGroupManagers.deletePerInstanceConfigs", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", "httpMethod": "POST", "description": "Deletes selected per-instance configs for the managed instance group.", "parameters": { @@ -34100,7 +34774,7 @@ }, "get": { "id": "compute.instanceGroupManagers.get", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "GET", "description": "Returns all of the details about the specified managed instance group. Gets a list of available managed instance groups by making a list() request.", "parameters": { @@ -34140,7 +34814,7 @@ }, "insert": { "id": "compute.instanceGroupManagers.insert", - "path": "{project}/zones/{zone}/instanceGroupManagers", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers", "httpMethod": "POST", "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.\n\nA managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.", "parameters": { @@ -34180,7 +34854,7 @@ }, "list": { "id": "compute.instanceGroupManagers.list", - "path": "{project}/zones/{zone}/instanceGroupManagers", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers", "httpMethod": "GET", "description": "Retrieves a list of managed instance groups that are contained within the specified project and zone.", "parameters": { @@ -34241,7 +34915,7 @@ }, "listErrors": { "id": "compute.instanceGroupManagers.listErrors", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors", "httpMethod": "GET", "description": "Lists all errors thrown by actions on instances for a given managed instance group. The filter and orderBy query parameters are not supported.", "parameters": { @@ -34309,7 +34983,7 @@ }, "listManagedInstances": { "id": "compute.instanceGroupManagers.listManagedInstances", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "httpMethod": "POST", "description": "Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action. The orderBy query parameter is not supported.", "parameters": { @@ -34377,7 +35051,7 @@ }, "listPerInstanceConfigs": { "id": "compute.instanceGroupManagers.listPerInstanceConfigs", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", "httpMethod": "POST", "description": "Lists all of the per-instance configs defined for the managed instance group. The orderBy query parameter is not supported.", "parameters": { @@ -34445,7 +35119,7 @@ }, "patch": { "id": "compute.instanceGroupManagers.patch", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "PATCH", "description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listManagedInstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -34492,7 +35166,7 @@ }, "patchPerInstanceConfigs": { "id": "compute.instanceGroupManagers.patchPerInstanceConfigs", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", "httpMethod": "POST", "description": "Inserts or patches per-instance configs for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", "parameters": { @@ -34539,7 +35213,7 @@ }, "recreateInstances": { "id": "compute.instanceGroupManagers.recreateInstances", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", "httpMethod": "POST", "description": "Flags the specified instances in the managed instance group to be immediately recreated. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.", "parameters": { @@ -34586,7 +35260,7 @@ }, "resize": { "id": "compute.instanceGroupManagers.resize", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize", "httpMethod": "POST", "description": "Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.\n\nWhen resizing down, the instance group arbitrarily chooses the order in which VMs are deleted. The group takes into account some VM attributes when making the selection including:\n\n+ The status of the VM instance. + The health of the VM instance. + The instance template version the VM is based on. + For regional managed instance groups, the location of the VM instance.\n\nThis list is subject to change.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", "parameters": { @@ -34638,9 +35312,9 @@ }, "setInstanceTemplate": { "id": "compute.instanceGroupManagers.setInstanceTemplate", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", "httpMethod": "POST", - "description": "Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you recreate them.", + "description": "Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", "parameters": { "instanceGroupManager": { "type": "string", @@ -34685,7 +35359,7 @@ }, "setTargetPools": { "id": "compute.instanceGroupManagers.setTargetPools", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", "httpMethod": "POST", "description": "Modifies the target pools to which all instances in this managed instance group are assigned. The target pools automatically apply to all of the instances in the managed instance group. This operation is marked DONE when you make the request even if the instances have not yet been added to their target pools. The change might take some time to apply to all of the instances in the group depending on the size of the group.", "parameters": { @@ -34732,7 +35406,7 @@ }, "updatePerInstanceConfigs": { "id": "compute.instanceGroupManagers.updatePerInstanceConfigs", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", "httpMethod": "POST", "description": "Inserts or updates per-instance configs for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", "parameters": { @@ -34783,7 +35457,7 @@ "methods": { "addInstances": { "id": "compute.instanceGroups.addInstances", - "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances", + "path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances", "httpMethod": "POST", "description": "Adds a list of instances to the specified instance group. All of the instances in the instance group must be in the same network/subnetwork. Read Adding instances for more information.", "parameters": { @@ -34830,7 +35504,7 @@ }, "aggregatedList": { "id": "compute.instanceGroups.aggregatedList", - "path": "{project}/aggregated/instanceGroups", + "path": "projects/{project}/aggregated/instanceGroups", "httpMethod": "GET", "description": "Retrieves the list of instance groups and sorts them by zone.", "parameters": { @@ -34889,7 +35563,7 @@ }, "delete": { "id": "compute.instanceGroups.delete", - "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}", + "path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", "httpMethod": "DELETE", "description": "Deletes the specified instance group. The instances in the group are not deleted. Note that instance group must not belong to a backend service. Read Deleting an instance group for more information.", "parameters": { @@ -34933,7 +35607,7 @@ }, "get": { "id": "compute.instanceGroups.get", - "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}", + "path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}", "httpMethod": "GET", "description": "Returns the specified zonal instance group. Get a list of available zonal instance groups by making a list() request.\n\nFor managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", "parameters": { @@ -34973,7 +35647,7 @@ }, "insert": { "id": "compute.instanceGroups.insert", - "path": "{project}/zones/{zone}/instanceGroups", + "path": "projects/{project}/zones/{zone}/instanceGroups", "httpMethod": "POST", "description": "Creates an instance group in the specified project using the parameters that are included in the request.", "parameters": { @@ -35013,7 +35687,7 @@ }, "list": { "id": "compute.instanceGroups.list", - "path": "{project}/zones/{zone}/instanceGroups", + "path": "projects/{project}/zones/{zone}/instanceGroups", "httpMethod": "GET", "description": "Retrieves the list of zonal instance group resources contained within the specified zone.\n\nFor managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", "parameters": { @@ -35074,7 +35748,7 @@ }, "listInstances": { "id": "compute.instanceGroups.listInstances", - "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", + "path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", "httpMethod": "POST", "description": "Lists the instances in the specified instance group. The orderBy query parameter is not supported.", "parameters": { @@ -35145,7 +35819,7 @@ }, "removeInstances": { "id": "compute.instanceGroups.removeInstances", - "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances", + "path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances", "httpMethod": "POST", "description": "Removes one or more instances from the specified instance group, but does not delete those instances.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration before the VM instance is removed or deleted.", "parameters": { @@ -35192,7 +35866,7 @@ }, "setNamedPorts": { "id": "compute.instanceGroups.setNamedPorts", - "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts", + "path": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts", "httpMethod": "POST", "description": "Sets the named ports for the specified instance group.", "parameters": { @@ -35243,7 +35917,7 @@ "methods": { "delete": { "id": "compute.instanceTemplates.delete", - "path": "{project}/global/instanceTemplates/{instanceTemplate}", + "path": "projects/{project}/global/instanceTemplates/{instanceTemplate}", "httpMethod": "DELETE", "description": "Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone. It is not possible to delete templates that are already in use by a managed instance group.", "parameters": { @@ -35281,7 +35955,7 @@ }, "get": { "id": "compute.instanceTemplates.get", - "path": "{project}/global/instanceTemplates/{instanceTemplate}", + "path": "projects/{project}/global/instanceTemplates/{instanceTemplate}", "httpMethod": "GET", "description": "Returns the specified instance template. Gets a list of available instance templates by making a list() request.", "parameters": { @@ -35315,7 +35989,7 @@ }, "getIamPolicy": { "id": "compute.instanceTemplates.getIamPolicy", - "path": "{project}/global/instanceTemplates/{resource}/getIamPolicy", + "path": "projects/{project}/global/instanceTemplates/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -35355,7 +36029,7 @@ }, "insert": { "id": "compute.instanceTemplates.insert", - "path": "{project}/global/instanceTemplates", + "path": "projects/{project}/global/instanceTemplates", "httpMethod": "POST", "description": "Creates an instance template in the specified project using the data that is included in the request. If you are creating a new template to update an existing instance group, your new instance template must use the same network or, if applicable, the same subnetwork as the original template.", "parameters": { @@ -35388,7 +36062,7 @@ }, "list": { "id": "compute.instanceTemplates.list", - "path": "{project}/global/instanceTemplates", + "path": "projects/{project}/global/instanceTemplates", "httpMethod": "GET", "description": "Retrieves a list of instance templates that are contained within the specified project.", "parameters": { @@ -35442,7 +36116,7 @@ }, "setIamPolicy": { "id": "compute.instanceTemplates.setIamPolicy", - "path": "{project}/global/instanceTemplates/{resource}/setIamPolicy", + "path": "projects/{project}/global/instanceTemplates/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -35478,7 +36152,7 @@ }, "testIamPermissions": { "id": "compute.instanceTemplates.testIamPermissions", - "path": "{project}/global/instanceTemplates/{resource}/testIamPermissions", + "path": "projects/{project}/global/instanceTemplates/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -35519,7 +36193,7 @@ "methods": { "addAccessConfig": { "id": "compute.instances.addAccessConfig", - "path": "{project}/zones/{zone}/instances/{instance}/addAccessConfig", + "path": "projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig", "httpMethod": "POST", "description": "Adds an access config to an instance's network interface.", "parameters": { @@ -35575,7 +36249,7 @@ }, "addResourcePolicies": { "id": "compute.instances.addResourcePolicies", - "path": "{project}/zones/{zone}/instances/{instance}/addResourcePolicies", + "path": "projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies", "httpMethod": "POST", "description": "Adds existing resource policies to an instance. You can only add one policy right now which will be applied to this instance for scheduling live migrations.", "parameters": { @@ -35624,7 +36298,7 @@ }, "aggregatedList": { "id": "compute.instances.aggregatedList", - "path": "{project}/aggregated/instances", + "path": "projects/{project}/aggregated/instances", "httpMethod": "GET", "description": "Retrieves aggregated list of all of the instances in your project across all regions and zones.", "parameters": { @@ -35683,7 +36357,7 @@ }, "attachDisk": { "id": "compute.instances.attachDisk", - "path": "{project}/zones/{zone}/instances/{instance}/attachDisk", + "path": "projects/{project}/zones/{zone}/instances/{instance}/attachDisk", "httpMethod": "POST", "description": "Attaches an existing Disk resource to an instance. You must first create the disk before you can attach it. It is not possible to create and attach a disk at the same time. For more information, read Adding a persistent disk to your instance.", "parameters": { @@ -35737,7 +36411,7 @@ }, "delete": { "id": "compute.instances.delete", - "path": "{project}/zones/{zone}/instances/{instance}", + "path": "projects/{project}/zones/{zone}/instances/{instance}", "httpMethod": "DELETE", "description": "Deletes the specified Instance resource. For more information, see Stopping or Deleting an Instance.", "parameters": { @@ -35783,7 +36457,7 @@ }, "deleteAccessConfig": { "id": "compute.instances.deleteAccessConfig", - "path": "{project}/zones/{zone}/instances/{instance}/deleteAccessConfig", + "path": "projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig", "httpMethod": "POST", "description": "Deletes an access config from an instance's network interface.", "parameters": { @@ -35843,7 +36517,7 @@ }, "detachDisk": { "id": "compute.instances.detachDisk", - "path": "{project}/zones/{zone}/instances/{instance}/detachDisk", + "path": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk", "httpMethod": "POST", "description": "Detaches a disk from an instance.", "parameters": { @@ -35896,7 +36570,7 @@ }, "get": { "id": "compute.instances.get", - "path": "{project}/zones/{zone}/instances/{instance}", + "path": "projects/{project}/zones/{zone}/instances/{instance}", "httpMethod": "GET", "description": "Returns the specified Instance resource. Gets a list of available instances by making a list() request.", "parameters": { @@ -35938,7 +36612,7 @@ }, "getGuestAttributes": { "id": "compute.instances.getGuestAttributes", - "path": "{project}/zones/{zone}/instances/{instance}/getGuestAttributes", + "path": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes", "httpMethod": "GET", "description": "Returns the specified guest attributes entry.", "parameters": { @@ -35990,7 +36664,7 @@ }, "getIamPolicy": { "id": "compute.instances.getIamPolicy", - "path": "{project}/zones/{zone}/instances/{resource}/getIamPolicy", + "path": "projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -36038,7 +36712,7 @@ }, "getScreenshot": { "id": "compute.instances.getScreenshot", - "path": "{project}/zones/{zone}/instances/{instance}/screenshot", + "path": "projects/{project}/zones/{zone}/instances/{instance}/screenshot", "httpMethod": "GET", "description": "Returns the screenshot from the specified instance.", "parameters": { @@ -36080,7 +36754,7 @@ }, "getSerialPortOutput": { "id": "compute.instances.getSerialPortOutput", - "path": "{project}/zones/{zone}/instances/{instance}/serialPort", + "path": "projects/{project}/zones/{zone}/instances/{instance}/serialPort", "httpMethod": "GET", "description": "Returns the last 1 MB of serial port output from the specified instance.", "parameters": { @@ -36137,7 +36811,7 @@ }, "getShieldedInstanceIdentity": { "id": "compute.instances.getShieldedInstanceIdentity", - "path": "{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity", + "path": "projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity", "httpMethod": "GET", "description": "Returns the Shielded Instance Identity of an instance", "parameters": { @@ -36179,7 +36853,7 @@ }, "insert": { "id": "compute.instances.insert", - "path": "{project}/zones/{zone}/instances", + "path": "projects/{project}/zones/{zone}/instances", "httpMethod": "POST", "description": "Creates an instance resource in the specified project using the data included in the request.", "parameters": { @@ -36225,7 +36899,7 @@ }, "list": { "id": "compute.instances.list", - "path": "{project}/zones/{zone}/instances", + "path": "projects/{project}/zones/{zone}/instances", "httpMethod": "GET", "description": "Retrieves the list of instances contained within the specified zone.", "parameters": { @@ -36287,7 +36961,7 @@ }, "listReferrers": { "id": "compute.instances.listReferrers", - "path": "{project}/zones/{zone}/instances/{instance}/referrers", + "path": "projects/{project}/zones/{zone}/instances/{instance}/referrers", "httpMethod": "GET", "description": "Retrieves a list of resources that refer to the VM instance specified in the request. For example, if the VM instance is part of a managed or unmanaged instance group, the referrers list includes the instance group. For more information, read Viewing referrers to VM instances.", "parameters": { @@ -36357,7 +37031,7 @@ }, "removeResourcePolicies": { "id": "compute.instances.removeResourcePolicies", - "path": "{project}/zones/{zone}/instances/{instance}/removeResourcePolicies", + "path": "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies", "httpMethod": "POST", "description": "Removes resource policies from an instance.", "parameters": { @@ -36406,7 +37080,7 @@ }, "reset": { "id": "compute.instances.reset", - "path": "{project}/zones/{zone}/instances/{instance}/reset", + "path": "projects/{project}/zones/{zone}/instances/{instance}/reset", "httpMethod": "POST", "description": "Performs a reset on the instance. This is a hard reset the VM does not do a graceful shutdown. For more information, see Resetting an instance.", "parameters": { @@ -36452,7 +37126,7 @@ }, "setDeletionProtection": { "id": "compute.instances.setDeletionProtection", - "path": "{project}/zones/{zone}/instances/{resource}/setDeletionProtection", + "path": "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection", "httpMethod": "POST", "description": "Sets deletion protection on the instance.", "parameters": { @@ -36504,7 +37178,7 @@ }, "setDiskAutoDelete": { "id": "compute.instances.setDiskAutoDelete", - "path": "{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete", + "path": "projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete", "httpMethod": "POST", "description": "Sets the auto-delete flag for a disk attached to an instance.", "parameters": { @@ -36565,7 +37239,7 @@ }, "setIamPolicy": { "id": "compute.instances.setIamPolicy", - "path": "{project}/zones/{zone}/instances/{resource}/setIamPolicy", + "path": "projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -36609,7 +37283,7 @@ }, "setLabels": { "id": "compute.instances.setLabels", - "path": "{project}/zones/{zone}/instances/{instance}/setLabels", + "path": "projects/{project}/zones/{zone}/instances/{instance}/setLabels", "httpMethod": "POST", "description": "Sets labels on an instance. To learn more about labels, read the Labeling Resources documentation.", "parameters": { @@ -36658,7 +37332,7 @@ }, "setMachineResources": { "id": "compute.instances.setMachineResources", - "path": "{project}/zones/{zone}/instances/{instance}/setMachineResources", + "path": "projects/{project}/zones/{zone}/instances/{instance}/setMachineResources", "httpMethod": "POST", "description": "Changes the number and/or type of accelerator for a stopped instance to the values specified in the request.", "parameters": { @@ -36707,7 +37381,7 @@ }, "setMachineType": { "id": "compute.instances.setMachineType", - "path": "{project}/zones/{zone}/instances/{instance}/setMachineType", + "path": "projects/{project}/zones/{zone}/instances/{instance}/setMachineType", "httpMethod": "POST", "description": "Changes the machine type for a stopped instance to the machine type specified in the request.", "parameters": { @@ -36756,7 +37430,7 @@ }, "setMetadata": { "id": "compute.instances.setMetadata", - "path": "{project}/zones/{zone}/instances/{instance}/setMetadata", + "path": "projects/{project}/zones/{zone}/instances/{instance}/setMetadata", "httpMethod": "POST", "description": "Sets metadata for the specified instance to the data included in the request.", "parameters": { @@ -36805,7 +37479,7 @@ }, "setMinCpuPlatform": { "id": "compute.instances.setMinCpuPlatform", - "path": "{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform", + "path": "projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform", "httpMethod": "POST", "description": "Changes the minimum CPU platform that this instance should use. This method can only be called on a stopped instance. For more information, read Specifying a Minimum CPU Platform.", "parameters": { @@ -36854,7 +37528,7 @@ }, "setScheduling": { "id": "compute.instances.setScheduling", - "path": "{project}/zones/{zone}/instances/{instance}/setScheduling", + "path": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling", "httpMethod": "POST", "description": "Sets an instance's scheduling options. You can only call this method on a stopped instance, that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.", "parameters": { @@ -36903,7 +37577,7 @@ }, "setServiceAccount": { "id": "compute.instances.setServiceAccount", - "path": "{project}/zones/{zone}/instances/{instance}/setServiceAccount", + "path": "projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount", "httpMethod": "POST", "description": "Sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance.", "parameters": { @@ -36952,7 +37626,7 @@ }, "setShieldedInstanceIntegrityPolicy": { "id": "compute.instances.setShieldedInstanceIntegrityPolicy", - "path": "{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy", + "path": "projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy", "httpMethod": "PATCH", "description": "Sets the Shielded Instance integrity policy for an instance. You can only use this method on a running instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -37001,7 +37675,7 @@ }, "setTags": { "id": "compute.instances.setTags", - "path": "{project}/zones/{zone}/instances/{instance}/setTags", + "path": "projects/{project}/zones/{zone}/instances/{instance}/setTags", "httpMethod": "POST", "description": "Sets network tags for the specified instance to the data included in the request.", "parameters": { @@ -37050,7 +37724,7 @@ }, "simulateMaintenanceEvent": { "id": "compute.instances.simulateMaintenanceEvent", - "path": "{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent", + "path": "projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent", "httpMethod": "POST", "description": "Simulates a maintenance event on the instance.", "parameters": { @@ -37091,7 +37765,7 @@ }, "start": { "id": "compute.instances.start", - "path": "{project}/zones/{zone}/instances/{instance}/start", + "path": "projects/{project}/zones/{zone}/instances/{instance}/start", "httpMethod": "POST", "description": "Starts an instance that was stopped using the instances().stop method. For more information, see Restart an instance.", "parameters": { @@ -37137,7 +37811,7 @@ }, "startWithEncryptionKey": { "id": "compute.instances.startWithEncryptionKey", - "path": "{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey", + "path": "projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey", "httpMethod": "POST", "description": "Starts an instance that was stopped using the instances().stop method. For more information, see Restart an instance.", "parameters": { @@ -37186,7 +37860,7 @@ }, "stop": { "id": "compute.instances.stop", - "path": "{project}/zones/{zone}/instances/{instance}/stop", + "path": "projects/{project}/zones/{zone}/instances/{instance}/stop", "httpMethod": "POST", "description": "Stops a running instance, shutting it down cleanly, and allows you to restart the instance at a later time. Stopped instances do not incur VM usage charges while they are stopped. However, resources that the VM is using, such as persistent disks and static IP addresses, will continue to be charged until they are deleted. For more information, see Stopping an instance.", "parameters": { @@ -37232,7 +37906,7 @@ }, "testIamPermissions": { "id": "compute.instances.testIamPermissions", - "path": "{project}/zones/{zone}/instances/{resource}/testIamPermissions", + "path": "projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -37277,7 +37951,7 @@ }, "update": { "id": "compute.instances.update", - "path": "{project}/zones/{zone}/instances/{instance}", + "path": "projects/{project}/zones/{zone}/instances/{instance}", "httpMethod": "PUT", "description": "Updates an instance only if the necessary resources are available. This method can update only a specific set of instance properties. See Updating a running instance for a list of updatable instance properties.", "parameters": { @@ -37360,7 +38034,7 @@ }, "updateAccessConfig": { "id": "compute.instances.updateAccessConfig", - "path": "{project}/zones/{zone}/instances/{instance}/updateAccessConfig", + "path": "projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig", "httpMethod": "POST", "description": "Updates the specified access config from an instance's network interface with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -37416,7 +38090,7 @@ }, "updateDisplayDevice": { "id": "compute.instances.updateDisplayDevice", - "path": "{project}/zones/{zone}/instances/{instance}/updateDisplayDevice", + "path": "projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice", "httpMethod": "PATCH", "description": "Updates the Display config for a VM instance. You can only use this method on a stopped VM instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -37465,7 +38139,7 @@ }, "updateNetworkInterface": { "id": "compute.instances.updateNetworkInterface", - "path": "{project}/zones/{zone}/instances/{instance}/updateNetworkInterface", + "path": "projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface", "httpMethod": "PATCH", "description": "Updates an instance's network interface. This method follows PATCH semantics.", "parameters": { @@ -37521,7 +38195,7 @@ }, "updateShieldedInstanceConfig": { "id": "compute.instances.updateShieldedInstanceConfig", - "path": "{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig", + "path": "projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig", "httpMethod": "PATCH", "description": "Updates the Shielded Instance config for an instance. You can only use this method on a stopped instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -37574,7 +38248,7 @@ "methods": { "aggregatedList": { "id": "compute.interconnectAttachments.aggregatedList", - "path": "{project}/aggregated/interconnectAttachments", + "path": "projects/{project}/aggregated/interconnectAttachments", "httpMethod": "GET", "description": "Retrieves an aggregated list of interconnect attachments.", "parameters": { @@ -37633,7 +38307,7 @@ }, "delete": { "id": "compute.interconnectAttachments.delete", - "path": "{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + "path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "httpMethod": "DELETE", "description": "Deletes the specified interconnect attachment.", "parameters": { @@ -37679,7 +38353,7 @@ }, "get": { "id": "compute.interconnectAttachments.get", - "path": "{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + "path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "httpMethod": "GET", "description": "Returns the specified interconnect attachment.", "parameters": { @@ -37721,7 +38395,7 @@ }, "insert": { "id": "compute.interconnectAttachments.insert", - "path": "{project}/regions/{region}/interconnectAttachments", + "path": "projects/{project}/regions/{region}/interconnectAttachments", "httpMethod": "POST", "description": "Creates an InterconnectAttachment in the specified project using the data included in the request.", "parameters": { @@ -37767,7 +38441,7 @@ }, "list": { "id": "compute.interconnectAttachments.list", - "path": "{project}/regions/{region}/interconnectAttachments", + "path": "projects/{project}/regions/{region}/interconnectAttachments", "httpMethod": "GET", "description": "Retrieves the list of interconnect attachments contained within the specified region.", "parameters": { @@ -37829,7 +38503,7 @@ }, "patch": { "id": "compute.interconnectAttachments.patch", - "path": "{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + "path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "httpMethod": "PATCH", "description": "Updates the specified interconnect attachment with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -37882,7 +38556,7 @@ "methods": { "get": { "id": "compute.interconnectLocations.get", - "path": "{project}/global/interconnectLocations/{interconnectLocation}", + "path": "projects/{project}/global/interconnectLocations/{interconnectLocation}", "httpMethod": "GET", "description": "Returns the details for the specified interconnect location. Gets a list of available interconnect locations by making a list() request.", "parameters": { @@ -37916,7 +38590,7 @@ }, "list": { "id": "compute.interconnectLocations.list", - "path": "{project}/global/interconnectLocations", + "path": "projects/{project}/global/interconnectLocations", "httpMethod": "GET", "description": "Retrieves the list of interconnect locations available to the specified project.", "parameters": { @@ -37974,7 +38648,7 @@ "methods": { "delete": { "id": "compute.interconnects.delete", - "path": "{project}/global/interconnects/{interconnect}", + "path": "projects/{project}/global/interconnects/{interconnect}", "httpMethod": "DELETE", "description": "Deletes the specified interconnect.", "parameters": { @@ -38012,7 +38686,7 @@ }, "get": { "id": "compute.interconnects.get", - "path": "{project}/global/interconnects/{interconnect}", + "path": "projects/{project}/global/interconnects/{interconnect}", "httpMethod": "GET", "description": "Returns the specified interconnect. Get a list of available interconnects by making a list() request.", "parameters": { @@ -38046,7 +38720,7 @@ }, "getDiagnostics": { "id": "compute.interconnects.getDiagnostics", - "path": "{project}/global/interconnects/{interconnect}/getDiagnostics", + "path": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", "httpMethod": "GET", "description": "Returns the interconnectDiagnostics for the specified interconnect.", "parameters": { @@ -38080,7 +38754,7 @@ }, "insert": { "id": "compute.interconnects.insert", - "path": "{project}/global/interconnects", + "path": "projects/{project}/global/interconnects", "httpMethod": "POST", "description": "Creates a Interconnect in the specified project using the data included in the request.", "parameters": { @@ -38113,7 +38787,7 @@ }, "list": { "id": "compute.interconnects.list", - "path": "{project}/global/interconnects", + "path": "projects/{project}/global/interconnects", "httpMethod": "GET", "description": "Retrieves the list of interconnect available to the specified project.", "parameters": { @@ -38167,7 +38841,7 @@ }, "patch": { "id": "compute.interconnects.patch", - "path": "{project}/global/interconnects/{interconnect}", + "path": "projects/{project}/global/interconnects/{interconnect}", "httpMethod": "PATCH", "description": "Updates the specified interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -38212,7 +38886,7 @@ "methods": { "get": { "id": "compute.licenseCodes.get", - "path": "{project}/global/licenseCodes/{licenseCode}", + "path": "projects/{project}/global/licenseCodes/{licenseCode}", "httpMethod": "GET", "description": "Return a specified license code. License codes are mirrored across all projects that have permissions to read the License Code. Caution This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.", "parameters": { @@ -38246,7 +38920,7 @@ }, "testIamPermissions": { "id": "compute.licenseCodes.testIamPermissions", - "path": "{project}/global/licenseCodes/{resource}/testIamPermissions", + "path": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource. Caution This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.", "parameters": { @@ -38287,7 +38961,7 @@ "methods": { "delete": { "id": "compute.licenses.delete", - "path": "{project}/global/licenses/{license}", + "path": "projects/{project}/global/licenses/{license}", "httpMethod": "DELETE", "description": "Deletes the specified license. Caution This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.", "parameters": { @@ -38325,7 +38999,7 @@ }, "get": { "id": "compute.licenses.get", - "path": "{project}/global/licenses/{license}", + "path": "projects/{project}/global/licenses/{license}", "httpMethod": "GET", "description": "Returns the specified License resource. Caution This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.", "parameters": { @@ -38359,7 +39033,7 @@ }, "getIamPolicy": { "id": "compute.licenses.getIamPolicy", - "path": "{project}/global/licenses/{resource}/getIamPolicy", + "path": "projects/{project}/global/licenses/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists. Caution This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.", "parameters": { @@ -38399,7 +39073,7 @@ }, "insert": { "id": "compute.licenses.insert", - "path": "{project}/global/licenses", + "path": "projects/{project}/global/licenses", "httpMethod": "POST", "description": "Create a License resource in the specified project. Caution This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.", "parameters": { @@ -38435,7 +39109,7 @@ }, "list": { "id": "compute.licenses.list", - "path": "{project}/global/licenses", + "path": "projects/{project}/global/licenses", "httpMethod": "GET", "description": "Retrieves the list of licenses available in the specified project. This method does not get any licenses that belong to other projects, including licenses attached to publicly-available images, like Debian 9. If you want to get a list of publicly-available licenses, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud. Caution This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.", "parameters": { @@ -38489,7 +39163,7 @@ }, "setIamPolicy": { "id": "compute.licenses.setIamPolicy", - "path": "{project}/global/licenses/{resource}/setIamPolicy", + "path": "projects/{project}/global/licenses/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Caution This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.", "parameters": { @@ -38525,7 +39199,7 @@ }, "testIamPermissions": { "id": "compute.licenses.testIamPermissions", - "path": "{project}/global/licenses/{resource}/testIamPermissions", + "path": "projects/{project}/global/licenses/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource. Caution This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.", "parameters": { @@ -38566,7 +39240,7 @@ "methods": { "aggregatedList": { "id": "compute.machineTypes.aggregatedList", - "path": "{project}/aggregated/machineTypes", + "path": "projects/{project}/aggregated/machineTypes", "httpMethod": "GET", "description": "Retrieves an aggregated list of machine types.", "parameters": { @@ -38625,7 +39299,7 @@ }, "get": { "id": "compute.machineTypes.get", - "path": "{project}/zones/{zone}/machineTypes/{machineType}", + "path": "projects/{project}/zones/{zone}/machineTypes/{machineType}", "httpMethod": "GET", "description": "Returns the specified machine type. Gets a list of available machine types by making a list() request.", "parameters": { @@ -38667,7 +39341,7 @@ }, "list": { "id": "compute.machineTypes.list", - "path": "{project}/zones/{zone}/machineTypes", + "path": "projects/{project}/zones/{zone}/machineTypes", "httpMethod": "GET", "description": "Retrieves a list of machine types available to the specified project.", "parameters": { @@ -38733,7 +39407,7 @@ "methods": { "aggregatedList": { "id": "compute.networkEndpointGroups.aggregatedList", - "path": "{project}/aggregated/networkEndpointGroups", + "path": "projects/{project}/aggregated/networkEndpointGroups", "httpMethod": "GET", "description": "Retrieves the list of network endpoint groups and sorts them by zone.", "parameters": { @@ -38792,7 +39466,7 @@ }, "attachNetworkEndpoints": { "id": "compute.networkEndpointGroups.attachNetworkEndpoints", - "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", "httpMethod": "POST", "description": "Attach a list of network endpoints to the specified network endpoint group.", "parameters": { @@ -38839,7 +39513,7 @@ }, "delete": { "id": "compute.networkEndpointGroups.delete", - "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "DELETE", "description": "Deletes the specified network endpoint group. The network endpoints in the NEG and the VM instances they belong to are not terminated when the NEG is deleted. Note that the NEG cannot be deleted if there are backend services referencing it.", "parameters": { @@ -38883,7 +39557,7 @@ }, "detachNetworkEndpoints": { "id": "compute.networkEndpointGroups.detachNetworkEndpoints", - "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", "httpMethod": "POST", "description": "Detach a list of network endpoints from the specified network endpoint group.", "parameters": { @@ -38930,7 +39604,7 @@ }, "get": { "id": "compute.networkEndpointGroups.get", - "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", "parameters": { @@ -38970,7 +39644,7 @@ }, "insert": { "id": "compute.networkEndpointGroups.insert", - "path": "{project}/zones/{zone}/networkEndpointGroups", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups", "httpMethod": "POST", "description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", "parameters": { @@ -39010,7 +39684,7 @@ }, "list": { "id": "compute.networkEndpointGroups.list", - "path": "{project}/zones/{zone}/networkEndpointGroups", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups", "httpMethod": "GET", "description": "Retrieves the list of network endpoint groups that are located in the specified project and zone.", "parameters": { @@ -39071,7 +39745,7 @@ }, "listNetworkEndpoints": { "id": "compute.networkEndpointGroups.listNetworkEndpoints", - "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", "httpMethod": "POST", "description": "Lists the network endpoints in the specified network endpoint group.", "parameters": { @@ -39142,7 +39816,7 @@ }, "testIamPermissions": { "id": "compute.networkEndpointGroups.testIamPermissions", - "path": "{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -39191,7 +39865,7 @@ "methods": { "addPeering": { "id": "compute.networks.addPeering", - "path": "{project}/global/networks/{network}/addPeering", + "path": "projects/{project}/global/networks/{network}/addPeering", "httpMethod": "POST", "description": "Adds a peering to the specified network.", "parameters": { @@ -39232,7 +39906,7 @@ }, "delete": { "id": "compute.networks.delete", - "path": "{project}/global/networks/{network}", + "path": "projects/{project}/global/networks/{network}", "httpMethod": "DELETE", "description": "Deletes the specified network.", "parameters": { @@ -39270,7 +39944,7 @@ }, "get": { "id": "compute.networks.get", - "path": "{project}/global/networks/{network}", + "path": "projects/{project}/global/networks/{network}", "httpMethod": "GET", "description": "Returns the specified network. Gets a list of available networks by making a list() request.", "parameters": { @@ -39304,7 +39978,7 @@ }, "insert": { "id": "compute.networks.insert", - "path": "{project}/global/networks", + "path": "projects/{project}/global/networks", "httpMethod": "POST", "description": "Creates a network in the specified project using the data included in the request.", "parameters": { @@ -39337,7 +40011,7 @@ }, "list": { "id": "compute.networks.list", - "path": "{project}/global/networks", + "path": "projects/{project}/global/networks", "httpMethod": "GET", "description": "Retrieves the list of networks available to the specified project.", "parameters": { @@ -39391,7 +40065,7 @@ }, "listPeeringRoutes": { "id": "compute.networks.listPeeringRoutes", - "path": "{project}/global/networks/{network}/listPeeringRoutes", + "path": "projects/{project}/global/networks/{network}/listPeeringRoutes", "httpMethod": "GET", "description": "Lists the peering routes exchanged over peering connection.", "parameters": { @@ -39476,7 +40150,7 @@ }, "patch": { "id": "compute.networks.patch", - "path": "{project}/global/networks/{network}", + "path": "projects/{project}/global/networks/{network}", "httpMethod": "PATCH", "description": "Patches the specified network with the data included in the request. Only the following fields can be modified: routingConfig.routingMode.", "parameters": { @@ -39517,7 +40191,7 @@ }, "removePeering": { "id": "compute.networks.removePeering", - "path": "{project}/global/networks/{network}/removePeering", + "path": "projects/{project}/global/networks/{network}/removePeering", "httpMethod": "POST", "description": "Removes a peering from the specified network.", "parameters": { @@ -39558,7 +40232,7 @@ }, "switchToCustomMode": { "id": "compute.networks.switchToCustomMode", - "path": "{project}/global/networks/{network}/switchToCustomMode", + "path": "projects/{project}/global/networks/{network}/switchToCustomMode", "httpMethod": "POST", "description": "Switches the network mode from auto subnet mode to custom subnet mode.", "parameters": { @@ -39596,7 +40270,7 @@ }, "updatePeering": { "id": "compute.networks.updatePeering", - "path": "{project}/global/networks/{network}/updatePeering", + "path": "projects/{project}/global/networks/{network}/updatePeering", "httpMethod": "PATCH", "description": "Updates the specified network peering with the data included in the request Only the following fields can be modified: NetworkPeering.export_custom_routes, and NetworkPeering.import_custom_routes", "parameters": { @@ -39641,7 +40315,7 @@ "methods": { "addNodes": { "id": "compute.nodeGroups.addNodes", - "path": "{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", "httpMethod": "POST", "description": "Adds specified number of nodes to the node group.", "parameters": { @@ -39690,7 +40364,7 @@ }, "aggregatedList": { "id": "compute.nodeGroups.aggregatedList", - "path": "{project}/aggregated/nodeGroups", + "path": "projects/{project}/aggregated/nodeGroups", "httpMethod": "GET", "description": "Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group.", "parameters": { @@ -39749,7 +40423,7 @@ }, "delete": { "id": "compute.nodeGroups.delete", - "path": "{project}/zones/{zone}/nodeGroups/{nodeGroup}", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "DELETE", "description": "Deletes the specified NodeGroup resource.", "parameters": { @@ -39795,7 +40469,7 @@ }, "deleteNodes": { "id": "compute.nodeGroups.deleteNodes", - "path": "{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", "httpMethod": "POST", "description": "Deletes specified nodes from the node group.", "parameters": { @@ -39844,7 +40518,7 @@ }, "get": { "id": "compute.nodeGroups.get", - "path": "{project}/zones/{zone}/nodeGroups/{nodeGroup}", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "GET", "description": "Returns the specified NodeGroup. Get a list of available NodeGroups by making a list() request. Note: the \"nodes\" field should not be used. Use nodeGroups.listNodes instead.", "parameters": { @@ -39886,7 +40560,7 @@ }, "getIamPolicy": { "id": "compute.nodeGroups.getIamPolicy", - "path": "{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", + "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -39934,7 +40608,7 @@ }, "insert": { "id": "compute.nodeGroups.insert", - "path": "{project}/zones/{zone}/nodeGroups", + "path": "projects/{project}/zones/{zone}/nodeGroups", "httpMethod": "POST", "description": "Creates a NodeGroup resource in the specified project using the data included in the request.", "parameters": { @@ -39983,7 +40657,7 @@ }, "list": { "id": "compute.nodeGroups.list", - "path": "{project}/zones/{zone}/nodeGroups", + "path": "projects/{project}/zones/{zone}/nodeGroups", "httpMethod": "GET", "description": "Retrieves a list of node groups available to the specified project. Note: use nodeGroups.listNodes for more details about each group.", "parameters": { @@ -40045,7 +40719,7 @@ }, "listNodes": { "id": "compute.nodeGroups.listNodes", - "path": "{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", "httpMethod": "POST", "description": "Lists nodes in the node group.", "parameters": { @@ -40115,7 +40789,7 @@ }, "patch": { "id": "compute.nodeGroups.patch", - "path": "{project}/zones/{zone}/nodeGroups/{nodeGroup}", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "PATCH", "description": "Updates the specified node group.", "parameters": { @@ -40164,7 +40838,7 @@ }, "setIamPolicy": { "id": "compute.nodeGroups.setIamPolicy", - "path": "{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", + "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -40208,7 +40882,7 @@ }, "setNodeTemplate": { "id": "compute.nodeGroups.setNodeTemplate", - "path": "{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", "httpMethod": "POST", "description": "Updates the node template of the node group.", "parameters": { @@ -40257,7 +40931,7 @@ }, "testIamPermissions": { "id": "compute.nodeGroups.testIamPermissions", - "path": "{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", + "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -40306,7 +40980,7 @@ "methods": { "aggregatedList": { "id": "compute.nodeTemplates.aggregatedList", - "path": "{project}/aggregated/nodeTemplates", + "path": "projects/{project}/aggregated/nodeTemplates", "httpMethod": "GET", "description": "Retrieves an aggregated list of node templates.", "parameters": { @@ -40365,7 +41039,7 @@ }, "delete": { "id": "compute.nodeTemplates.delete", - "path": "{project}/regions/{region}/nodeTemplates/{nodeTemplate}", + "path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", "httpMethod": "DELETE", "description": "Deletes the specified NodeTemplate resource.", "parameters": { @@ -40411,7 +41085,7 @@ }, "get": { "id": "compute.nodeTemplates.get", - "path": "{project}/regions/{region}/nodeTemplates/{nodeTemplate}", + "path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", "httpMethod": "GET", "description": "Returns the specified node template. Gets a list of available node templates by making a list() request.", "parameters": { @@ -40453,7 +41127,7 @@ }, "getIamPolicy": { "id": "compute.nodeTemplates.getIamPolicy", - "path": "{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -40501,7 +41175,7 @@ }, "insert": { "id": "compute.nodeTemplates.insert", - "path": "{project}/regions/{region}/nodeTemplates", + "path": "projects/{project}/regions/{region}/nodeTemplates", "httpMethod": "POST", "description": "Creates a NodeTemplate resource in the specified project using the data included in the request.", "parameters": { @@ -40542,7 +41216,7 @@ }, "list": { "id": "compute.nodeTemplates.list", - "path": "{project}/regions/{region}/nodeTemplates", + "path": "projects/{project}/regions/{region}/nodeTemplates", "httpMethod": "GET", "description": "Retrieves a list of node templates available to the specified project.", "parameters": { @@ -40604,7 +41278,7 @@ }, "setIamPolicy": { "id": "compute.nodeTemplates.setIamPolicy", - "path": "{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -40648,7 +41322,7 @@ }, "testIamPermissions": { "id": "compute.nodeTemplates.testIamPermissions", - "path": "{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -40697,7 +41371,7 @@ "methods": { "aggregatedList": { "id": "compute.nodeTypes.aggregatedList", - "path": "{project}/aggregated/nodeTypes", + "path": "projects/{project}/aggregated/nodeTypes", "httpMethod": "GET", "description": "Retrieves an aggregated list of node types.", "parameters": { @@ -40756,7 +41430,7 @@ }, "get": { "id": "compute.nodeTypes.get", - "path": "{project}/zones/{zone}/nodeTypes/{nodeType}", + "path": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", "httpMethod": "GET", "description": "Returns the specified node type. Gets a list of available node types by making a list() request.", "parameters": { @@ -40798,7 +41472,7 @@ }, "list": { "id": "compute.nodeTypes.list", - "path": "{project}/zones/{zone}/nodeTypes", + "path": "projects/{project}/zones/{zone}/nodeTypes", "httpMethod": "GET", "description": "Retrieves a list of node types available to the specified project.", "parameters": { @@ -40864,7 +41538,7 @@ "methods": { "aggregatedList": { "id": "compute.packetMirrorings.aggregatedList", - "path": "{project}/aggregated/packetMirrorings", + "path": "projects/{project}/aggregated/packetMirrorings", "httpMethod": "GET", "description": "Retrieves an aggregated list of packetMirrorings.", "parameters": { @@ -40923,7 +41597,7 @@ }, "delete": { "id": "compute.packetMirrorings.delete", - "path": "{project}/regions/{region}/packetMirrorings/{packetMirroring}", + "path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "httpMethod": "DELETE", "description": "Deletes the specified PacketMirroring resource.", "parameters": { @@ -40969,7 +41643,7 @@ }, "get": { "id": "compute.packetMirrorings.get", - "path": "{project}/regions/{region}/packetMirrorings/{packetMirroring}", + "path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "httpMethod": "GET", "description": "Returns the specified PacketMirroring resource.", "parameters": { @@ -41011,7 +41685,7 @@ }, "insert": { "id": "compute.packetMirrorings.insert", - "path": "{project}/regions/{region}/packetMirrorings", + "path": "projects/{project}/regions/{region}/packetMirrorings", "httpMethod": "POST", "description": "Creates a PacketMirroring resource in the specified project and region using the data included in the request.", "parameters": { @@ -41052,7 +41726,7 @@ }, "list": { "id": "compute.packetMirrorings.list", - "path": "{project}/regions/{region}/packetMirrorings", + "path": "projects/{project}/regions/{region}/packetMirrorings", "httpMethod": "GET", "description": "Retrieves a list of PacketMirroring resources available to the specified project and region.", "parameters": { @@ -41114,7 +41788,7 @@ }, "patch": { "id": "compute.packetMirrorings.patch", - "path": "{project}/regions/{region}/packetMirrorings/{packetMirroring}", + "path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "httpMethod": "PATCH", "description": "Patches the specified PacketMirroring resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", "parameters": { @@ -41163,7 +41837,7 @@ }, "testIamPermissions": { "id": "compute.packetMirrorings.testIamPermissions", - "path": "{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -41212,7 +41886,7 @@ "methods": { "disableXpnHost": { "id": "compute.projects.disableXpnHost", - "path": "{project}/disableXpnHost", + "path": "projects/{project}/disableXpnHost", "httpMethod": "POST", "description": "Disable this project as a shared VPC host project.", "parameters": { @@ -41242,7 +41916,7 @@ }, "disableXpnResource": { "id": "compute.projects.disableXpnResource", - "path": "{project}/disableXpnResource", + "path": "projects/{project}/disableXpnResource", "httpMethod": "POST", "description": "Disable a service resource (also known as service project) associated with this host project.", "parameters": { @@ -41275,7 +41949,7 @@ }, "enableXpnHost": { "id": "compute.projects.enableXpnHost", - "path": "{project}/enableXpnHost", + "path": "projects/{project}/enableXpnHost", "httpMethod": "POST", "description": "Enable this project as a shared VPC host project.", "parameters": { @@ -41305,7 +41979,7 @@ }, "enableXpnResource": { "id": "compute.projects.enableXpnResource", - "path": "{project}/enableXpnResource", + "path": "projects/{project}/enableXpnResource", "httpMethod": "POST", "description": "Enable service resource (a.k.a service project) for a host project, so that subnets in the host project can be used by instances in the service project.", "parameters": { @@ -41338,7 +42012,7 @@ }, "get": { "id": "compute.projects.get", - "path": "{project}", + "path": "projects/{project}", "httpMethod": "GET", "description": "Returns the specified Project resource.", "parameters": { @@ -41364,7 +42038,7 @@ }, "getXpnHost": { "id": "compute.projects.getXpnHost", - "path": "{project}/getXpnHost", + "path": "projects/{project}/getXpnHost", "httpMethod": "GET", "description": "Gets the shared VPC host project that this project links to. May be empty if no link exists.", "parameters": { @@ -41389,7 +42063,7 @@ }, "getXpnResources": { "id": "compute.projects.getXpnResources", - "path": "{project}/getXpnResources", + "path": "projects/{project}/getXpnResources", "httpMethod": "GET", "description": "Gets service resources (a.k.a service project) associated with this host project.", "parameters": { @@ -41442,7 +42116,7 @@ }, "listXpnHosts": { "id": "compute.projects.listXpnHosts", - "path": "{project}/listXpnHosts", + "path": "projects/{project}/listXpnHosts", "httpMethod": "POST", "description": "Lists all shared VPC host projects visible to the user in an organization.", "parameters": { @@ -41498,7 +42172,7 @@ }, "moveDisk": { "id": "compute.projects.moveDisk", - "path": "{project}/moveDisk", + "path": "projects/{project}/moveDisk", "httpMethod": "POST", "description": "Moves a persistent disk from one zone to another.", "parameters": { @@ -41531,7 +42205,7 @@ }, "moveInstance": { "id": "compute.projects.moveInstance", - "path": "{project}/moveInstance", + "path": "projects/{project}/moveInstance", "httpMethod": "POST", "description": "Moves an instance and its attached persistent disks from one zone to another.", "parameters": { @@ -41564,7 +42238,7 @@ }, "setCommonInstanceMetadata": { "id": "compute.projects.setCommonInstanceMetadata", - "path": "{project}/setCommonInstanceMetadata", + "path": "projects/{project}/setCommonInstanceMetadata", "httpMethod": "POST", "description": "Sets metadata common to all instances within the specified project using the data included in the request.", "parameters": { @@ -41597,7 +42271,7 @@ }, "setDefaultNetworkTier": { "id": "compute.projects.setDefaultNetworkTier", - "path": "{project}/setDefaultNetworkTier", + "path": "projects/{project}/setDefaultNetworkTier", "httpMethod": "POST", "description": "Sets the default network tier of the project. The default network tier is used when an address/forwardingRule/instance is created without specifying the network tier field.", "parameters": { @@ -41630,7 +42304,7 @@ }, "setUsageExportBucket": { "id": "compute.projects.setUsageExportBucket", - "path": "{project}/setUsageExportBucket", + "path": "projects/{project}/setUsageExportBucket", "httpMethod": "POST", "description": "Enables the usage export feature and sets the usage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled.", "parameters": { @@ -41670,7 +42344,7 @@ "methods": { "delete": { "id": "compute.regionAutoscalers.delete", - "path": "{project}/regions/{region}/autoscalers/{autoscaler}", + "path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "httpMethod": "DELETE", "description": "Deletes the specified autoscaler.", "parameters": { @@ -41716,7 +42390,7 @@ }, "get": { "id": "compute.regionAutoscalers.get", - "path": "{project}/regions/{region}/autoscalers/{autoscaler}", + "path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "httpMethod": "GET", "description": "Returns the specified autoscaler.", "parameters": { @@ -41758,7 +42432,7 @@ }, "insert": { "id": "compute.regionAutoscalers.insert", - "path": "{project}/regions/{region}/autoscalers", + "path": "projects/{project}/regions/{region}/autoscalers", "httpMethod": "POST", "description": "Creates an autoscaler in the specified project using the data included in the request.", "parameters": { @@ -41799,7 +42473,7 @@ }, "list": { "id": "compute.regionAutoscalers.list", - "path": "{project}/regions/{region}/autoscalers", + "path": "projects/{project}/regions/{region}/autoscalers", "httpMethod": "GET", "description": "Retrieves a list of autoscalers contained within the specified region.", "parameters": { @@ -41861,7 +42535,7 @@ }, "patch": { "id": "compute.regionAutoscalers.patch", - "path": "{project}/regions/{region}/autoscalers", + "path": "projects/{project}/regions/{region}/autoscalers", "httpMethod": "PATCH", "description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -41908,7 +42582,7 @@ }, "update": { "id": "compute.regionAutoscalers.update", - "path": "{project}/regions/{region}/autoscalers", + "path": "projects/{project}/regions/{region}/autoscalers", "httpMethod": "PUT", "description": "Updates an autoscaler in the specified project using the data included in the request.", "parameters": { @@ -41959,7 +42633,7 @@ "methods": { "delete": { "id": "compute.regionBackendServices.delete", - "path": "{project}/regions/{region}/backendServices/{backendService}", + "path": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "DELETE", "description": "Deletes the specified regional BackendService resource.", "parameters": { @@ -42005,7 +42679,7 @@ }, "get": { "id": "compute.regionBackendServices.get", - "path": "{project}/regions/{region}/backendServices/{backendService}", + "path": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "GET", "description": "Returns the specified regional BackendService resource.", "parameters": { @@ -42047,7 +42721,7 @@ }, "getHealth": { "id": "compute.regionBackendServices.getHealth", - "path": "{project}/regions/{region}/backendServices/{backendService}/getHealth", + "path": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", "httpMethod": "POST", "description": "Gets the most recent health check results for this regional BackendService.", "parameters": { @@ -42091,7 +42765,7 @@ }, "insert": { "id": "compute.regionBackendServices.insert", - "path": "{project}/regions/{region}/backendServices", + "path": "projects/{project}/regions/{region}/backendServices", "httpMethod": "POST", "description": "Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", "parameters": { @@ -42132,7 +42806,7 @@ }, "list": { "id": "compute.regionBackendServices.list", - "path": "{project}/regions/{region}/backendServices", + "path": "projects/{project}/regions/{region}/backendServices", "httpMethod": "GET", "description": "Retrieves the list of regional BackendService resources available to the specified project in the given region.", "parameters": { @@ -42194,7 +42868,7 @@ }, "patch": { "id": "compute.regionBackendServices.patch", - "path": "{project}/regions/{region}/backendServices/{backendService}", + "path": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "PATCH", "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -42243,7 +42917,7 @@ }, "update": { "id": "compute.regionBackendServices.update", - "path": "{project}/regions/{region}/backendServices/{backendService}", + "path": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "PUT", "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview.", "parameters": { @@ -42296,7 +42970,7 @@ "methods": { "aggregatedList": { "id": "compute.regionCommitments.aggregatedList", - "path": "{project}/aggregated/commitments", + "path": "projects/{project}/aggregated/commitments", "httpMethod": "GET", "description": "Retrieves an aggregated list of commitments.", "parameters": { @@ -42355,7 +43029,7 @@ }, "get": { "id": "compute.regionCommitments.get", - "path": "{project}/regions/{region}/commitments/{commitment}", + "path": "projects/{project}/regions/{region}/commitments/{commitment}", "httpMethod": "GET", "description": "Returns the specified commitment resource. Gets a list of available commitments by making a list() request.", "parameters": { @@ -42397,7 +43071,7 @@ }, "insert": { "id": "compute.regionCommitments.insert", - "path": "{project}/regions/{region}/commitments", + "path": "projects/{project}/regions/{region}/commitments", "httpMethod": "POST", "description": "Creates a commitment in the specified project using the data included in the request.", "parameters": { @@ -42438,7 +43112,7 @@ }, "list": { "id": "compute.regionCommitments.list", - "path": "{project}/regions/{region}/commitments", + "path": "projects/{project}/regions/{region}/commitments", "httpMethod": "GET", "description": "Retrieves a list of commitments contained within the specified region.", "parameters": { @@ -42504,7 +43178,7 @@ "methods": { "get": { "id": "compute.regionDiskTypes.get", - "path": "{project}/regions/{region}/diskTypes/{diskType}", + "path": "projects/{project}/regions/{region}/diskTypes/{diskType}", "httpMethod": "GET", "description": "Returns the specified regional disk type. Gets a list of available disk types by making a list() request.", "parameters": { @@ -42546,7 +43220,7 @@ }, "list": { "id": "compute.regionDiskTypes.list", - "path": "{project}/regions/{region}/diskTypes", + "path": "projects/{project}/regions/{region}/diskTypes", "httpMethod": "GET", "description": "Retrieves a list of regional disk types available to the specified project.", "parameters": { @@ -42612,7 +43286,7 @@ "methods": { "addResourcePolicies": { "id": "compute.regionDisks.addResourcePolicies", - "path": "{project}/regions/{region}/disks/{disk}/addResourcePolicies", + "path": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", "httpMethod": "POST", "description": "Adds existing resource policies to a regional disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.", "parameters": { @@ -42661,7 +43335,7 @@ }, "createSnapshot": { "id": "compute.regionDisks.createSnapshot", - "path": "{project}/regions/{region}/disks/{disk}/createSnapshot", + "path": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", "httpMethod": "POST", "description": "Creates a snapshot of this regional disk.", "parameters": { @@ -42710,7 +43384,7 @@ }, "delete": { "id": "compute.regionDisks.delete", - "path": "{project}/regions/{region}/disks/{disk}", + "path": "projects/{project}/regions/{region}/disks/{disk}", "httpMethod": "DELETE", "description": "Deletes the specified regional persistent disk. Deleting a regional disk removes all the replicas of its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.", "parameters": { @@ -42755,7 +43429,7 @@ }, "get": { "id": "compute.regionDisks.get", - "path": "{project}/regions/{region}/disks/{disk}", + "path": "projects/{project}/regions/{region}/disks/{disk}", "httpMethod": "GET", "description": "Returns a specified regional persistent disk.", "parameters": { @@ -42797,7 +43471,7 @@ }, "getIamPolicy": { "id": "compute.regionDisks.getIamPolicy", - "path": "{project}/regions/{region}/disks/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -42845,7 +43519,7 @@ }, "insert": { "id": "compute.regionDisks.insert", - "path": "{project}/regions/{region}/disks", + "path": "projects/{project}/regions/{region}/disks", "httpMethod": "POST", "description": "Creates a persistent regional disk in the specified project using the data included in the request.", "parameters": { @@ -42891,7 +43565,7 @@ }, "list": { "id": "compute.regionDisks.list", - "path": "{project}/regions/{region}/disks", + "path": "projects/{project}/regions/{region}/disks", "httpMethod": "GET", "description": "Retrieves the list of persistent disks contained within the specified region.", "parameters": { @@ -42953,7 +43627,7 @@ }, "removeResourcePolicies": { "id": "compute.regionDisks.removeResourcePolicies", - "path": "{project}/regions/{region}/disks/{disk}/removeResourcePolicies", + "path": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", "httpMethod": "POST", "description": "Removes resource policies from a regional disk.", "parameters": { @@ -43002,7 +43676,7 @@ }, "resize": { "id": "compute.regionDisks.resize", - "path": "{project}/regions/{region}/disks/{disk}/resize", + "path": "projects/{project}/regions/{region}/disks/{disk}/resize", "httpMethod": "POST", "description": "Resizes the specified regional persistent disk.", "parameters": { @@ -43051,7 +43725,7 @@ }, "setIamPolicy": { "id": "compute.regionDisks.setIamPolicy", - "path": "{project}/regions/{region}/disks/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -43095,7 +43769,7 @@ }, "setLabels": { "id": "compute.regionDisks.setLabels", - "path": "{project}/regions/{region}/disks/{resource}/setLabels", + "path": "projects/{project}/regions/{region}/disks/{resource}/setLabels", "httpMethod": "POST", "description": "Sets the labels on the target regional disk.", "parameters": { @@ -43144,7 +43818,7 @@ }, "testIamPermissions": { "id": "compute.regionDisks.testIamPermissions", - "path": "{project}/regions/{region}/disks/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -43193,7 +43867,7 @@ "methods": { "delete": { "id": "compute.regionHealthCheckServices.delete", - "path": "{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "DELETE", "description": "Deletes the specified regional HealthCheckService.", "parameters": { @@ -43238,7 +43912,7 @@ }, "get": { "id": "compute.regionHealthCheckServices.get", - "path": "{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "GET", "description": "Returns the specified regional HealthCheckService resource.", "parameters": { @@ -43279,7 +43953,7 @@ }, "insert": { "id": "compute.regionHealthCheckServices.insert", - "path": "{project}/regions/{region}/healthCheckServices", + "path": "projects/{project}/regions/{region}/healthCheckServices", "httpMethod": "POST", "description": "Creates a regional HealthCheckService resource in the specified project and region using the data included in the request.", "parameters": { @@ -43320,7 +43994,7 @@ }, "list": { "id": "compute.regionHealthCheckServices.list", - "path": "{project}/regions/{region}/healthCheckServices", + "path": "projects/{project}/regions/{region}/healthCheckServices", "httpMethod": "GET", "description": "Lists all the HealthCheckService resources that have been configured for the specified project in the given region.", "parameters": { @@ -43382,7 +44056,7 @@ }, "patch": { "id": "compute.regionHealthCheckServices.patch", - "path": "{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "PATCH", "description": "Updates the specified regional HealthCheckService resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -43434,7 +44108,7 @@ "methods": { "delete": { "id": "compute.regionHealthChecks.delete", - "path": "{project}/regions/{region}/healthChecks/{healthCheck}", + "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "DELETE", "description": "Deletes the specified HealthCheck resource.", "parameters": { @@ -43480,7 +44154,7 @@ }, "get": { "id": "compute.regionHealthChecks.get", - "path": "{project}/regions/{region}/healthChecks/{healthCheck}", + "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "GET", "description": "Returns the specified HealthCheck resource. Gets a list of available health checks by making a list() request.", "parameters": { @@ -43522,7 +44196,7 @@ }, "insert": { "id": "compute.regionHealthChecks.insert", - "path": "{project}/regions/{region}/healthChecks", + "path": "projects/{project}/regions/{region}/healthChecks", "httpMethod": "POST", "description": "Creates a HealthCheck resource in the specified project using the data included in the request.", "parameters": { @@ -43563,7 +44237,7 @@ }, "list": { "id": "compute.regionHealthChecks.list", - "path": "{project}/regions/{region}/healthChecks", + "path": "projects/{project}/regions/{region}/healthChecks", "httpMethod": "GET", "description": "Retrieves the list of HealthCheck resources available to the specified project.", "parameters": { @@ -43625,7 +44299,7 @@ }, "patch": { "id": "compute.regionHealthChecks.patch", - "path": "{project}/regions/{region}/healthChecks/{healthCheck}", + "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "PATCH", "description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -43674,7 +44348,7 @@ }, "update": { "id": "compute.regionHealthChecks.update", - "path": "{project}/regions/{region}/healthChecks/{healthCheck}", + "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "PUT", "description": "Updates a HealthCheck resource in the specified project using the data included in the request.", "parameters": { @@ -43727,7 +44401,7 @@ "methods": { "abandonInstances": { "id": "compute.regionInstanceGroupManagers.abandonInstances", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", "httpMethod": "POST", "description": "Flags the specified instances to be immediately removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.", "parameters": { @@ -43774,7 +44448,7 @@ }, "applyUpdatesToInstances": { "id": "compute.regionInstanceGroupManagers.applyUpdatesToInstances", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", "httpMethod": "POST", "description": "Apply updates to selected instances the managed instance group.", "parameters": { @@ -43816,7 +44490,7 @@ }, "createInstances": { "id": "compute.regionInstanceGroupManagers.createInstances", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", "httpMethod": "POST", "description": "Creates instances with per-instance configs in this regional managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.", "parameters": { @@ -43863,7 +44537,7 @@ }, "delete": { "id": "compute.regionInstanceGroupManagers.delete", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "DELETE", "description": "Deletes the specified managed instance group and all of the instances in that group.", "parameters": { @@ -43907,7 +44581,7 @@ }, "deleteInstances": { "id": "compute.regionInstanceGroupManagers.deleteInstances", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", "httpMethod": "POST", "description": "Flags the specified instances in the managed instance group to be immediately deleted. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. The deleteInstances operation is marked DONE if the deleteInstances request is successful. The underlying actions take additional time. You must separately verify the status of the deleting action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.", "parameters": { @@ -43954,7 +44628,7 @@ }, "deletePerInstanceConfigs": { "id": "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", "httpMethod": "POST", "description": "Deletes selected per-instance configs for the managed instance group.", "parameters": { @@ -43996,7 +44670,7 @@ }, "get": { "id": "compute.regionInstanceGroupManagers.get", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "GET", "description": "Returns all of the details about the specified managed instance group.", "parameters": { @@ -44036,7 +44710,7 @@ }, "insert": { "id": "compute.regionInstanceGroupManagers.insert", - "path": "{project}/regions/{region}/instanceGroupManagers", + "path": "projects/{project}/regions/{region}/instanceGroupManagers", "httpMethod": "POST", "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.\n\nA regional managed instance group can contain up to 2000 instances.", "parameters": { @@ -44076,7 +44750,7 @@ }, "list": { "id": "compute.regionInstanceGroupManagers.list", - "path": "{project}/regions/{region}/instanceGroupManagers", + "path": "projects/{project}/regions/{region}/instanceGroupManagers", "httpMethod": "GET", "description": "Retrieves the list of managed instance groups that are contained within the specified region.", "parameters": { @@ -44137,7 +44811,7 @@ }, "listErrors": { "id": "compute.regionInstanceGroupManagers.listErrors", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", "httpMethod": "GET", "description": "Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported.", "parameters": { @@ -44205,7 +44879,7 @@ }, "listManagedInstances": { "id": "compute.regionInstanceGroupManagers.listManagedInstances", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "httpMethod": "POST", "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported.", "parameters": { @@ -44273,7 +44947,7 @@ }, "listPerInstanceConfigs": { "id": "compute.regionInstanceGroupManagers.listPerInstanceConfigs", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", "httpMethod": "POST", "description": "Lists all of the per-instance configs defined for the managed instance group. The orderBy query parameter is not supported.", "parameters": { @@ -44341,7 +45015,7 @@ }, "patch": { "id": "compute.regionInstanceGroupManagers.patch", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "PATCH", "description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listmanagedinstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -44388,9 +45062,9 @@ }, "patchPerInstanceConfigs": { "id": "compute.regionInstanceGroupManagers.patchPerInstanceConfigs", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", "httpMethod": "POST", - "description": "Insert or patch (for the ones that already exist) per-instance configs for the managed instance group. perInstanceConfig.instance serves as a key used to distinguish whether to perform insert or patch.", + "description": "Inserts or patches per-instance configs for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", "parameters": { "instanceGroupManager": { "type": "string", @@ -44435,7 +45109,7 @@ }, "recreateInstances": { "id": "compute.regionInstanceGroupManagers.recreateInstances", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", "httpMethod": "POST", "description": "Flags the specified instances in the managed instance group to be immediately recreated. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.", "parameters": { @@ -44482,7 +45156,7 @@ }, "resize": { "id": "compute.regionInstanceGroupManagers.resize", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", "httpMethod": "POST", "description": "Changes the intended size of the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances.\n\nThe resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", "parameters": { @@ -44535,7 +45209,7 @@ }, "setInstanceTemplate": { "id": "compute.regionInstanceGroupManagers.setInstanceTemplate", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", "httpMethod": "POST", "description": "Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.", "parameters": { @@ -44582,7 +45256,7 @@ }, "setTargetPools": { "id": "compute.regionInstanceGroupManagers.setTargetPools", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", "httpMethod": "POST", "description": "Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.", "parameters": { @@ -44629,9 +45303,9 @@ }, "updatePerInstanceConfigs": { "id": "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", "httpMethod": "POST", - "description": "Insert or update (for the ones that already exist) per-instance configs for the managed instance group. perInstanceConfig.instance serves as a key used to distinguish whether to perform insert or patch.", + "description": "Inserts or updates per-instance configs for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", "parameters": { "instanceGroupManager": { "type": "string", @@ -44680,7 +45354,7 @@ "methods": { "get": { "id": "compute.regionInstanceGroups.get", - "path": "{project}/regions/{region}/instanceGroups/{instanceGroup}", + "path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", "httpMethod": "GET", "description": "Returns the specified instance group resource.", "parameters": { @@ -44720,7 +45394,7 @@ }, "list": { "id": "compute.regionInstanceGroups.list", - "path": "{project}/regions/{region}/instanceGroups", + "path": "projects/{project}/regions/{region}/instanceGroups", "httpMethod": "GET", "description": "Retrieves the list of instance group resources contained within the specified region.", "parameters": { @@ -44781,7 +45455,7 @@ }, "listInstances": { "id": "compute.regionInstanceGroups.listInstances", - "path": "{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", + "path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", "httpMethod": "POST", "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported.", "parameters": { @@ -44852,7 +45526,7 @@ }, "setNamedPorts": { "id": "compute.regionInstanceGroups.setNamedPorts", - "path": "{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", + "path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", "httpMethod": "POST", "description": "Sets the named ports for the specified regional instance group.", "parameters": { @@ -44903,7 +45577,7 @@ "methods": { "delete": { "id": "compute.regionNetworkEndpointGroups.delete", - "path": "{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", + "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "DELETE", "description": "Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service.", "parameters": { @@ -44947,7 +45621,7 @@ }, "get": { "id": "compute.regionNetworkEndpointGroups.get", - "path": "{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", + "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", "parameters": { @@ -44987,7 +45661,7 @@ }, "insert": { "id": "compute.regionNetworkEndpointGroups.insert", - "path": "{project}/regions/{region}/networkEndpointGroups", + "path": "projects/{project}/regions/{region}/networkEndpointGroups", "httpMethod": "POST", "description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", "parameters": { @@ -45027,7 +45701,7 @@ }, "list": { "id": "compute.regionNetworkEndpointGroups.list", - "path": "{project}/regions/{region}/networkEndpointGroups", + "path": "projects/{project}/regions/{region}/networkEndpointGroups", "httpMethod": "GET", "description": "Retrieves the list of regional network endpoint groups available to the specified project in the given region.", "parameters": { @@ -45092,7 +45766,7 @@ "methods": { "delete": { "id": "compute.regionNotificationEndpoints.delete", - "path": "{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", + "path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", "httpMethod": "DELETE", "description": "Deletes the specified NotificationEndpoint in the given region", "parameters": { @@ -45138,7 +45812,7 @@ }, "get": { "id": "compute.regionNotificationEndpoints.get", - "path": "{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", + "path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", "httpMethod": "GET", "description": "Returns the specified NotificationEndpoint resource in the given region.", "parameters": { @@ -45180,7 +45854,7 @@ }, "insert": { "id": "compute.regionNotificationEndpoints.insert", - "path": "{project}/regions/{region}/notificationEndpoints", + "path": "projects/{project}/regions/{region}/notificationEndpoints", "httpMethod": "POST", "description": "Create a NotificationEndpoint in the specified project in the given region using the parameters that are included in the request.", "parameters": { @@ -45221,7 +45895,7 @@ }, "list": { "id": "compute.regionNotificationEndpoints.list", - "path": "{project}/regions/{region}/notificationEndpoints", + "path": "projects/{project}/regions/{region}/notificationEndpoints", "httpMethod": "GET", "description": "Lists the NotificationEndpoints for a project in the given region.", "parameters": { @@ -45287,7 +45961,7 @@ "methods": { "delete": { "id": "compute.regionOperations.delete", - "path": "{project}/regions/{region}/operations/{operation}", + "path": "projects/{project}/regions/{region}/operations/{operation}", "httpMethod": "DELETE", "description": "Deletes the specified region-specific Operations resource.", "parameters": { @@ -45325,7 +45999,7 @@ }, "get": { "id": "compute.regionOperations.get", - "path": "{project}/regions/{region}/operations/{operation}", + "path": "projects/{project}/regions/{region}/operations/{operation}", "httpMethod": "GET", "description": "Retrieves the specified region-specific Operations resource.", "parameters": { @@ -45367,7 +46041,7 @@ }, "list": { "id": "compute.regionOperations.list", - "path": "{project}/regions/{region}/operations", + "path": "projects/{project}/regions/{region}/operations", "httpMethod": "GET", "description": "Retrieves a list of Operation resources contained within the specified region.", "parameters": { @@ -45429,7 +46103,7 @@ }, "wait": { "id": "compute.regionOperations.wait", - "path": "{project}/regions/{region}/operations/{operation}/wait", + "path": "projects/{project}/regions/{region}/operations/{operation}/wait", "httpMethod": "POST", "description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`.", "parameters": { @@ -45475,7 +46149,7 @@ "methods": { "delete": { "id": "compute.regionSslCertificates.delete", - "path": "{project}/regions/{region}/sslCertificates/{sslCertificate}", + "path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", "httpMethod": "DELETE", "description": "Deletes the specified SslCertificate resource in the region.", "parameters": { @@ -45521,7 +46195,7 @@ }, "get": { "id": "compute.regionSslCertificates.get", - "path": "{project}/regions/{region}/sslCertificates/{sslCertificate}", + "path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", "httpMethod": "GET", "description": "Returns the specified SslCertificate resource in the specified region. Get a list of available SSL certificates by making a list() request.", "parameters": { @@ -45563,7 +46237,7 @@ }, "insert": { "id": "compute.regionSslCertificates.insert", - "path": "{project}/regions/{region}/sslCertificates", + "path": "projects/{project}/regions/{region}/sslCertificates", "httpMethod": "POST", "description": "Creates a SslCertificate resource in the specified project and region using the data included in the request", "parameters": { @@ -45604,7 +46278,7 @@ }, "list": { "id": "compute.regionSslCertificates.list", - "path": "{project}/regions/{region}/sslCertificates", + "path": "projects/{project}/regions/{region}/sslCertificates", "httpMethod": "GET", "description": "Retrieves the list of SslCertificate resources available to the specified project in the specified region.", "parameters": { @@ -45670,7 +46344,7 @@ "methods": { "delete": { "id": "compute.regionTargetHttpProxies.delete", - "path": "{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", + "path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", "httpMethod": "DELETE", "description": "Deletes the specified TargetHttpProxy resource.", "parameters": { @@ -45716,7 +46390,7 @@ }, "get": { "id": "compute.regionTargetHttpProxies.get", - "path": "{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", + "path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", "httpMethod": "GET", "description": "Returns the specified TargetHttpProxy resource in the specified region. Gets a list of available target HTTP proxies by making a list() request.", "parameters": { @@ -45758,7 +46432,7 @@ }, "insert": { "id": "compute.regionTargetHttpProxies.insert", - "path": "{project}/regions/{region}/targetHttpProxies", + "path": "projects/{project}/regions/{region}/targetHttpProxies", "httpMethod": "POST", "description": "Creates a TargetHttpProxy resource in the specified project and region using the data included in the request.", "parameters": { @@ -45799,7 +46473,7 @@ }, "list": { "id": "compute.regionTargetHttpProxies.list", - "path": "{project}/regions/{region}/targetHttpProxies", + "path": "projects/{project}/regions/{region}/targetHttpProxies", "httpMethod": "GET", "description": "Retrieves the list of TargetHttpProxy resources available to the specified project in the specified region.", "parameters": { @@ -45861,7 +46535,7 @@ }, "setUrlMap": { "id": "compute.regionTargetHttpProxies.setUrlMap", - "path": "{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", + "path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", "httpMethod": "POST", "description": "Changes the URL map for TargetHttpProxy.", "parameters": { @@ -45914,7 +46588,7 @@ "methods": { "delete": { "id": "compute.regionTargetHttpsProxies.delete", - "path": "{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", + "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "DELETE", "description": "Deletes the specified TargetHttpsProxy resource.", "parameters": { @@ -45960,7 +46634,7 @@ }, "get": { "id": "compute.regionTargetHttpsProxies.get", - "path": "{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", + "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "GET", "description": "Returns the specified TargetHttpsProxy resource in the specified region. Gets a list of available target HTTP proxies by making a list() request.", "parameters": { @@ -46002,7 +46676,7 @@ }, "insert": { "id": "compute.regionTargetHttpsProxies.insert", - "path": "{project}/regions/{region}/targetHttpsProxies", + "path": "projects/{project}/regions/{region}/targetHttpsProxies", "httpMethod": "POST", "description": "Creates a TargetHttpsProxy resource in the specified project and region using the data included in the request.", "parameters": { @@ -46043,7 +46717,7 @@ }, "list": { "id": "compute.regionTargetHttpsProxies.list", - "path": "{project}/regions/{region}/targetHttpsProxies", + "path": "projects/{project}/regions/{region}/targetHttpsProxies", "httpMethod": "GET", "description": "Retrieves the list of TargetHttpsProxy resources available to the specified project in the specified region.", "parameters": { @@ -46105,7 +46779,7 @@ }, "setSslCertificates": { "id": "compute.regionTargetHttpsProxies.setSslCertificates", - "path": "{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", + "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", "httpMethod": "POST", "description": "Replaces SslCertificates for TargetHttpsProxy.", "parameters": { @@ -46154,7 +46828,7 @@ }, "setUrlMap": { "id": "compute.regionTargetHttpsProxies.setUrlMap", - "path": "{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", + "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "httpMethod": "POST", "description": "Changes the URL map for TargetHttpsProxy.", "parameters": { @@ -46207,7 +46881,7 @@ "methods": { "delete": { "id": "compute.regionUrlMaps.delete", - "path": "{project}/regions/{region}/urlMaps/{urlMap}", + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", "httpMethod": "DELETE", "description": "Deletes the specified UrlMap resource.", "parameters": { @@ -46253,7 +46927,7 @@ }, "get": { "id": "compute.regionUrlMaps.get", - "path": "{project}/regions/{region}/urlMaps/{urlMap}", + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", "httpMethod": "GET", "description": "Returns the specified UrlMap resource. Gets a list of available URL maps by making a list() request.", "parameters": { @@ -46295,7 +46969,7 @@ }, "insert": { "id": "compute.regionUrlMaps.insert", - "path": "{project}/regions/{region}/urlMaps", + "path": "projects/{project}/regions/{region}/urlMaps", "httpMethod": "POST", "description": "Creates a UrlMap resource in the specified project using the data included in the request.", "parameters": { @@ -46336,7 +47010,7 @@ }, "list": { "id": "compute.regionUrlMaps.list", - "path": "{project}/regions/{region}/urlMaps", + "path": "projects/{project}/regions/{region}/urlMaps", "httpMethod": "GET", "description": "Retrieves the list of UrlMap resources available to the specified project in the specified region.", "parameters": { @@ -46398,7 +47072,7 @@ }, "patch": { "id": "compute.regionUrlMaps.patch", - "path": "{project}/regions/{region}/urlMaps/{urlMap}", + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", "httpMethod": "PATCH", "description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", "parameters": { @@ -46447,7 +47121,7 @@ }, "update": { "id": "compute.regionUrlMaps.update", - "path": "{project}/regions/{region}/urlMaps/{urlMap}", + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", "httpMethod": "PUT", "description": "Updates the specified UrlMap resource with the data included in the request.", "parameters": { @@ -46496,7 +47170,7 @@ }, "validate": { "id": "compute.regionUrlMaps.validate", - "path": "{project}/regions/{region}/urlMaps/{urlMap}/validate", + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", "httpMethod": "POST", "description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", "parameters": { @@ -46544,7 +47218,7 @@ "methods": { "get": { "id": "compute.regions.get", - "path": "{project}/regions/{region}", + "path": "projects/{project}/regions/{region}", "httpMethod": "GET", "description": "Returns the specified Region resource. Gets a list of available regions by making a list() request.", "parameters": { @@ -46578,7 +47252,7 @@ }, "list": { "id": "compute.regions.list", - "path": "{project}/regions", + "path": "projects/{project}/regions", "httpMethod": "GET", "description": "Retrieves the list of region resources available to the specified project.", "parameters": { @@ -46636,7 +47310,7 @@ "methods": { "aggregatedList": { "id": "compute.reservations.aggregatedList", - "path": "{project}/aggregated/reservations", + "path": "projects/{project}/aggregated/reservations", "httpMethod": "GET", "description": "Retrieves an aggregated list of reservations.", "parameters": { @@ -46695,7 +47369,7 @@ }, "delete": { "id": "compute.reservations.delete", - "path": "{project}/zones/{zone}/reservations/{reservation}", + "path": "projects/{project}/zones/{zone}/reservations/{reservation}", "httpMethod": "DELETE", "description": "Deletes the specified reservation.", "parameters": { @@ -46741,7 +47415,7 @@ }, "get": { "id": "compute.reservations.get", - "path": "{project}/zones/{zone}/reservations/{reservation}", + "path": "projects/{project}/zones/{zone}/reservations/{reservation}", "httpMethod": "GET", "description": "Retrieves information about the specified reservation.", "parameters": { @@ -46783,7 +47457,7 @@ }, "getIamPolicy": { "id": "compute.reservations.getIamPolicy", - "path": "{project}/zones/{zone}/reservations/{resource}/getIamPolicy", + "path": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -46831,7 +47505,7 @@ }, "insert": { "id": "compute.reservations.insert", - "path": "{project}/zones/{zone}/reservations", + "path": "projects/{project}/zones/{zone}/reservations", "httpMethod": "POST", "description": "Creates a new reservation. For more information, read Reserving zonal resources.", "parameters": { @@ -46872,7 +47546,7 @@ }, "list": { "id": "compute.reservations.list", - "path": "{project}/zones/{zone}/reservations", + "path": "projects/{project}/zones/{zone}/reservations", "httpMethod": "GET", "description": "A list of all the reservations that have been configured for the specified project in specified zone.", "parameters": { @@ -46934,7 +47608,7 @@ }, "resize": { "id": "compute.reservations.resize", - "path": "{project}/zones/{zone}/reservations/{reservation}/resize", + "path": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", "httpMethod": "POST", "description": "Resizes the reservation (applicable to standalone reservations only). For more information, read Modifying reservations.", "parameters": { @@ -46983,7 +47657,7 @@ }, "setIamPolicy": { "id": "compute.reservations.setIamPolicy", - "path": "{project}/zones/{zone}/reservations/{resource}/setIamPolicy", + "path": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -47027,7 +47701,7 @@ }, "testIamPermissions": { "id": "compute.reservations.testIamPermissions", - "path": "{project}/zones/{zone}/reservations/{resource}/testIamPermissions", + "path": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -47076,7 +47750,7 @@ "methods": { "aggregatedList": { "id": "compute.resourcePolicies.aggregatedList", - "path": "{project}/aggregated/resourcePolicies", + "path": "projects/{project}/aggregated/resourcePolicies", "httpMethod": "GET", "description": "Retrieves an aggregated list of resource policies.", "parameters": { @@ -47135,7 +47809,7 @@ }, "delete": { "id": "compute.resourcePolicies.delete", - "path": "{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + "path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", "httpMethod": "DELETE", "description": "Deletes the specified resource policy.", "parameters": { @@ -47181,7 +47855,7 @@ }, "get": { "id": "compute.resourcePolicies.get", - "path": "{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + "path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", "httpMethod": "GET", "description": "Retrieves all information of the specified resource policy.", "parameters": { @@ -47223,7 +47897,7 @@ }, "getIamPolicy": { "id": "compute.resourcePolicies.getIamPolicy", - "path": "{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -47271,7 +47945,7 @@ }, "insert": { "id": "compute.resourcePolicies.insert", - "path": "{project}/regions/{region}/resourcePolicies", + "path": "projects/{project}/regions/{region}/resourcePolicies", "httpMethod": "POST", "description": "Creates a new resource policy.", "parameters": { @@ -47312,7 +47986,7 @@ }, "list": { "id": "compute.resourcePolicies.list", - "path": "{project}/regions/{region}/resourcePolicies", + "path": "projects/{project}/regions/{region}/resourcePolicies", "httpMethod": "GET", "description": "A list all the resource policies that have been configured for the specified project in specified region.", "parameters": { @@ -47374,7 +48048,7 @@ }, "setIamPolicy": { "id": "compute.resourcePolicies.setIamPolicy", - "path": "{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -47418,7 +48092,7 @@ }, "testIamPermissions": { "id": "compute.resourcePolicies.testIamPermissions", - "path": "{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -47467,7 +48141,7 @@ "methods": { "aggregatedList": { "id": "compute.routers.aggregatedList", - "path": "{project}/aggregated/routers", + "path": "projects/{project}/aggregated/routers", "httpMethod": "GET", "description": "Retrieves an aggregated list of routers.", "parameters": { @@ -47526,7 +48200,7 @@ }, "delete": { "id": "compute.routers.delete", - "path": "{project}/regions/{region}/routers/{router}", + "path": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "DELETE", "description": "Deletes the specified Router resource.", "parameters": { @@ -47572,7 +48246,7 @@ }, "get": { "id": "compute.routers.get", - "path": "{project}/regions/{region}/routers/{router}", + "path": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "GET", "description": "Returns the specified Router resource. Gets a list of available routers by making a list() request.", "parameters": { @@ -47614,7 +48288,7 @@ }, "getNatMappingInfo": { "id": "compute.routers.getNatMappingInfo", - "path": "{project}/regions/{region}/routers/{router}/getNatMappingInfo", + "path": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", "httpMethod": "GET", "description": "Retrieves runtime Nat mapping information of VM endpoints.", "parameters": { @@ -47684,7 +48358,7 @@ }, "getRouterStatus": { "id": "compute.routers.getRouterStatus", - "path": "{project}/regions/{region}/routers/{router}/getRouterStatus", + "path": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", "httpMethod": "GET", "description": "Retrieves runtime information of the specified router.", "parameters": { @@ -47726,7 +48400,7 @@ }, "insert": { "id": "compute.routers.insert", - "path": "{project}/regions/{region}/routers", + "path": "projects/{project}/regions/{region}/routers", "httpMethod": "POST", "description": "Creates a Router resource in the specified project and region using the data included in the request.", "parameters": { @@ -47767,7 +48441,7 @@ }, "list": { "id": "compute.routers.list", - "path": "{project}/regions/{region}/routers", + "path": "projects/{project}/regions/{region}/routers", "httpMethod": "GET", "description": "Retrieves a list of Router resources available to the specified project.", "parameters": { @@ -47829,7 +48503,7 @@ }, "patch": { "id": "compute.routers.patch", - "path": "{project}/regions/{region}/routers/{router}", + "path": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "PATCH", "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", "parameters": { @@ -47878,7 +48552,7 @@ }, "preview": { "id": "compute.routers.preview", - "path": "{project}/regions/{region}/routers/{router}/preview", + "path": "projects/{project}/regions/{region}/routers/{router}/preview", "httpMethod": "POST", "description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", "parameters": { @@ -47923,7 +48597,7 @@ }, "update": { "id": "compute.routers.update", - "path": "{project}/regions/{region}/routers/{router}", + "path": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "PUT", "description": "Updates the specified Router resource with the data included in the request. This method conforms to PUT semantics, which requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.", "parameters": { @@ -47976,7 +48650,7 @@ "methods": { "delete": { "id": "compute.routes.delete", - "path": "{project}/global/routes/{route}", + "path": "projects/{project}/global/routes/{route}", "httpMethod": "DELETE", "description": "Deletes the specified Route resource.", "parameters": { @@ -48014,7 +48688,7 @@ }, "get": { "id": "compute.routes.get", - "path": "{project}/global/routes/{route}", + "path": "projects/{project}/global/routes/{route}", "httpMethod": "GET", "description": "Returns the specified Route resource. Gets a list of available routes by making a list() request.", "parameters": { @@ -48048,7 +48722,7 @@ }, "insert": { "id": "compute.routes.insert", - "path": "{project}/global/routes", + "path": "projects/{project}/global/routes", "httpMethod": "POST", "description": "Creates a Route resource in the specified project using the data included in the request.", "parameters": { @@ -48081,7 +48755,7 @@ }, "list": { "id": "compute.routes.list", - "path": "{project}/global/routes", + "path": "projects/{project}/global/routes", "httpMethod": "GET", "description": "Retrieves the list of Route resources available to the specified project.", "parameters": { @@ -48139,7 +48813,7 @@ "methods": { "addRule": { "id": "compute.securityPolicies.addRule", - "path": "{project}/global/securityPolicies/{securityPolicy}/addRule", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", "httpMethod": "POST", "description": "Inserts a rule into a security policy.", "parameters": { @@ -48175,7 +48849,7 @@ }, "delete": { "id": "compute.securityPolicies.delete", - "path": "{project}/global/securityPolicies/{securityPolicy}", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}", "httpMethod": "DELETE", "description": "Deletes the specified policy.", "parameters": { @@ -48213,7 +48887,7 @@ }, "get": { "id": "compute.securityPolicies.get", - "path": "{project}/global/securityPolicies/{securityPolicy}", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}", "httpMethod": "GET", "description": "List all of the ordered rules present in a single specified policy.", "parameters": { @@ -48247,7 +48921,7 @@ }, "getRule": { "id": "compute.securityPolicies.getRule", - "path": "{project}/global/securityPolicies/{securityPolicy}/getRule", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", "httpMethod": "GET", "description": "Gets a rule at the specified priority.", "parameters": { @@ -48287,7 +48961,7 @@ }, "insert": { "id": "compute.securityPolicies.insert", - "path": "{project}/global/securityPolicies", + "path": "projects/{project}/global/securityPolicies", "httpMethod": "POST", "description": "Creates a new policy in the specified project using the data included in the request.", "parameters": { @@ -48320,7 +48994,7 @@ }, "list": { "id": "compute.securityPolicies.list", - "path": "{project}/global/securityPolicies", + "path": "projects/{project}/global/securityPolicies", "httpMethod": "GET", "description": "List all the policies that have been configured for the specified project.", "parameters": { @@ -48374,7 +49048,7 @@ }, "listPreconfiguredExpressionSets": { "id": "compute.securityPolicies.listPreconfiguredExpressionSets", - "path": "{project}/global/securityPolicies/listPreconfiguredExpressionSets", + "path": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", "httpMethod": "GET", "description": "Gets the current list of preconfigured Web Application Firewall (WAF) expressions.", "parameters": { @@ -48427,9 +49101,9 @@ }, "patch": { "id": "compute.securityPolicies.patch", - "path": "{project}/global/securityPolicies/{securityPolicy}", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}", "httpMethod": "PATCH", - "description": "Patches the specified policy with the data included in the request.", + "description": "Patches the specified policy with the data included in the request. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", "parameters": { "project": { "type": "string", @@ -48468,7 +49142,7 @@ }, "patchRule": { "id": "compute.securityPolicies.patchRule", - "path": "{project}/global/securityPolicies/{securityPolicy}/patchRule", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", "httpMethod": "POST", "description": "Patches a rule at the specified priority.", "parameters": { @@ -48510,7 +49184,7 @@ }, "removeRule": { "id": "compute.securityPolicies.removeRule", - "path": "{project}/global/securityPolicies/{securityPolicy}/removeRule", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", "httpMethod": "POST", "description": "Deletes a rule at the specified priority.", "parameters": { @@ -48553,7 +49227,7 @@ "methods": { "delete": { "id": "compute.snapshots.delete", - "path": "{project}/global/snapshots/{snapshot}", + "path": "projects/{project}/global/snapshots/{snapshot}", "httpMethod": "DELETE", "description": "Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot.\n\nFor more information, see Deleting snapshots.", "parameters": { @@ -48591,7 +49265,7 @@ }, "get": { "id": "compute.snapshots.get", - "path": "{project}/global/snapshots/{snapshot}", + "path": "projects/{project}/global/snapshots/{snapshot}", "httpMethod": "GET", "description": "Returns the specified Snapshot resource. Gets a list of available snapshots by making a list() request.", "parameters": { @@ -48625,7 +49299,7 @@ }, "getIamPolicy": { "id": "compute.snapshots.getIamPolicy", - "path": "{project}/global/snapshots/{resource}/getIamPolicy", + "path": "projects/{project}/global/snapshots/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -48665,7 +49339,7 @@ }, "list": { "id": "compute.snapshots.list", - "path": "{project}/global/snapshots", + "path": "projects/{project}/global/snapshots", "httpMethod": "GET", "description": "Retrieves the list of Snapshot resources contained within the specified project.", "parameters": { @@ -48719,7 +49393,7 @@ }, "setIamPolicy": { "id": "compute.snapshots.setIamPolicy", - "path": "{project}/global/snapshots/{resource}/setIamPolicy", + "path": "projects/{project}/global/snapshots/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -48755,7 +49429,7 @@ }, "setLabels": { "id": "compute.snapshots.setLabels", - "path": "{project}/global/snapshots/{resource}/setLabels", + "path": "projects/{project}/global/snapshots/{resource}/setLabels", "httpMethod": "POST", "description": "Sets the labels on a snapshot. To learn more about labels, read the Labeling Resources documentation.", "parameters": { @@ -48791,7 +49465,7 @@ }, "testIamPermissions": { "id": "compute.snapshots.testIamPermissions", - "path": "{project}/global/snapshots/{resource}/testIamPermissions", + "path": "projects/{project}/global/snapshots/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -48832,7 +49506,7 @@ "methods": { "aggregatedList": { "id": "compute.sslCertificates.aggregatedList", - "path": "{project}/aggregated/sslCertificates", + "path": "projects/{project}/aggregated/sslCertificates", "httpMethod": "GET", "description": "Retrieves the list of all SslCertificate resources, regional and global, available to the specified project.", "parameters": { @@ -48891,7 +49565,7 @@ }, "delete": { "id": "compute.sslCertificates.delete", - "path": "{project}/global/sslCertificates/{sslCertificate}", + "path": "projects/{project}/global/sslCertificates/{sslCertificate}", "httpMethod": "DELETE", "description": "Deletes the specified SslCertificate resource.", "parameters": { @@ -48929,7 +49603,7 @@ }, "get": { "id": "compute.sslCertificates.get", - "path": "{project}/global/sslCertificates/{sslCertificate}", + "path": "projects/{project}/global/sslCertificates/{sslCertificate}", "httpMethod": "GET", "description": "Returns the specified SslCertificate resource. Gets a list of available SSL certificates by making a list() request.", "parameters": { @@ -48963,7 +49637,7 @@ }, "insert": { "id": "compute.sslCertificates.insert", - "path": "{project}/global/sslCertificates", + "path": "projects/{project}/global/sslCertificates", "httpMethod": "POST", "description": "Creates a SslCertificate resource in the specified project using the data included in the request.", "parameters": { @@ -48996,7 +49670,7 @@ }, "list": { "id": "compute.sslCertificates.list", - "path": "{project}/global/sslCertificates", + "path": "projects/{project}/global/sslCertificates", "httpMethod": "GET", "description": "Retrieves the list of SslCertificate resources available to the specified project.", "parameters": { @@ -49054,7 +49728,7 @@ "methods": { "delete": { "id": "compute.sslPolicies.delete", - "path": "{project}/global/sslPolicies/{sslPolicy}", + "path": "projects/{project}/global/sslPolicies/{sslPolicy}", "httpMethod": "DELETE", "description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", "parameters": { @@ -49091,7 +49765,7 @@ }, "get": { "id": "compute.sslPolicies.get", - "path": "{project}/global/sslPolicies/{sslPolicy}", + "path": "projects/{project}/global/sslPolicies/{sslPolicy}", "httpMethod": "GET", "description": "Lists all of the ordered rules present in a single specified policy.", "parameters": { @@ -49124,7 +49798,7 @@ }, "insert": { "id": "compute.sslPolicies.insert", - "path": "{project}/global/sslPolicies", + "path": "projects/{project}/global/sslPolicies", "httpMethod": "POST", "description": "Returns the specified SSL policy resource. Gets a list of available SSL policies by making a list() request.", "parameters": { @@ -49157,7 +49831,7 @@ }, "list": { "id": "compute.sslPolicies.list", - "path": "{project}/global/sslPolicies", + "path": "projects/{project}/global/sslPolicies", "httpMethod": "GET", "description": "Lists all the SSL policies that have been configured for the specified project.", "parameters": { @@ -49211,7 +49885,7 @@ }, "listAvailableFeatures": { "id": "compute.sslPolicies.listAvailableFeatures", - "path": "{project}/global/sslPolicies/listAvailableFeatures", + "path": "projects/{project}/global/sslPolicies/listAvailableFeatures", "httpMethod": "GET", "description": "Lists all features that can be specified in the SSL policy when using custom profile.", "parameters": { @@ -49265,7 +49939,7 @@ }, "patch": { "id": "compute.sslPolicies.patch", - "path": "{project}/global/sslPolicies/{sslPolicy}", + "path": "projects/{project}/global/sslPolicies/{sslPolicy}", "httpMethod": "PATCH", "description": "Patches the specified SSL policy with the data included in the request.", "parameters": { @@ -49309,7 +49983,7 @@ "methods": { "aggregatedList": { "id": "compute.subnetworks.aggregatedList", - "path": "{project}/aggregated/subnetworks", + "path": "projects/{project}/aggregated/subnetworks", "httpMethod": "GET", "description": "Retrieves an aggregated list of subnetworks.", "parameters": { @@ -49368,7 +50042,7 @@ }, "delete": { "id": "compute.subnetworks.delete", - "path": "{project}/regions/{region}/subnetworks/{subnetwork}", + "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "httpMethod": "DELETE", "description": "Deletes the specified subnetwork.", "parameters": { @@ -49414,7 +50088,7 @@ }, "expandIpCidrRange": { "id": "compute.subnetworks.expandIpCidrRange", - "path": "{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", + "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", "httpMethod": "POST", "description": "Expands the IP CIDR range of the subnetwork to a specified value.", "parameters": { @@ -49463,7 +50137,7 @@ }, "get": { "id": "compute.subnetworks.get", - "path": "{project}/regions/{region}/subnetworks/{subnetwork}", + "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "httpMethod": "GET", "description": "Returns the specified subnetwork. Gets a list of available subnetworks list() request.", "parameters": { @@ -49505,7 +50179,7 @@ }, "getIamPolicy": { "id": "compute.subnetworks.getIamPolicy", - "path": "{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", "httpMethod": "GET", "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "parameters": { @@ -49553,7 +50227,7 @@ }, "insert": { "id": "compute.subnetworks.insert", - "path": "{project}/regions/{region}/subnetworks", + "path": "projects/{project}/regions/{region}/subnetworks", "httpMethod": "POST", "description": "Creates a subnetwork in the specified project using the data included in the request.", "parameters": { @@ -49594,7 +50268,7 @@ }, "list": { "id": "compute.subnetworks.list", - "path": "{project}/regions/{region}/subnetworks", + "path": "projects/{project}/regions/{region}/subnetworks", "httpMethod": "GET", "description": "Retrieves a list of subnetworks available to the specified project.", "parameters": { @@ -49656,7 +50330,7 @@ }, "listUsable": { "id": "compute.subnetworks.listUsable", - "path": "{project}/aggregated/subnetworks/listUsable", + "path": "projects/{project}/aggregated/subnetworks/listUsable", "httpMethod": "GET", "description": "Retrieves an aggregated list of all usable subnetworks in the project.", "parameters": { @@ -49710,9 +50384,9 @@ }, "patch": { "id": "compute.subnetworks.patch", - "path": "{project}/regions/{region}/subnetworks/{subnetwork}", + "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "httpMethod": "PATCH", - "description": "Patches the specified subnetwork with the data included in the request. Only certain fields can up updated with a patch request as indicated in the field descriptions. You must specify the current fingerprint of the subnetwork resource being patched.", + "description": "Patches the specified subnetwork with the data included in the request. Only certain fields can be updated with a patch request as indicated in the field descriptions. You must specify the current fingerprint of the subnetwork resource being patched.", "parameters": { "drainTimeoutSeconds": { "type": "integer", @@ -49765,7 +50439,7 @@ }, "setIamPolicy": { "id": "compute.subnetworks.setIamPolicy", - "path": "{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", "httpMethod": "POST", "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "parameters": { @@ -49809,7 +50483,7 @@ }, "setPrivateIpGoogleAccess": { "id": "compute.subnetworks.setPrivateIpGoogleAccess", - "path": "{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", + "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", "httpMethod": "POST", "description": "Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access.", "parameters": { @@ -49858,7 +50532,7 @@ }, "testIamPermissions": { "id": "compute.subnetworks.testIamPermissions", - "path": "{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -49907,7 +50581,7 @@ "methods": { "delete": { "id": "compute.targetGrpcProxies.delete", - "path": "{project}/global/targetGrpcProxies/{targetGrpcProxy}", + "path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "DELETE", "description": "Deletes the specified TargetGrpcProxy in the given scope", "parameters": { @@ -49945,7 +50619,7 @@ }, "get": { "id": "compute.targetGrpcProxies.get", - "path": "{project}/global/targetGrpcProxies/{targetGrpcProxy}", + "path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "GET", "description": "Returns the specified TargetGrpcProxy resource in the given scope.", "parameters": { @@ -49979,7 +50653,7 @@ }, "insert": { "id": "compute.targetGrpcProxies.insert", - "path": "{project}/global/targetGrpcProxies", + "path": "projects/{project}/global/targetGrpcProxies", "httpMethod": "POST", "description": "Creates a TargetGrpcProxy in the specified project in the given scope using the parameters that are included in the request.", "parameters": { @@ -50012,7 +50686,7 @@ }, "list": { "id": "compute.targetGrpcProxies.list", - "path": "{project}/global/targetGrpcProxies", + "path": "projects/{project}/global/targetGrpcProxies", "httpMethod": "GET", "description": "Lists the TargetGrpcProxies for a project in the given scope.", "parameters": { @@ -50066,7 +50740,7 @@ }, "patch": { "id": "compute.targetGrpcProxies.patch", - "path": "{project}/global/targetGrpcProxies/{targetGrpcProxy}", + "path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "PATCH", "description": "Patches the specified TargetGrpcProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", "parameters": { @@ -50111,7 +50785,7 @@ "methods": { "aggregatedList": { "id": "compute.targetHttpProxies.aggregatedList", - "path": "{project}/aggregated/targetHttpProxies", + "path": "projects/{project}/aggregated/targetHttpProxies", "httpMethod": "GET", "description": "Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project.", "parameters": { @@ -50170,7 +50844,7 @@ }, "delete": { "id": "compute.targetHttpProxies.delete", - "path": "{project}/global/targetHttpProxies/{targetHttpProxy}", + "path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "DELETE", "description": "Deletes the specified TargetHttpProxy resource.", "parameters": { @@ -50208,7 +50882,7 @@ }, "get": { "id": "compute.targetHttpProxies.get", - "path": "{project}/global/targetHttpProxies/{targetHttpProxy}", + "path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "GET", "description": "Returns the specified TargetHttpProxy resource. Gets a list of available target HTTP proxies by making a list() request.", "parameters": { @@ -50242,7 +50916,7 @@ }, "insert": { "id": "compute.targetHttpProxies.insert", - "path": "{project}/global/targetHttpProxies", + "path": "projects/{project}/global/targetHttpProxies", "httpMethod": "POST", "description": "Creates a TargetHttpProxy resource in the specified project using the data included in the request.", "parameters": { @@ -50275,7 +50949,7 @@ }, "list": { "id": "compute.targetHttpProxies.list", - "path": "{project}/global/targetHttpProxies", + "path": "projects/{project}/global/targetHttpProxies", "httpMethod": "GET", "description": "Retrieves the list of TargetHttpProxy resources available to the specified project.", "parameters": { @@ -50329,7 +51003,7 @@ }, "patch": { "id": "compute.targetHttpProxies.patch", - "path": "{project}/global/targetHttpProxies/{targetHttpProxy}", + "path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "PATCH", "description": "Patches the specified TargetHttpProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. (== suppress_warning http-rest-shadowed ==)", "parameters": { @@ -50370,7 +51044,7 @@ }, "setUrlMap": { "id": "compute.targetHttpProxies.setUrlMap", - "path": "{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", + "path": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", "httpMethod": "POST", "description": "Changes the URL map for TargetHttpProxy.", "parameters": { @@ -50415,7 +51089,7 @@ "methods": { "aggregatedList": { "id": "compute.targetHttpsProxies.aggregatedList", - "path": "{project}/aggregated/targetHttpsProxies", + "path": "projects/{project}/aggregated/targetHttpsProxies", "httpMethod": "GET", "description": "Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project.", "parameters": { @@ -50474,7 +51148,7 @@ }, "delete": { "id": "compute.targetHttpsProxies.delete", - "path": "{project}/global/targetHttpsProxies/{targetHttpsProxy}", + "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "DELETE", "description": "Deletes the specified TargetHttpsProxy resource.", "parameters": { @@ -50512,7 +51186,7 @@ }, "get": { "id": "compute.targetHttpsProxies.get", - "path": "{project}/global/targetHttpsProxies/{targetHttpsProxy}", + "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "GET", "description": "Returns the specified TargetHttpsProxy resource. Gets a list of available target HTTPS proxies by making a list() request.", "parameters": { @@ -50546,7 +51220,7 @@ }, "insert": { "id": "compute.targetHttpsProxies.insert", - "path": "{project}/global/targetHttpsProxies", + "path": "projects/{project}/global/targetHttpsProxies", "httpMethod": "POST", "description": "Creates a TargetHttpsProxy resource in the specified project using the data included in the request.", "parameters": { @@ -50579,7 +51253,7 @@ }, "list": { "id": "compute.targetHttpsProxies.list", - "path": "{project}/global/targetHttpsProxies", + "path": "projects/{project}/global/targetHttpsProxies", "httpMethod": "GET", "description": "Retrieves the list of TargetHttpsProxy resources available to the specified project.", "parameters": { @@ -50633,7 +51307,7 @@ }, "setQuicOverride": { "id": "compute.targetHttpsProxies.setQuicOverride", - "path": "{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", + "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", "httpMethod": "POST", "description": "Sets the QUIC override policy for TargetHttpsProxy.", "parameters": { @@ -50673,7 +51347,7 @@ }, "setSslCertificates": { "id": "compute.targetHttpsProxies.setSslCertificates", - "path": "{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", + "path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", "httpMethod": "POST", "description": "Replaces SslCertificates for TargetHttpsProxy.", "parameters": { @@ -50714,7 +51388,7 @@ }, "setSslPolicy": { "id": "compute.targetHttpsProxies.setSslPolicy", - "path": "{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", + "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", "httpMethod": "POST", "description": "Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the HTTPS proxy load balancer. They do not affect the connection between the load balancer and the backends.", "parameters": { @@ -50754,7 +51428,7 @@ }, "setUrlMap": { "id": "compute.targetHttpsProxies.setUrlMap", - "path": "{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", + "path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "httpMethod": "POST", "description": "Changes the URL map for TargetHttpsProxy.", "parameters": { @@ -50799,7 +51473,7 @@ "methods": { "aggregatedList": { "id": "compute.targetInstances.aggregatedList", - "path": "{project}/aggregated/targetInstances", + "path": "projects/{project}/aggregated/targetInstances", "httpMethod": "GET", "description": "Retrieves an aggregated list of target instances.", "parameters": { @@ -50858,7 +51532,7 @@ }, "delete": { "id": "compute.targetInstances.delete", - "path": "{project}/zones/{zone}/targetInstances/{targetInstance}", + "path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", "httpMethod": "DELETE", "description": "Deletes the specified TargetInstance resource.", "parameters": { @@ -50904,7 +51578,7 @@ }, "get": { "id": "compute.targetInstances.get", - "path": "{project}/zones/{zone}/targetInstances/{targetInstance}", + "path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", "httpMethod": "GET", "description": "Returns the specified TargetInstance resource. Gets a list of available target instances by making a list() request.", "parameters": { @@ -50946,7 +51620,7 @@ }, "insert": { "id": "compute.targetInstances.insert", - "path": "{project}/zones/{zone}/targetInstances", + "path": "projects/{project}/zones/{zone}/targetInstances", "httpMethod": "POST", "description": "Creates a TargetInstance resource in the specified project and zone using the data included in the request.", "parameters": { @@ -50987,7 +51661,7 @@ }, "list": { "id": "compute.targetInstances.list", - "path": "{project}/zones/{zone}/targetInstances", + "path": "projects/{project}/zones/{zone}/targetInstances", "httpMethod": "GET", "description": "Retrieves a list of TargetInstance resources available to the specified project and zone.", "parameters": { @@ -51053,7 +51727,7 @@ "methods": { "addHealthCheck": { "id": "compute.targetPools.addHealthCheck", - "path": "{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", "httpMethod": "POST", "description": "Adds health check URLs to a target pool.", "parameters": { @@ -51102,7 +51776,7 @@ }, "addInstance": { "id": "compute.targetPools.addInstance", - "path": "{project}/regions/{region}/targetPools/{targetPool}/addInstance", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", "httpMethod": "POST", "description": "Adds an instance to a target pool.", "parameters": { @@ -51151,7 +51825,7 @@ }, "aggregatedList": { "id": "compute.targetPools.aggregatedList", - "path": "{project}/aggregated/targetPools", + "path": "projects/{project}/aggregated/targetPools", "httpMethod": "GET", "description": "Retrieves an aggregated list of target pools.", "parameters": { @@ -51210,7 +51884,7 @@ }, "delete": { "id": "compute.targetPools.delete", - "path": "{project}/regions/{region}/targetPools/{targetPool}", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}", "httpMethod": "DELETE", "description": "Deletes the specified target pool.", "parameters": { @@ -51256,7 +51930,7 @@ }, "get": { "id": "compute.targetPools.get", - "path": "{project}/regions/{region}/targetPools/{targetPool}", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}", "httpMethod": "GET", "description": "Returns the specified target pool. Gets a list of available target pools by making a list() request.", "parameters": { @@ -51298,7 +51972,7 @@ }, "getHealth": { "id": "compute.targetPools.getHealth", - "path": "{project}/regions/{region}/targetPools/{targetPool}/getHealth", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", "httpMethod": "POST", "description": "Gets the most recent health check results for each IP for the instance that is referenced by the given target pool.", "parameters": { @@ -51343,7 +52017,7 @@ }, "insert": { "id": "compute.targetPools.insert", - "path": "{project}/regions/{region}/targetPools", + "path": "projects/{project}/regions/{region}/targetPools", "httpMethod": "POST", "description": "Creates a target pool in the specified project and region using the data included in the request.", "parameters": { @@ -51384,7 +52058,7 @@ }, "list": { "id": "compute.targetPools.list", - "path": "{project}/regions/{region}/targetPools", + "path": "projects/{project}/regions/{region}/targetPools", "httpMethod": "GET", "description": "Retrieves a list of target pools available to the specified project and region.", "parameters": { @@ -51446,7 +52120,7 @@ }, "removeHealthCheck": { "id": "compute.targetPools.removeHealthCheck", - "path": "{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", "httpMethod": "POST", "description": "Removes health check URL from a target pool.", "parameters": { @@ -51495,7 +52169,7 @@ }, "removeInstance": { "id": "compute.targetPools.removeInstance", - "path": "{project}/regions/{region}/targetPools/{targetPool}/removeInstance", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", "httpMethod": "POST", "description": "Removes instance URL from a target pool.", "parameters": { @@ -51544,7 +52218,7 @@ }, "setBackup": { "id": "compute.targetPools.setBackup", - "path": "{project}/regions/{region}/targetPools/{targetPool}/setBackup", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", "httpMethod": "POST", "description": "Changes a backup target pool's configurations.", "parameters": { @@ -51603,7 +52277,7 @@ "methods": { "delete": { "id": "compute.targetSslProxies.delete", - "path": "{project}/global/targetSslProxies/{targetSslProxy}", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "httpMethod": "DELETE", "description": "Deletes the specified TargetSslProxy resource.", "parameters": { @@ -51641,7 +52315,7 @@ }, "get": { "id": "compute.targetSslProxies.get", - "path": "{project}/global/targetSslProxies/{targetSslProxy}", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "httpMethod": "GET", "description": "Returns the specified TargetSslProxy resource. Gets a list of available target SSL proxies by making a list() request.", "parameters": { @@ -51675,7 +52349,7 @@ }, "insert": { "id": "compute.targetSslProxies.insert", - "path": "{project}/global/targetSslProxies", + "path": "projects/{project}/global/targetSslProxies", "httpMethod": "POST", "description": "Creates a TargetSslProxy resource in the specified project using the data included in the request.", "parameters": { @@ -51708,7 +52382,7 @@ }, "list": { "id": "compute.targetSslProxies.list", - "path": "{project}/global/targetSslProxies", + "path": "projects/{project}/global/targetSslProxies", "httpMethod": "GET", "description": "Retrieves the list of TargetSslProxy resources available to the specified project.", "parameters": { @@ -51762,7 +52436,7 @@ }, "setBackendService": { "id": "compute.targetSslProxies.setBackendService", - "path": "{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", "httpMethod": "POST", "description": "Changes the BackendService for TargetSslProxy.", "parameters": { @@ -51803,7 +52477,7 @@ }, "setProxyHeader": { "id": "compute.targetSslProxies.setProxyHeader", - "path": "{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", "httpMethod": "POST", "description": "Changes the ProxyHeaderType for TargetSslProxy.", "parameters": { @@ -51844,7 +52518,7 @@ }, "setSslCertificates": { "id": "compute.targetSslProxies.setSslCertificates", - "path": "{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", "httpMethod": "POST", "description": "Changes SslCertificates for TargetSslProxy.", "parameters": { @@ -51885,7 +52559,7 @@ }, "setSslPolicy": { "id": "compute.targetSslProxies.setSslPolicy", - "path": "{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", "httpMethod": "POST", "description": "Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the SSL proxy load balancer. They do not affect the connection between the load balancer and the backends.", "parameters": { @@ -51929,7 +52603,7 @@ "methods": { "delete": { "id": "compute.targetTcpProxies.delete", - "path": "{project}/global/targetTcpProxies/{targetTcpProxy}", + "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", "httpMethod": "DELETE", "description": "Deletes the specified TargetTcpProxy resource.", "parameters": { @@ -51967,7 +52641,7 @@ }, "get": { "id": "compute.targetTcpProxies.get", - "path": "{project}/global/targetTcpProxies/{targetTcpProxy}", + "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", "httpMethod": "GET", "description": "Returns the specified TargetTcpProxy resource. Gets a list of available target TCP proxies by making a list() request.", "parameters": { @@ -52001,7 +52675,7 @@ }, "insert": { "id": "compute.targetTcpProxies.insert", - "path": "{project}/global/targetTcpProxies", + "path": "projects/{project}/global/targetTcpProxies", "httpMethod": "POST", "description": "Creates a TargetTcpProxy resource in the specified project using the data included in the request.", "parameters": { @@ -52034,7 +52708,7 @@ }, "list": { "id": "compute.targetTcpProxies.list", - "path": "{project}/global/targetTcpProxies", + "path": "projects/{project}/global/targetTcpProxies", "httpMethod": "GET", "description": "Retrieves the list of TargetTcpProxy resources available to the specified project.", "parameters": { @@ -52088,7 +52762,7 @@ }, "setBackendService": { "id": "compute.targetTcpProxies.setBackendService", - "path": "{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", + "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", "httpMethod": "POST", "description": "Changes the BackendService for TargetTcpProxy.", "parameters": { @@ -52129,7 +52803,7 @@ }, "setProxyHeader": { "id": "compute.targetTcpProxies.setProxyHeader", - "path": "{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", + "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", "httpMethod": "POST", "description": "Changes the ProxyHeaderType for TargetTcpProxy.", "parameters": { @@ -52174,7 +52848,7 @@ "methods": { "aggregatedList": { "id": "compute.targetVpnGateways.aggregatedList", - "path": "{project}/aggregated/targetVpnGateways", + "path": "projects/{project}/aggregated/targetVpnGateways", "httpMethod": "GET", "description": "Retrieves an aggregated list of target VPN gateways.", "parameters": { @@ -52233,7 +52907,7 @@ }, "delete": { "id": "compute.targetVpnGateways.delete", - "path": "{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", + "path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", "httpMethod": "DELETE", "description": "Deletes the specified target VPN gateway.", "parameters": { @@ -52279,7 +52953,7 @@ }, "get": { "id": "compute.targetVpnGateways.get", - "path": "{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", + "path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", "httpMethod": "GET", "description": "Returns the specified target VPN gateway. Gets a list of available target VPN gateways by making a list() request.", "parameters": { @@ -52321,7 +52995,7 @@ }, "insert": { "id": "compute.targetVpnGateways.insert", - "path": "{project}/regions/{region}/targetVpnGateways", + "path": "projects/{project}/regions/{region}/targetVpnGateways", "httpMethod": "POST", "description": "Creates a target VPN gateway in the specified project and region using the data included in the request.", "parameters": { @@ -52362,7 +53036,7 @@ }, "list": { "id": "compute.targetVpnGateways.list", - "path": "{project}/regions/{region}/targetVpnGateways", + "path": "projects/{project}/regions/{region}/targetVpnGateways", "httpMethod": "GET", "description": "Retrieves a list of target VPN gateways available to the specified project and region.", "parameters": { @@ -52428,7 +53102,7 @@ "methods": { "aggregatedList": { "id": "compute.urlMaps.aggregatedList", - "path": "{project}/aggregated/urlMaps", + "path": "projects/{project}/aggregated/urlMaps", "httpMethod": "GET", "description": "Retrieves the list of all UrlMap resources, regional and global, available to the specified project.", "parameters": { @@ -52487,7 +53161,7 @@ }, "delete": { "id": "compute.urlMaps.delete", - "path": "{project}/global/urlMaps/{urlMap}", + "path": "projects/{project}/global/urlMaps/{urlMap}", "httpMethod": "DELETE", "description": "Deletes the specified UrlMap resource.", "parameters": { @@ -52525,7 +53199,7 @@ }, "get": { "id": "compute.urlMaps.get", - "path": "{project}/global/urlMaps/{urlMap}", + "path": "projects/{project}/global/urlMaps/{urlMap}", "httpMethod": "GET", "description": "Returns the specified UrlMap resource. Gets a list of available URL maps by making a list() request.", "parameters": { @@ -52559,7 +53233,7 @@ }, "insert": { "id": "compute.urlMaps.insert", - "path": "{project}/global/urlMaps", + "path": "projects/{project}/global/urlMaps", "httpMethod": "POST", "description": "Creates a UrlMap resource in the specified project using the data included in the request.", "parameters": { @@ -52592,9 +53266,9 @@ }, "invalidateCache": { "id": "compute.urlMaps.invalidateCache", - "path": "{project}/global/urlMaps/{urlMap}/invalidateCache", + "path": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", "httpMethod": "POST", - "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap.", + "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap.\n\nFor more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", "parameters": { "project": { "type": "string", @@ -52633,7 +53307,7 @@ }, "list": { "id": "compute.urlMaps.list", - "path": "{project}/global/urlMaps", + "path": "projects/{project}/global/urlMaps", "httpMethod": "GET", "description": "Retrieves the list of UrlMap resources available to the specified project.", "parameters": { @@ -52687,7 +53361,7 @@ }, "patch": { "id": "compute.urlMaps.patch", - "path": "{project}/global/urlMaps/{urlMap}", + "path": "projects/{project}/global/urlMaps/{urlMap}", "httpMethod": "PATCH", "description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { @@ -52728,7 +53402,7 @@ }, "update": { "id": "compute.urlMaps.update", - "path": "{project}/global/urlMaps/{urlMap}", + "path": "projects/{project}/global/urlMaps/{urlMap}", "httpMethod": "PUT", "description": "Updates the specified UrlMap resource with the data included in the request.", "parameters": { @@ -52769,7 +53443,7 @@ }, "validate": { "id": "compute.urlMaps.validate", - "path": "{project}/global/urlMaps/{urlMap}/validate", + "path": "projects/{project}/global/urlMaps/{urlMap}/validate", "httpMethod": "POST", "description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", "parameters": { @@ -52809,7 +53483,7 @@ "methods": { "aggregatedList": { "id": "compute.vpnGateways.aggregatedList", - "path": "{project}/aggregated/vpnGateways", + "path": "projects/{project}/aggregated/vpnGateways", "httpMethod": "GET", "description": "Retrieves an aggregated list of VPN gateways.", "parameters": { @@ -52868,7 +53542,7 @@ }, "delete": { "id": "compute.vpnGateways.delete", - "path": "{project}/regions/{region}/vpnGateways/{vpnGateway}", + "path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", "httpMethod": "DELETE", "description": "Deletes the specified VPN gateway.", "parameters": { @@ -52914,7 +53588,7 @@ }, "get": { "id": "compute.vpnGateways.get", - "path": "{project}/regions/{region}/vpnGateways/{vpnGateway}", + "path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", "httpMethod": "GET", "description": "Returns the specified VPN gateway. Gets a list of available VPN gateways by making a list() request.", "parameters": { @@ -52956,7 +53630,7 @@ }, "getStatus": { "id": "compute.vpnGateways.getStatus", - "path": "{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", + "path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", "httpMethod": "GET", "description": "Returns the status for the specified VPN gateway.", "parameters": { @@ -52998,7 +53672,7 @@ }, "insert": { "id": "compute.vpnGateways.insert", - "path": "{project}/regions/{region}/vpnGateways", + "path": "projects/{project}/regions/{region}/vpnGateways", "httpMethod": "POST", "description": "Creates a VPN gateway in the specified project and region using the data included in the request.", "parameters": { @@ -53039,7 +53713,7 @@ }, "list": { "id": "compute.vpnGateways.list", - "path": "{project}/regions/{region}/vpnGateways", + "path": "projects/{project}/regions/{region}/vpnGateways", "httpMethod": "GET", "description": "Retrieves a list of VPN gateways available to the specified project and region.", "parameters": { @@ -53101,7 +53775,7 @@ }, "setLabels": { "id": "compute.vpnGateways.setLabels", - "path": "{project}/regions/{region}/vpnGateways/{resource}/setLabels", + "path": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", "httpMethod": "POST", "description": "Sets the labels on a VpnGateway. To learn more about labels, read the Labeling Resources documentation.", "parameters": { @@ -53150,7 +53824,7 @@ }, "testIamPermissions": { "id": "compute.vpnGateways.testIamPermissions", - "path": "{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", "httpMethod": "POST", "description": "Returns permissions that a caller has on the specified resource.", "parameters": { @@ -53199,7 +53873,7 @@ "methods": { "aggregatedList": { "id": "compute.vpnTunnels.aggregatedList", - "path": "{project}/aggregated/vpnTunnels", + "path": "projects/{project}/aggregated/vpnTunnels", "httpMethod": "GET", "description": "Retrieves an aggregated list of VPN tunnels.", "parameters": { @@ -53258,7 +53932,7 @@ }, "delete": { "id": "compute.vpnTunnels.delete", - "path": "{project}/regions/{region}/vpnTunnels/{vpnTunnel}", + "path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", "httpMethod": "DELETE", "description": "Deletes the specified VpnTunnel resource.", "parameters": { @@ -53304,7 +53978,7 @@ }, "get": { "id": "compute.vpnTunnels.get", - "path": "{project}/regions/{region}/vpnTunnels/{vpnTunnel}", + "path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", "httpMethod": "GET", "description": "Returns the specified VpnTunnel resource. Gets a list of available VPN tunnels by making a list() request.", "parameters": { @@ -53346,7 +54020,7 @@ }, "insert": { "id": "compute.vpnTunnels.insert", - "path": "{project}/regions/{region}/vpnTunnels", + "path": "projects/{project}/regions/{region}/vpnTunnels", "httpMethod": "POST", "description": "Creates a VpnTunnel resource in the specified project and region using the data included in the request.", "parameters": { @@ -53387,7 +54061,7 @@ }, "list": { "id": "compute.vpnTunnels.list", - "path": "{project}/regions/{region}/vpnTunnels", + "path": "projects/{project}/regions/{region}/vpnTunnels", "httpMethod": "GET", "description": "Retrieves a list of VpnTunnel resources contained in the specified project and region.", "parameters": { @@ -53453,7 +54127,7 @@ "methods": { "delete": { "id": "compute.zoneOperations.delete", - "path": "{project}/zones/{zone}/operations/{operation}", + "path": "projects/{project}/zones/{zone}/operations/{operation}", "httpMethod": "DELETE", "description": "Deletes the specified zone-specific Operations resource.", "parameters": { @@ -53491,7 +54165,7 @@ }, "get": { "id": "compute.zoneOperations.get", - "path": "{project}/zones/{zone}/operations/{operation}", + "path": "projects/{project}/zones/{zone}/operations/{operation}", "httpMethod": "GET", "description": "Retrieves the specified zone-specific Operations resource.", "parameters": { @@ -53533,7 +54207,7 @@ }, "list": { "id": "compute.zoneOperations.list", - "path": "{project}/zones/{zone}/operations", + "path": "projects/{project}/zones/{zone}/operations", "httpMethod": "GET", "description": "Retrieves a list of Operation resources contained within the specified zone.", "parameters": { @@ -53595,7 +54269,7 @@ }, "wait": { "id": "compute.zoneOperations.wait", - "path": "{project}/zones/{zone}/operations/{operation}/wait", + "path": "projects/{project}/zones/{zone}/operations/{operation}/wait", "httpMethod": "POST", "description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`.", "parameters": { @@ -53641,7 +54315,7 @@ "methods": { "get": { "id": "compute.zones.get", - "path": "{project}/zones/{zone}", + "path": "projects/{project}/zones/{zone}", "httpMethod": "GET", "description": "Returns the specified Zone resource. Gets a list of available zones by making a list() request.", "parameters": { @@ -53675,7 +54349,7 @@ }, "list": { "id": "compute.zones.list", - "path": "{project}/zones", + "path": "projects/{project}/zones", "httpMethod": "GET", "description": "Retrieves the list of Zone resources available to the specified project.", "parameters": { @@ -53730,4 +54404,4 @@ } } } -} +} \ No newline at end of file