jaws-framework
Version:
JAWS is the serverless framework powered by Amazon Web Services.
93 lines (49 loc) • 3.55 kB
Markdown
# JAWS: CLI Commands
All commands support the -h/--help option to see full usage and examples
### Project Commands
Commands that deal with JAWS projects
* ##### `$ jaws project create`
* Makes a new JAWS project by generating scaffolding in the current working directory. The new command by default creates resources (like IAM roles) in AWS via CloudFormation.
* Walks the user through the following prompts asking for their AWS credentials/profile and their project specifications
* Creates a CloudFormation Stack for the user’s first stage, which creates an IAM Group and a staged IAM Role for that IAM Group
* Creates all project scaffolding in current working directory
* Creates an AWS API Gateway REST API for the project
* Creates environment var file in the s3 bucket for the initial stage and region. [Why S3?](./FAQ.md#why-do-you-use-an-s3-bucket-to-store-env-vars)
### Module Commands
Commands that interact with [aws modules](./aws_modules.md) (awsm)
* ##### `$ jaws module create`
* Creates one or both of the following in the `aws_modules` folder. Default is to create both:
* A lambda function in the `aws_modules` folder with basic scaffolding.
* An API gateway configuration
* ##### aws module installation and update
* We leverage the most popualar package manager for the runtime and utilize a post-install hook to JAWS stuff. For example in nodejs: `npm install awsm-images --save`. See [awsm-org](./aws_modules.md) for more info.
### Region Commands
* ##### `$ jaws region create`
* Creates new region in existing project. By default executes CloudFormation to make one stage in new region.
### Stage Commands
* ##### `$ jaws stage create`
* Creates a new stage in existing region. By default executes CloudFormation to make new stage.
### Dash Commands
Deploy your lambdas and endpoints using the JAWS dashboard.
* ##### `$ jaws dash`
* Interactive dashboard used to get an overview of your project and deploy resources
### ENV Commands
Modeled after Heroku's environment variable commands, these commands manage environment variable files for all stages and regions. There is a reserved stage `local` which stores the env var file in `.env`. Otherwise they are stored is s3 at `s3://<jaws.json:stages[stage][region].jawsBucket>/JAWS/<projectName>/<stage>/envVars/.env`
* ##### `$ jaws env list <stage> <region>`
* List all env vars for given stage and region (or all regions for stage). Will display env vars that each jaws-module uses and indicate env vars that are not yet set.
* ##### `$ jaws env get <stage> <region> <key>`
* Get the value for a specific key in stage and region (or all regions for stage).
* ##### `$ jaws env set <stage> <region> <key> <val>`
* Set the value for a specific key in stage and region (or all regions for stage)..
* ##### `$ jaws env unset <stage> <region> <key>`
* Unset the value for a specific key in stage and region (or all regions for stage)..
### Tag Commands
depricated per https://github.com/jaws-framework/JAWS/issues/164
### Deploy Commands
Non-interactive way (dash alternative) to deploy lambda|endpoint|resources from lambda CWD.
* ##### `$ jaws deploy <type> [stage] [region]`
* Deploys lambda|endpoint|resources
### Run Commands
Way to test your lambda locally. We highly recommend pushing your logic out of handler code, and utlize the runtimes testing framework (like mocha for nodejs).
* ##### `$ jaws run`
* Must be run within a lambda dir. Executes the `event.json` in CWD.