Context
With #40 (name-based stack resolution), single-stack commands now accept <name|id>. However, bulk deploy, bulk stop, bulk clean, and bulk delete still use parseBulkIDs which only accepts positive integers.
Problem
parseBulkIDs in cli/cmd/root.go splits on commas and calls strconv.Atoi, rejecting both UUIDs and stack names. This creates an inconsistency where stackctl stack deploy my-stack works but stackctl stack bulk deploy my-stack,other-stack does not.
Proposed solution
Replace parseBulkIDs with a bulk resolver that:
- Splits on commas
- Runs each element through
resolveStackID
- Deduplicates resolved IDs
- Returns a slice of resolved IDs
This would align bulk commands with single-stack commands.
Follow-up from
#40 code review item #7
Context
With #40 (name-based stack resolution), single-stack commands now accept
<name|id>. However,bulk deploy,bulk stop,bulk clean, andbulk deletestill useparseBulkIDswhich only accepts positive integers.Problem
parseBulkIDsincli/cmd/root.gosplits on commas and callsstrconv.Atoi, rejecting both UUIDs and stack names. This creates an inconsistency wherestackctl stack deploy my-stackworks butstackctl stack bulk deploy my-stack,other-stackdoes not.Proposed solution
Replace
parseBulkIDswith a bulk resolver that:resolveStackIDThis would align bulk commands with single-stack commands.
Follow-up from
#40 code review item #7