Conversation
…ft (#1027) Replace the vendored OpenAPI snapshot with the live document and remediate the enum-value, field and deprecation findings that do not belong to the BYOC infrastructure or saved-query surfaces: - ActivityType: approved-domain, public-preview and SAML query-ownership migration activity types - ByocConfigState: infra-terminating, infra-degraded, infra-upgrading - ClickPipe(Post)KafkaSourceTombstonemode: soft_delete - ByocConfig.accountId (response, optional); ByocConfig.accountName is now deprecated and gated behind the deprecated-fields feature Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e request drift (#1027) Add organization_byoc_infrastructure_get, _progress_get and _validate with all-Option response models (ByocInfrastructureDetails, ByocInfrastructureProgress, recursive ByocInfrastructureProgressStage, ByocInfrastructureValidation, ByocInfrastructureValidationCheck), the strict ByocInfrastructureValidatePostRequest, and the ByocInfrastructureTags string-map alias. ByocInfrastructurePostRequest now requires only accountId and regionId, gains the BYO-VPC, AWS externalId, Azure tenant/service-principal and tags fields, and the CLI builder wraps the now-optional fields. Mark the three new operations Beta. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add the beta saved query methods saved_query_create, saved_query_get, saved_query_list, saved_query_update and saved_query_delete in a new saved_queries domain (client and models), with all-Option response models PublicSavedQuery and PublicSavedQueryListItem and the strict PublicSavedQueryRequest. saved_query_list takes an optional cursor and limit and returns ApiResponse<Vec<PublicSavedQueryListItem>>, whose envelope carries limit, totalCount and nextCursor as the spec defines. Mark the five operations Beta, map the new files in both CI classifiers, and cover the methods with wiremock, model and live service-lifecycle tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…1027) Saved Query API endpoints are backed by saved queries, so reusing the endpoint phase's names risks a 409 if the endpoint's query is still being removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…uery endpoints Regenerated meta/operations.rs from the vendored snapshot so the permission drift check covers the endpoints added in #1027. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sdairs
force-pushed
the
claude/drift-remediation-http-client-c7a937
branch
from
October 1, 2026 17:24
1e9c815 to
12962f3
Compare
sdairs
removed this pull request from stack #1037
October 1, 2026 17:26
sdairs
added this pull request to stack #1001
October 1, 2026 17:27
This was referenced Oct 1, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1027
Remediates all 70 OpenAPI drift findings in
clickhouse-cloud-api. The dry run against the live spec now reportsActionable drift: 0. This is library-only: no new CLI surface.Changes
clickhouse_cloud_openapi.jsonfrom the live spec. This clears the 18 stale-snapshot findings.ActivityTypegains 7 new values: theorganization_approved_domain_*values,organization_update_public_previewandorganization_update_saml_query_ownership_migration.ByocConfigStategainsinfra-degraded,infra-terminatingandinfra-upgrading.soft_delete.ByocConfig: addsaccount_id.account_nameis now spec-deprecated, so it moves behinddeprecated-fieldsand intoDEPRECATED_FIELDS.organization_byoc_infrastructure_get,_progress_getand_validate.ByocInfrastructureDetails,Progress,ProgressStage(recursive),Validation,ValidationCheck,ValidatePostRequest, and theByocInfrastructureTagsmap alias.ByocInfrastructurePostRequestgains 9 BYO-VPC, Azure and tag fields.availabilityZoneSuffixes,displayNameandvpcCidrRangeare nowOption, matching the spec'srequired[](breaking for Rust callers; see the crate README).src/client/saved_queries.rsandsrc/models/saved_queries.rs.saved_query_list,_create,_get,_updateand_delete.saved_query_listtakescursor/limit.PublicSavedQuery,PublicSavedQueryListItemandPublicSavedQueryRequest. None is used in both directions, so no*Responsesplit was needed.BETA_OPERATIONSnow lists all 8 new operations.build_byoc_create_requestwraps the now-optional fields inSome, and a new test pins the exact request JSON, which is unchanged.classify-*.pyscripts map the new saved-query files (the Cloud classifier to theservicesuite), and their fixtures are updated.README.mdis updated; the root README is unchanged.Tests
models_test: for every new response type, a missing key and an explicitnullboth giveNone. Also covers request strictness, a 3-level recursive progress stage, dynamic tag keys and the new enum round-trips.client_test(wiremock): all 8 new methods, checked for verb, path, cursor encoding, body, parsed response and error paths.Saved Queriesphase incloud_service_crud_lifecycle. It runs create ×2, a duplicate-name 409, paginated list, get, update and delete, then checks for 404s. Cleanup goes throughCleanupRegistry.-sqprefix, so the renamed version has not been run live.Gates
cargo fmt, both clippy configurations and library--all-targetsare clean.cargo check --workspace --all-featurespasses. The library and analyzer tests pass, includingspec_coverage_testand the analyzerentrypoint_test, and so do the Python classifier tests.cargo test -p clickhousectlpasses apart from thelocal_postgres_*tests, which need Docker and it wasn't running locally.🤖 Generated with Claude Code