awslabs / awslabs/amazon-emr-cli
Finalize CLI API
- Dominant language
- Python
- Stars
- 47
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
The EMR CLI has been available for a while now and through my own usage and others, we have a good idea of the final set of commands and subcommands that should be supported by the CLI.
Today, certain things are confusing:
- There are three main commands: `package`, `deploy`, and `run`
- `emr package` builds a local version of the assets, while `emr run ... --build` both packages and deploys the assets.
- Do we need *both* package and deploy? Or can we simply have `build` and `run`.
Typically, I only use `run ... --build`, but in CI/CD pipelines both package and deploy can be useful. Package if you want to move the assets yourself and deploy if you want to have the CLI do the copy for you in 1 step.
It would be useful to be able to [chain](https://stackoverflow.com/questions/32501538/save-a-command-line-options-value-in-an-object-with-pythons-click-library) these [commands](https://click.palletsprojects.com/en/8.1.x/commands/#multi-command-chaining) as opposed to providing parameters. For example:
`emr build deploy run --entrypoint file.py ...` would perform all of `build`, `deploy`, and `run` in that order. That said there are some things that don't make sense, so should protect against scenarios like this.
- If you already built your assets, you wouldn't repeatedly use `deploy run`.
- You wouldn't use `emr build run`
Contributor guide
Research direction
Start by reviewing the existing CLI entry points for package, deploy, and run, including the --build behavior described here. Clarify the final command and subcommand set, supported chaining rules, and invalid combinations; the issue is done when that API is agreed and implemented consistently for local use and CI/CD.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, python
- Domain
- cli, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100