# eb-environment-creation
Tired of byzantine EB environment and RDS instance creation workflows? Use this tool to set up Elastic Beanstalk
environments and linked RDS instances simply, without having to rely on the AWS interface. The tool ships with sensible
defaults, which may be overridden if desired.
# Instalation
`pip install eb-create-environment`
# Usage
```
usage: eb-create-environment [-h] [-c CONFIG] [-a APPLICATION_NAME]
[-e ENVIRONMENT_NAME] [-p PROFILE] [-r REGION]
[--db-only]
Set up linked EB and RDS instances
optional arguments:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
Specify a custom config file
-a APPLICATION_NAME, --application_name APPLICATION_NAME
Elastic Beanstalk application name
-e ENVIRONMENT_NAME, --environment_name ENVIRONMENT_NAME
Elastic Beanstalk environment name
-p PROFILE, --profile PROFILE
Specify an AWS profile from your credential file
-r REGION, --region REGION
Specify an AWS region region
--db-only Skip setup of application and environment. Requires
application and environment to exist already.
--print-default-config
Print default config and exit
```
* Override default configs by createing a custom config yaml file and specify its path using the `--config` option (see [Customizing the config file](#customizing-the-config-file))
* Print defaults with the `--print-default-config` option
* Elastic beanstalk configuration (application name, authentication profile name, default region) are read from the
`.elasticbeanstalk/config.yml` file if it exists. Otherwise, the user will be prompted for these values and the
config file will be created.
* If arguments are missing the user will be prompted for required inputs.
* If the desired environment already exists, skip environment setup and create an associated RDS instance using the
`--db-only` option.
* If `--db-only` is not selected, `eb-create-environment` will create an EB environment with the specified parameters,
create a database in the same VPC, create the necessary security groups, and set the `DATABASE_URL` environment
variable on the EB environment.
## Customizing the config file
To get a new config file, `eb-create-environment --print-default-config > .elasticbeanstalk/ENVIRONMENT_NAME.yml`
The default config file is [eb_create_environment/default_config.yml](eb_create_environment/default_config.yml). `eb-create-environment` will use this file as it's config file if no `--config` option is passed.
You can override this default by copying this file, modifying its values, and specifying its path using the `--config` option. It is recommended that you include these files in your codebase in a directory called `.elasticbeanstalk`.
Params under the `ElasticBeanstalk` top-level key are used in [eb_create_environment/eb_setup.py](eb_create_environment/eb_setup.py) while params under the `RDS` top-level key are used in [eb_create_environment/database.py](eb_create_environment/database.py).
Raw data
{
"_id": null,
"home_page": "https://github.com/zagaran/eb-environment-creation",
"name": "eb-create-environment",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "aws eb elastic beanstalk rds database create environment",
"author": "Zagaran, Inc.",
"author_email": "info@zagaran.com",
"download_url": "https://files.pythonhosted.org/packages/5e/67/cebba491fa2f0ece156842d59b7252284ed1ade4eb45efb9f76ebf49a2ae/eb-create-environment-0.1.0.tar.gz",
"platform": null,
"description": "# eb-environment-creation\n\nTired of byzantine EB environment and RDS instance creation workflows? Use this tool to set up Elastic Beanstalk \nenvironments and linked RDS instances simply, without having to rely on the AWS interface. The tool ships with sensible\ndefaults, which may be overridden if desired.\n\n# Instalation\n`pip install eb-create-environment`\n\n# Usage\n```\nusage: eb-create-environment [-h] [-c CONFIG] [-a APPLICATION_NAME]\n [-e ENVIRONMENT_NAME] [-p PROFILE] [-r REGION]\n [--db-only]\n\nSet up linked EB and RDS instances\n\noptional arguments:\n -h, --help show this help message and exit\n -c CONFIG, --config CONFIG\n Specify a custom config file\n -a APPLICATION_NAME, --application_name APPLICATION_NAME\n Elastic Beanstalk application name\n -e ENVIRONMENT_NAME, --environment_name ENVIRONMENT_NAME\n Elastic Beanstalk environment name\n -p PROFILE, --profile PROFILE\n Specify an AWS profile from your credential file\n -r REGION, --region REGION\n Specify an AWS region region\n --db-only Skip setup of application and environment. Requires\n application and environment to exist already.\n --print-default-config\n Print default config and exit\n\n```\n* Override default configs by createing a custom config yaml file and specify its path using the `--config` option (see [Customizing the config file](#customizing-the-config-file))\n* Print defaults with the `--print-default-config` option\n* Elastic beanstalk configuration (application name, authentication profile name, default region) are read from the \n `.elasticbeanstalk/config.yml` file if it exists. Otherwise, the user will be prompted for these values and the \n config file will be created.\n* If arguments are missing the user will be prompted for required inputs.\n* If the desired environment already exists, skip environment setup and create an associated RDS instance using the \n `--db-only` option.\n* If `--db-only` is not selected, `eb-create-environment` will create an EB environment with the specified parameters,\n create a database in the same VPC, create the necessary security groups, and set the `DATABASE_URL` environment\n variable on the EB environment.\n\n## Customizing the config file\n\nTo get a new config file, `eb-create-environment --print-default-config > .elasticbeanstalk/ENVIRONMENT_NAME.yml`\n\nThe default config file is [eb_create_environment/default_config.yml](eb_create_environment/default_config.yml). `eb-create-environment` will use this file as it's config file if no `--config` option is passed.\n\nYou can override this default by copying this file, modifying its values, and specifying its path using the `--config` option. It is recommended that you include these files in your codebase in a directory called `.elasticbeanstalk`.\n\nParams under the `ElasticBeanstalk` top-level key are used in [eb_create_environment/eb_setup.py](eb_create_environment/eb_setup.py) while params under the `RDS` top-level key are used in [eb_create_environment/database.py](eb_create_environment/database.py).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Tool to create an Elastic Beanstalk environment and linked database using sensible defaults",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/zagaran/eb-environment-creation"
},
"split_keywords": [
"aws",
"eb",
"elastic",
"beanstalk",
"rds",
"database",
"create",
"environment"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7da32b26639eee52d7a8380cd11a6dab7c6dd3149bee11be617ecc1dc3ca459a",
"md5": "0926daa047929375fdd8ab1b8bd36e0a",
"sha256": "352de9c7a67d212d1026f4162117282f112b580ca92ef9eb89ced5ce918890c9"
},
"downloads": -1,
"filename": "eb_create_environment-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0926daa047929375fdd8ab1b8bd36e0a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 13772,
"upload_time": "2023-07-17T22:25:02",
"upload_time_iso_8601": "2023-07-17T22:25:02.702988Z",
"url": "https://files.pythonhosted.org/packages/7d/a3/2b26639eee52d7a8380cd11a6dab7c6dd3149bee11be617ecc1dc3ca459a/eb_create_environment-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5e67cebba491fa2f0ece156842d59b7252284ed1ade4eb45efb9f76ebf49a2ae",
"md5": "92884d9de983c9254bcb9c74ff58e1cb",
"sha256": "a137f74fb9ad23761d9f4fd8bb8952c113509b4760ba944ba65fb2f8ff108f91"
},
"downloads": -1,
"filename": "eb-create-environment-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "92884d9de983c9254bcb9c74ff58e1cb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 12418,
"upload_time": "2023-07-17T22:25:04",
"upload_time_iso_8601": "2023-07-17T22:25:04.005075Z",
"url": "https://files.pythonhosted.org/packages/5e/67/cebba491fa2f0ece156842d59b7252284ed1ade4eb45efb9f76ebf49a2ae/eb-create-environment-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-17 22:25:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zagaran",
"github_project": "eb-environment-creation",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "eb-create-environment"
}