Drops the memoized plan list so the next read re-fetches from AWS.
Lists every usage plan, paginating on position until exhausted. Result is
memoized in-memory for cacheTtlMs.
Resolves a stable apiStage → usage-plan id by matching the plan whose name
is ${apiStage} or ${apiStage}-${stack} (the per-API Pulumi naming).
Returns null when no plan matches.
Resolves a stable
apiStagename → live AWS API Gateway usage-plan id, so a plan id is never persisted. Plans change rarely, so the full list is memoized in-process for a short TTL; call bust to force a refresh.Consumed by the customer dashboard (key creation) and the Phase 2b sync service.