Compute: images.get sends unsupported API version after rev20261026, still in rev20261106

Abierto
#33,941 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
java

Línea de trabajo

Read the generated Compute.Images.Get implementation linked in the issue and compare its API_VERSION with the supported versions in the captured server error. Then trace where that generated version comes from in the Compute discovery input or regeneration process; the issue does not name those files. Done means establishing whether 2026-11-01 is supported for stable images.get and identifying the corrected generated client or supported artifact version.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Summary

Upgrading com.google.apis:google-api-services-compute from v1-rev20261016-2.9.2 to v1-rev20261026-2.9.2 changes the generated Compute.Images.Get request header from X-Goog-Api-Version: 2026-09-01 to X-Goog-Api-Version: 2026-11-01.

In the affected GCP integration-test run, image GET requests were repeatedly rejected with HTTP 400 because the service did not support 2026-11-01. This blocked image-related provisioning workflows.

The latest published release, v1-rev20261106-2.9.2 (checked on 2026-11-12), still sets the same header. Its Images.Get implementation is identical to the one in the failing release.

Environment details
  • API: Compute Engine API, stable v1, images.get.
  • Affected artifact: google-api-services-compute:v1-rev20261026-2.9.2.
  • Also checked: v1-rev20261106-2.9.2 (latest); baseline: v1-rev20261016-2.9.2.
  • Base client: com.google.api-client:google-api-client:2.9.2.
  • Independent header-only reproduction: Amazon Corretto Java 21.0.13, macOS 26.7.2, google-http-client and google-http-client-gson 2.2.0.
  • The exact OS/JDK build of the original failing CI run is not included in the available error report.
Steps to reproduce
  1. Use one of the Compute artifact versions listed above.
  2. Construct compute.images().get(project, image) without explicitly overriding the API-version header.
  3. Inspect request.getRequestHeaders().get("X-Goog-Api-Version"). The example below does not require credentials or make a network request.
  4. In the affected authenticated integration-test environment, executing the image GET with the newer artifact produced the HTTP 400 shown below.
Minimal code example

Dependencies (change the Compute version to compare releases):

implementation 'com.google.apis:google-api-services-compute:v1-rev20261106-2.9.2'
implementation 'com.google.http-client:google-http-client-gson:2.2.0'
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.client.testing.http.MockHttpTransport;
import com.google.api.services.compute.Compute;

public class ComputeApiVersionRepro {
    public static void main(String[] args) throws Exception {
        Compute compute = new Compute.Builder(
                new MockHttpTransport(), GsonFactory.getDefaultInstance(), null)
                .setApplicationName("compute-api-version-repro")
                .build();

        Compute.Images.Get request = compute.images()
                .get("example-project", "example-image");
        System.out.println(request.getRequestHeaders().get("X-Goog-Api-Version"));
    }
}

I compiled this example and ran it separately with each of the three published Compute JARs, holding the supporting classpath constant:

Compute artifact version Printed API-version header
v1-rev20261016-2.9.2 2026-09-01
v1-rev20261026-2.9.2 2026-11-01
v1-rev20261106-2.9.2 2026-11-01
Observed server error

Captured from the failing integration-test run; project and image names are replaced with placeholders:

400 Bad Request
GET https://compute.googleapis.com/compute/v1/projects/<project>/global/images/<image>
Invalid API version '2026-11-01' provided. Supported API versions are [v1, 2026-10-01-preview, 2026-09-01]

I have independently verified the generated headers and published sources, but have not rerun an authenticated GCP request to establish whether server-side support for 2026-11-01 has changed since this error was captured.

Expected behavior

A generated stable-v1 client should select an API version accepted by the Compute service, so an existing images.get call does not start failing solely because of a client-library update.

Source evidence

The latest generated Compute.Images.Get sets:

private static final String API_VERSION = "2026-11-01";
// In the request constructor:
if (headers.get(API_VERSION_HEADER) == null) {
  headers.set(API_VERSION_HEADER, API_VERSION);
}
Current mitigation / requested clarification

We have reverted the dependency bump and pinned v1-rev20261016-2.9.2, whose generated header is one of the versions listed as supported in the captured error.

Please confirm whether 2026-11-01 is intended and fully available for stable Compute images.get, or whether the discovery/generated client needs to be corrected. Please also identify the recommended supported artifact version for this regression.

Lenguaje dominante
Java
Estrellas
731
Forks
402
Merge medio
5 h 43 min
PR fusionados (30 d)
959

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de googleapis/google-api-java-client-services

Todos los issues de googleapis/google-api-java-client-services

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.