Terminology: dump and load are unclear
pda opened this issue · 9 comments
It's very unclear what dump
and load
mean. I gather dump
fetches the current data from upstream and writes it to local files, and load
reads data from local files and figures out the commands to push that to upstream.
Instead of dump
, how about pull
, fetch
or download
.
Instead of load
, how about push
, publish
or upload
.
(I noticed load
generates aws
commands but doesn't run them. That might just mean the name should be generate-push-commands
.)
I do agree this could be a lot clearer.
dump-to-yaml
and generate-sync-cmds
were the subcommands that were being used up to a few weeks ago, I'd still be for using those sub commands as they're pretty unambiguous
Thoughts @lox ?
I like pull
and push
personally. I'd have push
actually execute the commands unless you had --dry-run
.
👍
I'm hesitant to allow iamy push
to simply run and overwrite whatever you have on AWS. Seems too dangerous, especially because it's very easy for your local yaml to be out of sync with AWS.
It could result in users, and groups getting deleted unintentionally
What about iamy sync-cmds
and iamy sync-cmds --exec
?
Ideal would be a diff and confirmation; iamy push
fetches upstream state into memory, calculates the differences, presents it as a concise diff, prompts to apply the diff.
I'm against calling a one-way process “sync”.
Yep ok - I'll make push
interactive and maybe have push -f
or push -y
for non-interactive
I'm against calling a one-way process “sync”
Why? sync operations are normally one way e.g. rsync. You're syncing the destination with your source by applying a diff
I guess rsync
is one way at a time, although it can sync in either direction. iamy sync iam://something localdir/
vs iamy sync localdir/ iam://something
would be equivalent. But when the direction of the operation is fixed, a word describing that direction (push vs pull) is much clearer.
You're syncing the destination with your source by applying a diff
But iamy sync
doesn't specify which is the source and which is the destination.