fix(meshstack/manual): compute outputs from API, enable SINGLE_SELECT/STATIC inputs#198
Conversation
Scorecard Check
📊 meshstack-hub Module Scorecard
📋 Per-Module Category SummaryScore per category per building block.
Core Structure — some checks failingBasic module file structure and documentation — applies to 1 modules
Core Structure — Summary
Integration — some checks failingmeshstack_integration.tf conventions — applies to 1 modules
Integration — Summary
Azure Backplane — not applicableAzure UAMI-based automation principal conventions — applies to 0 modules No applicable modules. STACKIT Backplane — not applicableSTACKIT WIF-based automation principal conventions — applies to 0 modules No applicable modules. Testing — some checks failingEnd-to-end test coverage — applies to 1 modules
Testing — Summary
|
|
📋 Janny has linked this PR to the Feature Shipping Tracker #1344: Fix Manual Building Block Output Type Handling (SINGLE_SELECT / MULTI_SELECT). This PR addresses DoD items 6 & 7 (reference examples updated, e2e smoke test for SINGLE_SELECT mirrored output). It was originally noted as blocked on meshcloud/terraform-provider-meshstack#176, but that planned PR was superseded by meshcloud/terraform-provider-meshstack#197 (merged, shipped as v0.21.1+) — the blocker is resolved. [edited: corrected cross-repo PR references to use |
|
This pull request is automatically being deployed by Amplify Hosting (learn more). |
…ECT/STATIC inputs Manual building blocks have their outputs derived from the inputs on the backend (ManualBuildingBlockCreationModule: one output per input, assignment type NONE, with SINGLE_SELECT/MULTI_SELECT/LIST translated to output-compatible types). Configuring version_spec.outputs to mirror the inputs caused "Provider produced inconsistent result after apply" — the documented TODO that kept the single_select and static_note inputs commented out. terraform-provider-meshstack #176 makes version_spec.outputs computed for manual building blocks. Remove the outputs block (now reconciled from the API) and enable the previously-blocked SINGLE_SELECT and STATIC inputs, which the backend now mirrors (SINGLE_SELECT -> STRING). The e2e now supplies single_select and asserts its mirrored output. Requires the meshstack provider >= 0.21.1. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4b91fbe to
d7d1121
Compare
What
Adapts the meshStack Manual reference building block to the manual-outputs
change in terraform-provider-meshstack#176, and resolves the long-standing TODO that kept the
SINGLE_SELECT/STATICinputs commented out.version_spec.outputsblock — for manual building blocks the backend derives one output per input (ManualBuildingBlockCreationModule: assignment typeNONE, withSINGLE_SELECT/MULTI_SELECT/LISTtranslated viaManualIOTypeTranslation). With feature/azure uami vs spns #176 the provider treatsversion_spec.outputsas computed and reconciles it from the API, so configuring it caused "Provider produced inconsistent result after apply".single_select(SINGLE_SELECT) andstatic_note(STATIC) inputs that the TODO had disabled. The backend mirrors them (SINGLE_SELECT→STRING), so they no longer break the apply.single_selectas a user input and assert its mirroredSTRINGoutput.Why the TODO is now resolved
The TODO referenced "new element single_select/static_note has appeared" in
version_spec.outputs. Root cause: the backend always derived outputs from all inputs, but the provider expected the configured outputs to match exactly. Confirmed inmeshfed-release:ManualBuildingBlockCreationModule.performImplementationTypeSpecificLogic→ one output per input.ManualIOTypeTranslation.translateIOTypeToOutput→SINGLE_SELECT→STRING,MULTI_SELECT/LIST→CODE.#176 adapts the provider to this (computed outputs), so the inputs can be enabled.
Dependency
Requires the meshstack provider ≥ 0.21.1 (carries #176). The module keeps the conventional
~> 0.21.0pin (minor-pinning perAGENTS.md), which resolves to the latest patch at apply time — merge after provider v0.21.1 is released.Validation
terraform fmt✅,ci/validate_modules.sh✅,terraform validate(module root + e2e) ✅🤖 Generated with Claude Code