Act more like aws cli / conducive to CI
aws cloudformation package and aws cloudformation deploy behave differently to stackit package and stackit execute.
At first I thought it would be more useful to create and display a changeset as part of stackit package, making it similar to terraform plan. This arguably is more useful in the typical case, but isn't as useful in the CI case.
Specifically, in a CI setup we might want to archive "artifacts" from a Build stage and use them in a later Deploy stage. Right now we are archiving stackit.packaged.yml. The problem is that this isn't replayable, a user can't re-run just the Deploy stage as they might expect.
We could ameliorate this with the following design:
stackit packageacts identically toaws cloudformation package, albeit with sensible defaults -- it will emit a<template name>.packaged.ymlfile.stackit planis analogous toterraform planstackit applyis analogous toterraform applystackit up --stack-name <stack> --template <template name>.packaged.ymlis a wrapper aroundplan && apply, i.e. it creates and executes a change set.
Actually, there's no reason up shouldn't be a wrapper around package, plan and apply.
As of eb43d0b3c02b92f46c1ebdbfd259ac0808f717a7
upis done. It now packages, plans and applies.packagebehaves as described above.planandapplydon't exist yet