-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature discussion: update preview #44
Comments
Hey @thorstenhuhn So I believe the feature you're looking for is implemented in the We should then be able to take the shell mode implementation and replicate it in the Shell-Mode Updata command example: Qaz Shell Mode
--
Try "help" for a list of commands
@ qaz:(state-machine-testing) ✗ ls
example
@ qaz:(state-machine-testing) ✗ update example
info: creating change-set: [state-machine-testing-example-change-5577006791947779410] - state-machine-testing-example
info: created change-set: [state-machine-testing-example-change-5577006791947779410] - create_complete - state-machine-testing-example
- resourcechange:
action: Modify
details:
- causingentity: null
changesource: DirectModification
evaluation: Static
target:
attribute: Properties
name: Timeout
requiresrecreation: Never
logicalresourceid: LambdaFunction
physicalresourceid: state-machine-testing-example-LambdaFunction-1P3TK0WWM83Q5
replacement: "False"
resourcetype: AWS::Lambda::Function
scope:
- Properties
type: Resource
- resourcechange:
action: Modify
details:
- causingentity: LambdaFunction.Arn
changesource: ResourceAttribute
evaluation: Dynamic
target:
attribute: Properties
name: DefinitionString
requiresrecreation: Conditionally
logicalresourceid: StateMachine
physicalresourceid: arn:aws:states:eu-west-1:091066890486:stateMachine:StateMachine-iePWxwWG0FZn
replacement: Conditional
resourcetype: AWS::StepFunctions::StateMachine
scope:
- Properties
type: Resource
--
The above will be updated, do you want to proceed? [Y/N]: Let me know what you think. |
That sounds reasonable. Shall I give it a try or would you prefer fixing it in personal? |
If you're up for it, happy to review a pull request, won't have the chance to look at this personally this weekend. You should be able to copy over the logic from the shell update command and make some minor changes. Alternatively, I can work on it, some time next week. |
Added option -i,--interactive to update command (fixes #44)
What I like about the AWS Web Console is the preview of changes before finally updating the stack. To get something similar using qaz, I have currently defined an alias function (zsh):
It creates a change set called "update", describes it and finally asks whether to proceed or not without leaving any artifacts.
I could try to implement this in qaz, as this seems a pretty convenient workflow for me, but there might also be advantages keeping the logic "outside" like this. Options might be to
grep
the description forreplacement: "True"
or to count the number of resources to be changed to print a summary before asking to proceed to emphasize on the complexity of the change. Of course this could also easily be implemented internally, but the question is what makes more sense.For the internal implementation I would see at least two different ways:
a) extending the existing
change
command with a new subcommand, likeqaz change workflow -s <stack>
b) adding an option to the
update
command, likeqaz update -i <stack>
with-i
for "interactive" update (-p
for "preview" might overlap with existing profile option)The text was updated successfully, but these errors were encountered: