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

Aberta
#33,941 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
38/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
java

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Java
Estrelas
731
Forks
402
Merge médio
5h 43min
PRs com merge (30d)
959

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de googleapis/google-api-java-client-services

Todas as issues de googleapis/google-api-java-client-services

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.