diff --git a/go.mod b/go.mod index ea93473cc3975..8f6e5e568062e 100644 --- a/go.mod +++ b/go.mod @@ -103,7 +103,7 @@ require ( golang.org/x/sync v0.16.0 golang.org/x/sys v0.35.0 golang.org/x/time v0.12.0 - google.golang.org/api v0.246.0 + google.golang.org/api v0.247.0 google.golang.org/grpc v1.74.2 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 @@ -168,7 +168,7 @@ require ( require ( cel.dev/expr v0.24.0 // indirect - cloud.google.com/go/auth v0.16.3 // indirect + cloud.google.com/go/auth v0.16.4 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect cloud.google.com/go/monitoring v1.24.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect @@ -301,7 +301,7 @@ require ( require ( cloud.google.com/go v0.121.4 // indirect - cloud.google.com/go/compute/metadata v0.7.0 // indirect + cloud.google.com/go/compute/metadata v0.8.0 // indirect cloud.google.com/go/iam v1.5.2 // indirect cloud.google.com/go/longrunning v0.6.7 // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0 // indirect @@ -462,7 +462,7 @@ require ( golang.org/x/tools v0.35.0 // indirect google.golang.org/genproto v0.0.0-20250603155806-513f23925822 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250721164621-a45f3dfb1074 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250728155136-f173205681a0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect diff --git a/go.sum b/go.sum index b17a105ea9fcd..a919db7999b7c 100644 --- a/go.sum +++ b/go.sum @@ -17,8 +17,8 @@ cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOY cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.121.4 h1:cVvUiY0sX0xwyxPwdSU2KsF9knOVmtRyAMt8xou0iTs= cloud.google.com/go v0.121.4/go.mod h1:XEBchUiHFJbz4lKBZwYBDHV/rSyfFktk737TLDU089s= -cloud.google.com/go/auth v0.16.3 h1:kabzoQ9/bobUmnseYnBO6qQG7q4a/CffFRlJSxv2wCc= -cloud.google.com/go/auth v0.16.3/go.mod h1:NucRGjaXfzP1ltpcQ7On/VTZ0H4kWB5Jy+Y9Dnm76fA= +cloud.google.com/go/auth v0.16.4 h1:fXOAIQmkApVvcIn7Pc2+5J8QTMVbUGLscnSVNl11su8= +cloud.google.com/go/auth v0.16.4/go.mod h1:j10ncYwjX/g3cdX7GpEzsdM+d+ZNsXAbb6qXA7p1Y5M= cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= @@ -29,8 +29,8 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigtable v1.38.0 h1:L/PnUXRtAzFfa7qMULJHt4cXa/O2dqPJEkzYNGA4hfo= cloud.google.com/go/bigtable v1.38.0/go.mod h1:o/lntJarF3Y5C0XYLMJLjLYwxaRbcrtM0BiV57ymXbI= -cloud.google.com/go/compute/metadata v0.7.0 h1:PBWF+iiAerVNe8UCHxdOt6eHLVc3ydFeOCw78U8ytSU= -cloud.google.com/go/compute/metadata v0.7.0/go.mod h1:j5MvL9PprKL39t166CoB1uVHfQMs4tFQZZcKwksXUjo= +cloud.google.com/go/compute/metadata v0.8.0 h1:HxMRIbao8w17ZX6wBnjhcDkW6lTFpgcaobyVfZWqRLA= +cloud.google.com/go/compute/metadata v0.8.0/go.mod h1:sYOGTp851OV9bOFJ9CH7elVvyzopvWQFNNghtDQ/Biw= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/iam v1.5.2 h1:qgFRAGEmd8z6dJ/qyEchAuL9jpswyODjA2lS+w234g8= @@ -1763,8 +1763,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.246.0 h1:H0ODDs5PnMZVZAEtdLMn2Ul2eQi7QNjqM2DIFp8TlTM= -google.golang.org/api v0.246.0/go.mod h1:dMVhVcylamkirHdzEBAIQWUCgqY885ivNeZYd7VAVr8= +google.golang.org/api v0.247.0 h1:tSd/e0QrUlLsrwMKmkbQhYVa109qIintOls2Wh6bngc= +google.golang.org/api v0.247.0/go.mod h1:r1qZOPmxXffXg6xS5uhx16Fa/UFY8QU/K4bfKrnvovM= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1809,8 +1809,8 @@ google.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuO google.golang.org/genproto v0.0.0-20250603155806-513f23925822/go.mod h1:HubltRL7rMh0LfnQPkMH4NPDFEWp0jw3vixw7jEM53s= google.golang.org/genproto/googleapis/api v0.0.0-20250721164621-a45f3dfb1074 h1:mVXdvnmR3S3BQOqHECm9NGMjYiRtEvDYcqAqedTXY6s= google.golang.org/genproto/googleapis/api v0.0.0-20250721164621-a45f3dfb1074/go.mod h1:vYFwMYFbmA8vl6Z/krj/h7+U/AqpHknwJX4Uqgfyc7I= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250728155136-f173205681a0 h1:MAKi5q709QWfnkkpNQ0M12hYJ1+e8qYVDyowc4U1XZM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250728155136-f173205681a0/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b h1:zPKJod4w6F1+nRGDI9ubnXYhU9NSWoFAijkHkUXeTK8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= diff --git a/vendor/cloud.google.com/go/auth/CHANGES.md b/vendor/cloud.google.com/go/auth/CHANGES.md index cbee128167c86..d2354a8beed04 100644 --- a/vendor/cloud.google.com/go/auth/CHANGES.md +++ b/vendor/cloud.google.com/go/auth/CHANGES.md @@ -1,5 +1,12 @@ # Changelog +## [0.16.4](https://github.com/googleapis/google-cloud-go/compare/auth/v0.16.3...auth/v0.16.4) (2025-08-06) + + +### Bug Fixes + +* **auth:** Add UseDefaultClient: true to metadata.Options ([#12666](https://github.com/googleapis/google-cloud-go/issues/12666)) ([1482191](https://github.com/googleapis/google-cloud-go/commit/1482191e88236693efef68769752638281566766)), refs [#11078](https://github.com/googleapis/google-cloud-go/issues/11078) [#12657](https://github.com/googleapis/google-cloud-go/issues/12657) + ## [0.16.3](https://github.com/googleapis/google-cloud-go/compare/auth/v0.16.2...auth/v0.16.3) (2025-07-17) diff --git a/vendor/cloud.google.com/go/auth/credentials/detect.go b/vendor/cloud.google.com/go/auth/credentials/detect.go index d8f7d96146627..ad3267eb28564 100644 --- a/vendor/cloud.google.com/go/auth/credentials/detect.go +++ b/vendor/cloud.google.com/go/auth/credentials/detect.go @@ -116,7 +116,8 @@ func DetectDefault(opts *DetectOptions) (*auth.Credentials, error) { if OnGCE() { metadataClient := metadata.NewWithOptions(&metadata.Options{ - Logger: opts.logger(), + Logger: opts.logger(), + UseDefaultClient: true, }) return auth.NewCredentials(&auth.CredentialsOptions{ TokenProvider: computeTokenProvider(opts, metadataClient), diff --git a/vendor/cloud.google.com/go/compute/metadata/CHANGES.md b/vendor/cloud.google.com/go/compute/metadata/CHANGES.md index 1f848ce0b3123..a2a643ef74301 100644 --- a/vendor/cloud.google.com/go/compute/metadata/CHANGES.md +++ b/vendor/cloud.google.com/go/compute/metadata/CHANGES.md @@ -1,5 +1,12 @@ # Changes +## [0.8.0](https://github.com/googleapis/google-cloud-go/compare/compute/metadata/v0.7.0...compute/metadata/v0.8.0) (2025-08-06) + + +### Features + +* **compute/metadata:** Add Options.UseDefaultClient ([#12657](https://github.com/googleapis/google-cloud-go/issues/12657)) ([1a88209](https://github.com/googleapis/google-cloud-go/commit/1a8820900f20e038291c4bb2c5284a449196e81f)), refs [#11078](https://github.com/googleapis/google-cloud-go/issues/11078) + ## [0.7.0](https://github.com/googleapis/google-cloud-go/compare/compute/metadata/v0.6.0...compute/metadata/v0.7.0) (2025-05-13) diff --git a/vendor/cloud.google.com/go/compute/metadata/metadata.go b/vendor/cloud.google.com/go/compute/metadata/metadata.go index 322be8032d7c3..6873ad8d1a085 100644 --- a/vendor/cloud.google.com/go/compute/metadata/metadata.go +++ b/vendor/cloud.google.com/go/compute/metadata/metadata.go @@ -357,26 +357,52 @@ type Client struct { // Options for configuring a [Client]. type Options struct { // Client is the HTTP client used to make requests. Optional. + // If UseDefaultClient is true, this field is ignored. + // If this field is nil, a new default http.Client will be created. Client *http.Client // Logger is used to log information about HTTP request and responses. // If not provided, nothing will be logged. Optional. Logger *slog.Logger + // UseDefaultClient specifies that the client should use the same default + // internal http.Client that is used in functions such as GetWithContext. + // This is useful for sharing a single TCP connection pool across requests. + // The difference vs GetWithContext is the ability to use this struct + // to provide a custom logger. If this field is true, the Client + // field is ignored. + UseDefaultClient bool } // NewClient returns a Client that can be used to fetch metadata. // Returns the client that uses the specified http.Client for HTTP requests. -// If nil is specified, returns the default client. +// If nil is specified, returns the default internal Client that is +// also used in functions such as GetWithContext. This is useful for sharing +// a single TCP connection pool across requests. func NewClient(c *http.Client) *Client { - return NewWithOptions(&Options{ - Client: c, - }) + if c == nil { + // Preserve original behavior for nil argument. + return defaultClient + } + // Return a new client with a no-op logger for backward compatibility. + return &Client{hc: c, logger: slog.New(noOpHandler{})} } // NewWithOptions returns a Client that is configured with the provided Options. func NewWithOptions(opts *Options) *Client { + // Preserve original behavior for nil opts. if opts == nil { return defaultClient } + + // Handle explicit request for the internal default http.Client. + if opts.UseDefaultClient { + logger := opts.Logger + if logger == nil { + logger = slog.New(noOpHandler{}) + } + return &Client{hc: defaultClient.hc, logger: logger} + } + + // Handle isolated client creation. client := opts.Client if client == nil { client = newDefaultHTTPClient() diff --git a/vendor/google.golang.org/api/compute/v1/compute-api.json b/vendor/google.golang.org/api/compute/v1/compute-api.json index e361bc3105dd6..fc26f1edf6cd5 100644 --- a/vendor/google.golang.org/api/compute/v1/compute-api.json +++ b/vendor/google.golang.org/api/compute/v1/compute-api.json @@ -18178,6 +18178,48 @@ "https://www.googleapis.com/auth/compute" ] }, + "requestRemovePeering": { + "description": "Requests to remove a peering from the specified network. Applicable only for PeeringConnection with update_strategy=CONSENSUS.", + "flatPath": "projects/{project}/global/networks/{network}/requestRemovePeering", + "httpMethod": "POST", + "id": "compute.networks.requestRemovePeering", + "parameterOrder": [ + "project", + "network" + ], + "parameters": { + "network": { + "description": "Name of the network resource to remove peering from.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/networks/{network}/requestRemovePeering", + "request": { + "$ref": "NetworksRequestRemovePeeringRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "switchToCustomMode": { "description": "Switches the network mode from auto subnet mode to custom subnet mode.", "flatPath": "projects/{project}/global/networks/{network}/switchToCustomMode", @@ -39954,7 +39996,7 @@ } } }, - "revision": "20250728", + "revision": "20250729", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -42771,6 +42813,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "BackendBucketParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -43070,6 +43116,20 @@ }, "type": "object" }, + "BackendBucketParams": { + "description": "Additional Backend Bucket parameters.", + "id": "BackendBucketParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * {\"tagKeys/333\" : \"tagValues/444\", \"tagKeys/123\" : \"tagValues/456\"} * {\"123/environment\" : \"production\", \"345/abc\" : \"xyz\"} Note: * Invalid combinations of ID \u0026 namespaced format is not supported. For instance: {\"123/environment\" : \"tagValues/444\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "BackendBucketUsedBy": { "id": "BackendBucketUsedBy", "properties": { @@ -43334,6 +43394,10 @@ "$ref": "OutlierDetection", "description": "Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, HTTP2 or H2C, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." }, + "params": { + "$ref": "BackendServiceParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, "port": { "deprecated": true, "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port.", @@ -44322,6 +44386,20 @@ }, "type": "object" }, + "BackendServiceParams": { + "description": "Additional Backend Service parameters.", + "id": "BackendServiceParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * {\"tagKeys/333\" : \"tagValues/444\", \"tagKeys/123\" : \"tagValues/456\"} * {\"123/environment\" : \"production\", \"345/abc\" : \"xyz\"} Note: * Invalid combinations of ID \u0026 namespaced format is not supported. For instance: {\"123/environment\" : \"tagValues/444\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "BackendServiceReference": { "id": "BackendServiceReference", "properties": { @@ -57691,10 +57769,18 @@ "description": "Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.", "id": "Interconnect", "properties": { + "aaiEnabled": { + "description": "Enable or disable the application awareness feature on this Cloud Interconnect.", + "type": "boolean" + }, "adminEnabled": { "description": "Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.", "type": "boolean" }, + "applicationAwareInterconnect": { + "$ref": "InterconnectApplicationAwareInterconnect", + "description": "Configuration information for application awareness on this Cloud Interconnect." + }, "availableFeatures": { "description": "[Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.", "items": { @@ -57898,6 +57984,81 @@ }, "type": "object" }, + "InterconnectApplicationAwareInterconnect": { + "description": "Configuration information for application awareness on this Cloud Interconnect.", + "id": "InterconnectApplicationAwareInterconnect", + "properties": { + "bandwidthPercentagePolicy": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy" + }, + "profileDescription": { + "description": "Description for the application awareness profile on this Cloud Interconnect.", + "type": "string" + }, + "shapeAveragePercentages": { + "description": "Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.", + "items": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" + }, + "type": "array" + }, + "strictPriorityPolicy": { + "$ref": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectBandwidthPercentage": { + "description": "Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified.", + "id": "InterconnectApplicationAwareInterconnectBandwidthPercentage", + "properties": { + "percentage": { + "description": "Bandwidth percentage for a specific traffic class.", + "format": "uint32", + "type": "integer" + }, + "trafficClass": { + "description": "TrafficClass whose bandwidth percentage is being specified.", + "enum": [ + "TC1", + "TC2", + "TC3", + "TC4", + "TC5", + "TC6" + ], + "enumDescriptions": [ + "Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx.", + "Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx.", + "Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx.", + "Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx.", + "Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx.", + "Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx." + ], + "type": "string" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy": { + "id": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy", + "properties": { + "bandwidthPercentages": { + "description": "Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent.", + "items": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectStrictPriorityPolicy": { + "description": "Specify configuration for StrictPriorityPolicy.", + "id": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy", + "properties": {}, + "type": "object" + }, "InterconnectAttachment": { "description": "Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.", "id": "InterconnectAttachment", @@ -65207,6 +65368,10 @@ "description": "This field will be deprecated soon. Use the exchange_subnet_routes field instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", "type": "boolean" }, + "connectionStatus": { + "$ref": "NetworkPeeringConnectionStatus", + "description": "[Output Only] The effective state of the peering connection as a whole." + }, "exchangeSubnetRoutes": { "description": "Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", "type": "boolean" @@ -65267,6 +65432,122 @@ "stateDetails": { "description": "[Output Only] Details about the current state of the peering.", "type": "string" + }, + "updateStrategy": { + "description": "The update strategy determines the semantics for updates and deletes to the peering connection configuration.", + "enum": [ + "CONSENSUS", + "INDEPENDENT", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "Updates are reflected in the local peering but aren't applied to the peering connection until a complementary change is made to the matching peering. To delete a peering with the consensus update strategy, both the peerings must request the deletion of the peering before the peering can be deleted.", + "In this mode, changes to the peering configuration can be unilaterally altered by changing either side of the peering. This is the default value if the field is unspecified.", + "Peerings with update strategy UNSPECIFIED are created with update strategy INDEPENDENT." + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkPeeringConnectionStatus": { + "description": "[Output Only] Describes the state of a peering connection, not just the local peering. This field provides information about the effective settings for the connection as a whole, including pending delete/update requests for CONSENSUS peerings.", + "id": "NetworkPeeringConnectionStatus", + "properties": { + "consensusState": { + "$ref": "NetworkPeeringConnectionStatusConsensusState", + "description": "The consensus state contains information about the status of update and delete for a consensus peering connection." + }, + "trafficConfiguration": { + "$ref": "NetworkPeeringConnectionStatusTrafficConfiguration", + "description": "The active connectivity settings for the peering connection based on the settings of the network peerings." + }, + "updateStrategy": { + "description": "The update strategy determines the update/delete semantics for this peering connection.", + "enum": [ + "CONSENSUS", + "INDEPENDENT", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "Updates are reflected in the local peering but aren't applied to the peering connection until a complementary change is made to the matching peering. To delete a peering with the consensus update strategy, both the peerings must request the deletion of the peering before the peering can be deleted.", + "In this mode, changes to the peering configuration can be unilaterally altered by changing either side of the peering. This is the default value if the field is unspecified.", + "Peerings with update strategy UNSPECIFIED are created with update strategy INDEPENDENT." + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkPeeringConnectionStatusConsensusState": { + "description": "The status of update/delete for a consensus peering connection. Only set when connection_status.update_strategy is CONSENSUS or a network peering is proposing to update the strategy to CONSENSUS.", + "id": "NetworkPeeringConnectionStatusConsensusState", + "properties": { + "deleteStatus": { + "description": "The status of the delete request.", + "enum": [ + "DELETE_ACKNOWLEDGED", + "DELETE_STATUS_UNSPECIFIED", + "LOCAL_DELETE_REQUESTED", + "PEER_DELETE_REQUESTED" + ], + "enumDescriptions": [ + "Both network admins have agreed this consensus peering connection can be deleted.", + "", + "Network admin has requested deletion of this peering connection.", + "The peer network admin has requested deletion of this peering connection." + ], + "type": "string" + }, + "updateStatus": { + "description": "The status of the update request.", + "enum": [ + "IN_SYNC", + "PENDING_LOCAL_ACKNOWLEDMENT", + "PENDING_PEER_ACKNOWLEDGEMENT", + "UPDATE_STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "No pending configuration update proposals to the peering connection.", + "The peer network admin has made an updatePeering call. The change is awaiting acknowledgment from this peering's network admin.", + "The local network admin has made an updatePeering call. The change is awaiting acknowledgment from the peer network admin.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkPeeringConnectionStatusTrafficConfiguration": { + "id": "NetworkPeeringConnectionStatusTrafficConfiguration", + "properties": { + "exportCustomRoutesToPeer": { + "description": "Whether custom routes are being exported to the peer network.", + "type": "boolean" + }, + "exportSubnetRoutesWithPublicIpToPeer": { + "description": "Whether subnet routes with public IP ranges are being exported to the peer network.", + "type": "boolean" + }, + "importCustomRoutesFromPeer": { + "description": "Whether custom routes are being imported from the peer network.", + "type": "boolean" + }, + "importSubnetRoutesWithPublicIpFromPeer": { + "description": "Whether subnet routes with public IP ranges are being imported from the peer network.", + "type": "boolean" + }, + "stackType": { + "description": "Which IP version(s) of traffic and routes are being imported or exported between peer networks.", + "enum": [ + "IPV4_IPV6", + "IPV4_ONLY" + ], + "enumDescriptions": [ + "This Peering will allow IPv4 traffic and routes to be exchanged. Additionally if the matching peering is IPV4_IPV6, IPv6 traffic and routes will be exchanged as well.", + "This Peering will only allow IPv4 traffic and routes to be exchanged, even if the matching peering is IPV4_IPV6." + ], + "type": "string" } }, "type": "object" @@ -66089,6 +66370,16 @@ }, "type": "object" }, + "NetworksRequestRemovePeeringRequest": { + "id": "NetworksRequestRemovePeeringRequest", + "properties": { + "name": { + "description": "Name of the peering, which should conform to RFC1035.", + "type": "string" + } + }, + "type": "object" + }, "NetworksUpdatePeeringRequest": { "id": "NetworksUpdatePeeringRequest", "properties": { @@ -73497,6 +73788,10 @@ "description": "Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.", "id": "Reservation", "properties": { + "advancedDeploymentControl": { + "$ref": "ReservationAdvancedDeploymentControl", + "description": "Advanced control for cluster management, applicable only to DENSE deployment type reservations." + }, "aggregateReservation": { "$ref": "AllocationAggregateReservation", "description": "Reservation for aggregated resources, providing shape flexibility." @@ -73638,6 +73933,27 @@ }, "type": "object" }, + "ReservationAdvancedDeploymentControl": { + "description": "Advance control for cluster management, applicable only to DENSE deployment type reservations.", + "id": "ReservationAdvancedDeploymentControl", + "properties": { + "reservationOperationalMode": { + "description": "Indicates chosen reservation operational mode for the reservation.", + "enum": [ + "ALL_CAPACITY", + "HIGHLY_AVAILABLE_CAPACITY", + "RESERVATION_OPERATIONAL_MODE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Google Cloud does not manage the failure of machines, but provides additional capacity, which is not guaranteed to be available.", + "Google Cloud manages the failure of machines to provide high availability.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "ReservationAffinity": { "description": "Specifies the reservations that this instance can consume from.", "id": "ReservationAffinity", @@ -75074,7 +75390,8 @@ "type": "string" }, "workloadPolicy": { - "$ref": "ResourcePolicyWorkloadPolicy" + "$ref": "ResourcePolicyWorkloadPolicy", + "description": "Resource policy for defining instance placement for MIGs." } }, "type": "object" @@ -75691,9 +76008,11 @@ "id": "ResourcePolicyWorkloadPolicy", "properties": { "acceleratorTopology": { + "description": "Specifies the topology required to create a partition for VMs that have interconnected GPUs.", "type": "string" }, "maxTopologyDistance": { + "description": "Specifies the maximum distance between instances.", "enum": [ "BLOCK", "CLUSTER", @@ -75707,13 +76026,14 @@ "type": "string" }, "type": { + "description": "Specifies the intent of the instance placement in the MIG.", "enum": [ "HIGH_AVAILABILITY", "HIGH_THROUGHPUT" ], "enumDescriptions": [ - "VMs will be provisioned in such a way which provides high availability.", - "VMs will be provisioned in such a way which provides high throughput." + "MIG spreads out the instances as much as possible for high availability.", + "MIG provisions instances as close to each other as possible for high throughput." ], "type": "string" } diff --git a/vendor/google.golang.org/api/compute/v1/compute-gen.go b/vendor/google.golang.org/api/compute/v1/compute-gen.go index 2779332d6bfb1..c6c263bec89fb 100644 --- a/vendor/google.golang.org/api/compute/v1/compute-gen.go +++ b/vendor/google.golang.org/api/compute/v1/compute-gen.go @@ -4640,6 +4640,9 @@ type BackendBucket struct { // lowercase letter, or digit, except the last character, which cannot be a // dash. Name string `json:"name,omitempty"` + // Params: Input only. [Input Only] Additional params passed with the request, + // but not persisted as part of resource payload. + Params *BackendBucketParams `json:"params,omitempty"` // SelfLink: [Output Only] Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` // UsedBy: [Output Only] List of resources referencing that backend bucket. @@ -5036,6 +5039,36 @@ func (s BackendBucketListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// BackendBucketParams: Additional Backend Bucket parameters. +type BackendBucketParams struct { + // ResourceManagerTags: Tag keys/values directly bound to this resource. Tag + // keys and values have the same definition as resource manager tags. The field + // is allowed for INSERT only. The keys/values to set on the resource should be + // specified in either ID { : } or Namespaced format { : }. For example the + // following are valid inputs: * {"tagKeys/333" : "tagValues/444", + // "tagKeys/123" : "tagValues/456"} * {"123/environment" : "production", + // "345/abc" : "xyz"} Note: * Invalid combinations of ID & namespaced format is + // not supported. For instance: {"123/environment" : "tagValues/444"} is + // invalid. + ResourceManagerTags map[string]string `json:"resourceManagerTags,omitempty"` + // ForceSendFields is a list of field names (e.g. "ResourceManagerTags") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ResourceManagerTags") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BackendBucketParams) MarshalJSON() ([]byte, error) { + type NoMethod BackendBucketParams + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type BackendBucketUsedBy struct { // Reference: [Output Only] Server-defined URL for UrlMaps referencing that // BackendBucket. @@ -5452,6 +5485,9 @@ type BackendService struct { // referenced by a URL map that is bound to target gRPC proxy that has // validateForProxyless field set to true. OutlierDetection *OutlierDetection `json:"outlierDetection,omitempty"` + // Params: Input only. [Input Only] Additional params passed with the request, + // but not persisted as part of resource payload. + Params *BackendServiceParams `json:"params,omitempty"` // Port: Deprecated in favor of portName. The TCP port to connect on the // backend. The default value is 80. For internal passthrough Network Load // Balancers and external passthrough Network Load Balancers, omit port. @@ -6840,6 +6876,36 @@ func (s *BackendServiceLogConfig) UnmarshalJSON(data []byte) error { return nil } +// BackendServiceParams: Additional Backend Service parameters. +type BackendServiceParams struct { + // ResourceManagerTags: Tag keys/values directly bound to this resource. Tag + // keys and values have the same definition as resource manager tags. The field + // is allowed for INSERT only. The keys/values to set on the resource should be + // specified in either ID { : } or Namespaced format { : }. For example the + // following are valid inputs: * {"tagKeys/333" : "tagValues/444", + // "tagKeys/123" : "tagValues/456"} * {"123/environment" : "production", + // "345/abc" : "xyz"} Note: * Invalid combinations of ID & namespaced format is + // not supported. For instance: {"123/environment" : "tagValues/444"} is + // invalid. + ResourceManagerTags map[string]string `json:"resourceManagerTags,omitempty"` + // ForceSendFields is a list of field names (e.g. "ResourceManagerTags") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ResourceManagerTags") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BackendServiceParams) MarshalJSON() ([]byte, error) { + type NoMethod BackendServiceParams + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type BackendServiceReference struct { BackendService string `json:"backendService,omitempty"` // ForceSendFields is a list of field names (e.g. "BackendService") to @@ -22319,11 +22385,17 @@ func (s Int64RangeMatch) MarshalJSON() ([]byte, error) { // on-premises network. For more information, read the Dedicated Interconnect // Overview. type Interconnect struct { + // AaiEnabled: Enable or disable the application awareness feature on this + // Cloud Interconnect. + AaiEnabled bool `json:"aaiEnabled,omitempty"` // AdminEnabled: Administrative status of the interconnect. When this is set to // true, the Interconnect is functional and can carry traffic. When set to // false, no packets can be carried over the interconnect and no BGP routes are // exchanged over it. By default, the status is set to true. AdminEnabled bool `json:"adminEnabled,omitempty"` + // ApplicationAwareInterconnect: Configuration information for application + // awareness on this Cloud Interconnect. + ApplicationAwareInterconnect *InterconnectApplicationAwareInterconnect `json:"applicationAwareInterconnect,omitempty"` // AvailableFeatures: [Output only] List of features available for this // Interconnect connection, which can take one of the following values: - // IF_MACSEC If present then the Interconnect connection is provisioned on @@ -22491,13 +22563,13 @@ type Interconnect struct { // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "AdminEnabled") to + // ForceSendFields is a list of field names (e.g. "AaiEnabled") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AdminEnabled") to include in API + // NullFields is a list of field names (e.g. "AaiEnabled") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. @@ -22509,6 +22581,98 @@ func (s Interconnect) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// InterconnectApplicationAwareInterconnect: Configuration information for +// application awareness on this Cloud Interconnect. +type InterconnectApplicationAwareInterconnect struct { + BandwidthPercentagePolicy *InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy `json:"bandwidthPercentagePolicy,omitempty"` + // ProfileDescription: Description for the application awareness profile on + // this Cloud Interconnect. + ProfileDescription string `json:"profileDescription,omitempty"` + // ShapeAveragePercentages: Optional field to specify a list of shape average + // percentages to be applied in conjunction with StrictPriorityPolicy or + // BandwidthPercentagePolicy. + ShapeAveragePercentages []*InterconnectApplicationAwareInterconnectBandwidthPercentage `json:"shapeAveragePercentages,omitempty"` + StrictPriorityPolicy *InterconnectApplicationAwareInterconnectStrictPriorityPolicy `json:"strictPriorityPolicy,omitempty"` + // ForceSendFields is a list of field names (e.g. "BandwidthPercentagePolicy") + // to unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BandwidthPercentagePolicy") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InterconnectApplicationAwareInterconnect) MarshalJSON() ([]byte, error) { + type NoMethod InterconnectApplicationAwareInterconnect + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// InterconnectApplicationAwareInterconnectBandwidthPercentage: Specify +// bandwidth percentages [1-100] for various traffic classes in +// BandwidthPercentagePolicy. The sum of all percentages must equal 100. All +// traffic classes must have a percentage value specified. +type InterconnectApplicationAwareInterconnectBandwidthPercentage struct { + // Percentage: Bandwidth percentage for a specific traffic class. + Percentage int64 `json:"percentage,omitempty"` + // TrafficClass: TrafficClass whose bandwidth percentage is being specified. + // + // Possible values: + // "TC1" - Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx. + // "TC2" - Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx. + // "TC3" - Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx. + // "TC4" - Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx. + // "TC5" - Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx. + // "TC6" - Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx. + TrafficClass string `json:"trafficClass,omitempty"` + // ForceSendFields is a list of field names (e.g. "Percentage") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Percentage") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InterconnectApplicationAwareInterconnectBandwidthPercentage) MarshalJSON() ([]byte, error) { + type NoMethod InterconnectApplicationAwareInterconnectBandwidthPercentage + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy struct { + // BandwidthPercentages: Specify bandwidth percentages for various traffic + // classes for queuing type Bandwidth Percent. + BandwidthPercentages []*InterconnectApplicationAwareInterconnectBandwidthPercentage `json:"bandwidthPercentages,omitempty"` + // ForceSendFields is a list of field names (e.g. "BandwidthPercentages") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BandwidthPercentages") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy) MarshalJSON() ([]byte, error) { + type NoMethod InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// InterconnectApplicationAwareInterconnectStrictPriorityPolicy: Specify +// configuration for StrictPriorityPolicy. +type InterconnectApplicationAwareInterconnectStrictPriorityPolicy struct { +} + // InterconnectAttachment: Represents an Interconnect Attachment (VLAN) // resource. You can use Interconnect attachments (VLANS) to connect your // Virtual Private Cloud networks to your on-premises networks through an @@ -30557,6 +30721,9 @@ type NetworkPeering struct { // automatically create and manage subnetwork routes between two networks when // peering state is ACTIVE. AutoCreateRoutes bool `json:"autoCreateRoutes,omitempty"` + // ConnectionStatus: [Output Only] The effective state of the peering + // connection as a whole. + ConnectionStatus *NetworkPeeringConnectionStatus `json:"connectionStatus,omitempty"` // ExchangeSubnetRoutes: Indicates whether full mesh connectivity is created // and managed automatically between peered networks. Currently this field // should always be true since Google Compute Engine will automatically create @@ -30614,6 +30781,21 @@ type NetworkPeering struct { State string `json:"state,omitempty"` // StateDetails: [Output Only] Details about the current state of the peering. StateDetails string `json:"stateDetails,omitempty"` + // UpdateStrategy: The update strategy determines the semantics for updates and + // deletes to the peering connection configuration. + // + // Possible values: + // "CONSENSUS" - Updates are reflected in the local peering but aren't + // applied to the peering connection until a complementary change is made to + // the matching peering. To delete a peering with the consensus update + // strategy, both the peerings must request the deletion of the peering before + // the peering can be deleted. + // "INDEPENDENT" - In this mode, changes to the peering configuration can be + // unilaterally altered by changing either side of the peering. This is the + // default value if the field is unspecified. + // "UNSPECIFIED" - Peerings with update strategy UNSPECIFIED are created with + // update strategy INDEPENDENT. + UpdateStrategy string `json:"updateStrategy,omitempty"` // ForceSendFields is a list of field names (e.g. "AutoCreateRoutes") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -30632,6 +30814,138 @@ func (s NetworkPeering) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// NetworkPeeringConnectionStatus: [Output Only] Describes the state of a +// peering connection, not just the local peering. This field provides +// information about the effective settings for the connection as a whole, +// including pending delete/update requests for CONSENSUS peerings. +type NetworkPeeringConnectionStatus struct { + // ConsensusState: The consensus state contains information about the status of + // update and delete for a consensus peering connection. + ConsensusState *NetworkPeeringConnectionStatusConsensusState `json:"consensusState,omitempty"` + // TrafficConfiguration: The active connectivity settings for the peering + // connection based on the settings of the network peerings. + TrafficConfiguration *NetworkPeeringConnectionStatusTrafficConfiguration `json:"trafficConfiguration,omitempty"` + // UpdateStrategy: The update strategy determines the update/delete semantics + // for this peering connection. + // + // Possible values: + // "CONSENSUS" - Updates are reflected in the local peering but aren't + // applied to the peering connection until a complementary change is made to + // the matching peering. To delete a peering with the consensus update + // strategy, both the peerings must request the deletion of the peering before + // the peering can be deleted. + // "INDEPENDENT" - In this mode, changes to the peering configuration can be + // unilaterally altered by changing either side of the peering. This is the + // default value if the field is unspecified. + // "UNSPECIFIED" - Peerings with update strategy UNSPECIFIED are created with + // update strategy INDEPENDENT. + UpdateStrategy string `json:"updateStrategy,omitempty"` + // ForceSendFields is a list of field names (e.g. "ConsensusState") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ConsensusState") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s NetworkPeeringConnectionStatus) MarshalJSON() ([]byte, error) { + type NoMethod NetworkPeeringConnectionStatus + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// NetworkPeeringConnectionStatusConsensusState: The status of update/delete +// for a consensus peering connection. Only set when +// connection_status.update_strategy is CONSENSUS or a network peering is +// proposing to update the strategy to CONSENSUS. +type NetworkPeeringConnectionStatusConsensusState struct { + // DeleteStatus: The status of the delete request. + // + // Possible values: + // "DELETE_ACKNOWLEDGED" - Both network admins have agreed this consensus + // peering connection can be deleted. + // "DELETE_STATUS_UNSPECIFIED" + // "LOCAL_DELETE_REQUESTED" - Network admin has requested deletion of this + // peering connection. + // "PEER_DELETE_REQUESTED" - The peer network admin has requested deletion of + // this peering connection. + DeleteStatus string `json:"deleteStatus,omitempty"` + // UpdateStatus: The status of the update request. + // + // Possible values: + // "IN_SYNC" - No pending configuration update proposals to the peering + // connection. + // "PENDING_LOCAL_ACKNOWLEDMENT" - The peer network admin has made an + // updatePeering call. The change is awaiting acknowledgment from this + // peering's network admin. + // "PENDING_PEER_ACKNOWLEDGEMENT" - The local network admin has made an + // updatePeering call. The change is awaiting acknowledgment from the peer + // network admin. + // "UPDATE_STATUS_UNSPECIFIED" + UpdateStatus string `json:"updateStatus,omitempty"` + // ForceSendFields is a list of field names (e.g. "DeleteStatus") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DeleteStatus") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s NetworkPeeringConnectionStatusConsensusState) MarshalJSON() ([]byte, error) { + type NoMethod NetworkPeeringConnectionStatusConsensusState + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type NetworkPeeringConnectionStatusTrafficConfiguration struct { + // ExportCustomRoutesToPeer: Whether custom routes are being exported to the + // peer network. + ExportCustomRoutesToPeer bool `json:"exportCustomRoutesToPeer,omitempty"` + // ExportSubnetRoutesWithPublicIpToPeer: Whether subnet routes with public IP + // ranges are being exported to the peer network. + ExportSubnetRoutesWithPublicIpToPeer bool `json:"exportSubnetRoutesWithPublicIpToPeer,omitempty"` + // ImportCustomRoutesFromPeer: Whether custom routes are being imported from + // the peer network. + ImportCustomRoutesFromPeer bool `json:"importCustomRoutesFromPeer,omitempty"` + // ImportSubnetRoutesWithPublicIpFromPeer: Whether subnet routes with public IP + // ranges are being imported from the peer network. + ImportSubnetRoutesWithPublicIpFromPeer bool `json:"importSubnetRoutesWithPublicIpFromPeer,omitempty"` + // StackType: Which IP version(s) of traffic and routes are being imported or + // exported between peer networks. + // + // Possible values: + // "IPV4_IPV6" - This Peering will allow IPv4 traffic and routes to be + // exchanged. Additionally if the matching peering is IPV4_IPV6, IPv6 traffic + // and routes will be exchanged as well. + // "IPV4_ONLY" - This Peering will only allow IPv4 traffic and routes to be + // exchanged, even if the matching peering is IPV4_IPV6. + StackType string `json:"stackType,omitempty"` + // ForceSendFields is a list of field names (e.g. "ExportCustomRoutesToPeer") + // to unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ExportCustomRoutesToPeer") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s NetworkPeeringConnectionStatusTrafficConfiguration) MarshalJSON() ([]byte, error) { + type NoMethod NetworkPeeringConnectionStatusTrafficConfiguration + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type NetworkPerformanceConfig struct { // Possible values: // "DEFAULT" @@ -31311,6 +31625,27 @@ func (s NetworksRemovePeeringRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type NetworksRequestRemovePeeringRequest struct { + // Name: Name of the peering, which should conform to RFC1035. + Name string `json:"name,omitempty"` + // ForceSendFields is a list of field names (e.g. "Name") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Name") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s NetworksRequestRemovePeeringRequest) MarshalJSON() ([]byte, error) { + type NoMethod NetworksRequestRemovePeeringRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type NetworksUpdatePeeringRequest struct { NetworkPeering *NetworkPeering `json:"networkPeering,omitempty"` // ForceSendFields is a list of field names (e.g. "NetworkPeering") to @@ -39275,6 +39610,9 @@ func (s RequestMirrorPolicy) MarshalJSON() ([]byte, error) { // capacity is held in a specific zone even if the reserved VMs are not // running. For more information, read Reserving zonal resources. type Reservation struct { + // AdvancedDeploymentControl: Advanced control for cluster management, + // applicable only to DENSE deployment type reservations. + AdvancedDeploymentControl *ReservationAdvancedDeploymentControl `json:"advancedDeploymentControl,omitempty"` // AggregateReservation: Reservation for aggregated resources, providing shape // flexibility. AggregateReservation *AllocationAggregateReservation `json:"aggregateReservation,omitempty"` @@ -39375,15 +39713,15 @@ type Reservation struct { // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "AggregateReservation") to - // unconditionally include in API requests. By default, fields with empty or + // ForceSendFields is a list of field names (e.g. "AdvancedDeploymentControl") + // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AggregateReservation") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See + // NullFields is a list of field names (e.g. "AdvancedDeploymentControl") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -39393,6 +39731,37 @@ func (s Reservation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ReservationAdvancedDeploymentControl: Advance control for cluster +// management, applicable only to DENSE deployment type reservations. +type ReservationAdvancedDeploymentControl struct { + // ReservationOperationalMode: Indicates chosen reservation operational mode + // for the reservation. + // + // Possible values: + // "ALL_CAPACITY" - Google Cloud does not manage the failure of machines, but + // provides additional capacity, which is not guaranteed to be available. + // "HIGHLY_AVAILABLE_CAPACITY" - Google Cloud manages the failure of machines + // to provide high availability. + // "RESERVATION_OPERATIONAL_MODE_UNSPECIFIED" + ReservationOperationalMode string `json:"reservationOperationalMode,omitempty"` + // ForceSendFields is a list of field names (e.g. "ReservationOperationalMode") + // to unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ReservationOperationalMode") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ReservationAdvancedDeploymentControl) MarshalJSON() ([]byte, error) { + type NoMethod ReservationAdvancedDeploymentControl + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ReservationAffinity: Specifies the reservations that this instance can // consume from. type ReservationAffinity struct { @@ -40893,7 +41262,8 @@ type ResourcePolicy struct { // "EXPIRED" - Resource policy is expired and will not run again. // "INVALID" // "READY" - Resource policy is ready to be used. - Status string `json:"status,omitempty"` + Status string `json:"status,omitempty"` + // WorkloadPolicy: Resource policy for defining instance placement for MIGs. WorkloadPolicy *ResourcePolicyWorkloadPolicy `json:"workloadPolicy,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. @@ -41628,17 +41998,23 @@ func (s ResourcePolicyWeeklyCycleDayOfWeek) MarshalJSON() ([]byte, error) { // ResourcePolicyWorkloadPolicy: Represents the workload policy. type ResourcePolicyWorkloadPolicy struct { + // AcceleratorTopology: Specifies the topology required to create a partition + // for VMs that have interconnected GPUs. AcceleratorTopology string `json:"acceleratorTopology,omitempty"` + // MaxTopologyDistance: Specifies the maximum distance between instances. + // // Possible values: // "BLOCK" - VMs must be provisioned in the same block. // "CLUSTER" - VMs must be provisioned in the same cluster. // "SUBBLOCK" - VMs must be provisioned in the same subblock. MaxTopologyDistance string `json:"maxTopologyDistance,omitempty"` + // Type: Specifies the intent of the instance placement in the MIG. + // // Possible values: - // "HIGH_AVAILABILITY" - VMs will be provisioned in such a way which provides - // high availability. - // "HIGH_THROUGHPUT" - VMs will be provisioned in such a way which provides - // high throughput. + // "HIGH_AVAILABILITY" - MIG spreads out the instances as much as possible + // for high availability. + // "HIGH_THROUGHPUT" - MIG provisions instances as close to each other as + // possible for high throughput. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "AcceleratorTopology") to // unconditionally include in API requests. By default, fields with empty or diff --git a/vendor/google.golang.org/api/compute/v1/compute2-gen.go b/vendor/google.golang.org/api/compute/v1/compute2-gen.go index d2c526c4dd114..55e0bae184229 100644 --- a/vendor/google.golang.org/api/compute/v1/compute2-gen.go +++ b/vendor/google.golang.org/api/compute/v1/compute2-gen.go @@ -53893,6 +53893,130 @@ func (c *NetworksRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Operation return ret, nil } +type NetworksRequestRemovePeeringCall struct { + s *Service + project string + network string + networksrequestremovepeeringrequest *NetworksRequestRemovePeeringRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// RequestRemovePeering: Requests to remove a peering from the specified +// network. Applicable only for PeeringConnection with +// update_strategy=CONSENSUS. +// +// - network: Name of the network resource to remove peering from. +// - project: Project ID for this request. +func (r *NetworksService) RequestRemovePeering(project string, network string, networksrequestremovepeeringrequest *NetworksRequestRemovePeeringRequest) *NetworksRequestRemovePeeringCall { + c := &NetworksRequestRemovePeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.network = network + c.networksrequestremovepeeringrequest = networksrequestremovepeeringrequest + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so that if you must retry +// your request, the server will know to ignore the request if it has already +// been completed. For example, consider a situation where you make an initial +// request and the request times out. If you make the request again with the +// same request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. This +// prevents clients from accidentally creating duplicate commitments. The +// request ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). +func (c *NetworksRequestRemovePeeringCall) RequestId(requestId string) *NetworksRequestRemovePeeringCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *NetworksRequestRemovePeeringCall) Fields(s ...googleapi.Field) *NetworksRequestRemovePeeringCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *NetworksRequestRemovePeeringCall) Context(ctx context.Context) *NetworksRequestRemovePeeringCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *NetworksRequestRemovePeeringCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *NetworksRequestRemovePeeringCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.networksrequestremovepeeringrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networks/{network}/requestRemovePeering") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "network": c.network, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.networks.requestRemovePeering", "request", internallog.HTTPRequest(req, body.Bytes())) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networks.requestRemovePeering" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *NetworksRequestRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.networks.requestRemovePeering", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + type NetworksSwitchToCustomModeCall struct { s *Service project string diff --git a/vendor/google.golang.org/api/internal/version.go b/vendor/google.golang.org/api/internal/version.go index 9ed9684f8f7c8..ddb7994911f7e 100644 --- a/vendor/google.golang.org/api/internal/version.go +++ b/vendor/google.golang.org/api/internal/version.go @@ -5,4 +5,4 @@ package internal // Version is the current tagged release of the library. -const Version = "0.246.0" +const Version = "0.247.0" diff --git a/vendor/modules.txt b/vendor/modules.txt index 4b3c429e78f28..a502b4f0c27d9 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -11,7 +11,7 @@ cloud.google.com/go/internal/optional cloud.google.com/go/internal/pubsub cloud.google.com/go/internal/trace cloud.google.com/go/internal/version -# cloud.google.com/go/auth v0.16.3 +# cloud.google.com/go/auth v0.16.4 ## explicit; go 1.23.0 cloud.google.com/go/auth cloud.google.com/go/auth/credentials @@ -39,7 +39,7 @@ cloud.google.com/go/bigtable/apiv2/bigtablepb cloud.google.com/go/bigtable/bttest cloud.google.com/go/bigtable/internal cloud.google.com/go/bigtable/internal/option -# cloud.google.com/go/compute/metadata v0.7.0 +# cloud.google.com/go/compute/metadata v0.8.0 ## explicit; go 1.23.0 cloud.google.com/go/compute/metadata # cloud.google.com/go/iam v1.5.2 @@ -2416,7 +2416,7 @@ golang.org/x/tools/internal/versions ## explicit; go 1.18 golang.org/x/xerrors golang.org/x/xerrors/internal -# google.golang.org/api v0.246.0 +# google.golang.org/api v0.247.0 ## explicit; go 1.23.0 google.golang.org/api/cloudresourcemanager/v1 google.golang.org/api/compute/v1 @@ -2453,7 +2453,7 @@ google.golang.org/genproto/googleapis/api/httpbody google.golang.org/genproto/googleapis/api/label google.golang.org/genproto/googleapis/api/metric google.golang.org/genproto/googleapis/api/monitoredres -# google.golang.org/genproto/googleapis/rpc v0.0.0-20250728155136-f173205681a0 +# google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b ## explicit; go 1.23.0 google.golang.org/genproto/googleapis/rpc/code google.golang.org/genproto/googleapis/rpc/errdetails