AWS backup bucket create cannot succeed in orgs without the external-ID feature (iamRoleExternalId required by the library, rejected by the server)

Open
#1,245 0 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@sdairs is already working on this.

Since Nov 4, 2026.

  • #1263 by @sdairs — open
  • #1264 by @sdairs — open

Assessment

This issue has not been assessed yet.

Description

bug cloud

What happens

cloud backup bucket create --file for an AWS bucket has no input that works in an org without the external-ID feature:

  • field omitted: client error missing field iamRoleExternalId
  • "x": BAD_REQUEST: iamRoleExternalId is not available for this organization
  • "": BAD_REQUEST: iamRoleExternalId is invalid
  • null: client error invalid type: null, expected a string

Evidence

  • crates/clickhouse-cloud-api/src/models/backups.rs:631 AwsBackupBucketPostRequestV1.iam_role_external_id: String (the PATCH type at :561 is already optional).
  • crates/clickhousectl/src/cloud/backups.rs:551 deserializes the config strictly into that type.
  • Spec AwsBackupBucketPostRequestV1 has no required[] and no Optional marker, so the library treats the field as required. The server feature-gates it.
  • docs/guides/cloud-service.md:136 says the create schema requires a string.
  • Follow-up to #1106.

Expected vs actual

Expected: orgs without the feature can omit iamRoleExternalId, and it is not serialized. Actual: AWS create is impossible.

Likely cause

The spec marks the field required, but the server accepts it only for orgs that have the feature. Fix: make it Option<String> with skip_serializing_if (and record the exception where the analyzer expects it), ask the API team to mark it optional in the spec, and update the guide.

Scores

L=4 I=8

Basis

Validated by source review. Server responses come from the 2026-11-04 user-testing sweep.


From the 2026-11-04 user-testing sweep (medium severity): report finding 42. Checked against stack head 6859d2ac (PR 1220).

Dominant language
Rust
Stars
80
Forks
9
Avg merge
2d 13h
Merged PRs (30d)
47

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ClickHouse/clickhousectl

All issues in ClickHouse/clickhousectl

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.