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

オープン
#33,941 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
38/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
java

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Java
スター
731
フォーク
402
平均マージ
5時間 43分
マージ済み PR(30日)
959

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

googleapis/google-api-java-client-services のほかの issue

googleapis/google-api-java-client-services の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。