# rds-snap
pip installable tool to allow user to manage AWS RDS Aurora snapshots/clusters.
# Motivation
This opinionated tool is used for the following:
- create snapshots of AWS RDS Clusters
- share/copy snapshots between AWS accounts
- restore AWS RDS Clusters from snapshots
- destroy AWS RDS Clusters
# TODO
- refine logging
- add tests
# Installation
## Using Pip
```bash
$ pip install rds-snap
```
## Manual
```bash
$ git clone https://github.com/RingierIMU/rds-snap
$ cd rds-snap
$ python setup.py install/make install
```
This will install the tool.
## Development
```bash
$ git clone https://github.com/RingierIMU/rds-snap
$ cd rds-snap
$ make dev
```
This will create an environment, format and build the tool.
# Usage
The [example shell script](https://github.com/RingierIMU/rds-snap/blob/main/examples/example.sh) outlines some common uses.
# Output
Sample output while recreating a cluster from and snapshot:
```bash
[2021-08-13 09:57:58,983] rds-snap [INFO] create_cluster_and_wait 268: Creating cluster my-workspace-example
[2021-08-13 09:58:00,073] rds-snap [INFO] create_cluster_and_wait 289: Waiting for cluster my-workspace-example to become available
[2021-08-13 10:17:38,209] rds-snap [INFO] create_cluster_and_wait 298: Cluster my-workspace-example ready in 19m:38s
[2021-08-13 10:17:38,710] rds-snap [INFO] create_instance_and_wait 546: Creating cluster instance my-workspace-example-instance-0
[2021-08-13 10:17:39,698] rds-snap [INFO] create_instance_and_wait 559: Waiting for cluster instance my-workspace-example-instance-0 to become available
[2021-08-13 10:23:57,238] rds-snap [INFO] create_instance_and_wait 568: Cluster instance my-workspace-example-instance-0 ready in 6m:18s
[2021-08-13 10:23:57,509] rds-snap [INFO] update_password_and_wait 308: Updating password for cluster my-workspace-example
[2021-08-13 10:24:01,644] rds-snap [INFO] update_password_and_wait 326: Waited for update command to propagate to cluster my-workspace-example in 4s
[2021-08-13 10:24:01,644] rds-snap [INFO] update_password_and_wait 330: Waiting for cluster my-workspace-example to become available
[2021-08-13 10:25:03,921] rds-snap [INFO] update_password_and_wait 338: Cluster my-workspace-example ready in 1m:02s
```
Raw data
{
"_id": null,
"home_page": "https://github.com/RingierIMU/rds-snap",
"name": "rds-snap",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3",
"maintainer_email": null,
"keywords": "aws, rds, aurora, snapshot, cluster",
"author": "Ringier Tech",
"author_email": "tools@ringier.co.za",
"download_url": "https://files.pythonhosted.org/packages/da/b5/e3c5d614b342d1dafea5e1079c65d6ea27e2f15c934bf00ce493d5d366fa/rds-snap-0.1.0.tar.gz",
"platform": null,
"description": "# rds-snap\npip installable tool to allow user to manage AWS RDS Aurora snapshots/clusters.\n\n# Motivation\nThis opinionated tool is used for the following:\n- create snapshots of AWS RDS Clusters\n- share/copy snapshots between AWS accounts\n- restore AWS RDS Clusters from snapshots\n- destroy AWS RDS Clusters\n\n# TODO\n- refine logging\n- add tests\n\n# Installation\n## Using Pip\n```bash\n$ pip install rds-snap\n```\n## Manual\n```bash\n$ git clone https://github.com/RingierIMU/rds-snap\n$ cd rds-snap\n$ python setup.py install/make install\n```\nThis will install the tool.\n## Development\n```bash\n$ git clone https://github.com/RingierIMU/rds-snap\n$ cd rds-snap\n$ make dev\n```\nThis will create an environment, format and build the tool.\n\n# Usage\nThe [example shell script](https://github.com/RingierIMU/rds-snap/blob/main/examples/example.sh) outlines some common uses.\n\n# Output\nSample output while recreating a cluster from and snapshot:\n```bash\n[2021-08-13 09:57:58,983] rds-snap [INFO] create_cluster_and_wait 268: Creating cluster my-workspace-example\n[2021-08-13 09:58:00,073] rds-snap [INFO] create_cluster_and_wait 289: Waiting for cluster my-workspace-example to become available\n[2021-08-13 10:17:38,209] rds-snap [INFO] create_cluster_and_wait 298: Cluster my-workspace-example ready in 19m:38s\n[2021-08-13 10:17:38,710] rds-snap [INFO] create_instance_and_wait 546: Creating cluster instance my-workspace-example-instance-0\n[2021-08-13 10:17:39,698] rds-snap [INFO] create_instance_and_wait 559: Waiting for cluster instance my-workspace-example-instance-0 to become available\n[2021-08-13 10:23:57,238] rds-snap [INFO] create_instance_and_wait 568: Cluster instance my-workspace-example-instance-0 ready in 6m:18s\n[2021-08-13 10:23:57,509] rds-snap [INFO] update_password_and_wait 308: Updating password for cluster my-workspace-example\n[2021-08-13 10:24:01,644] rds-snap [INFO] update_password_and_wait 326: Waited for update command to propagate to cluster my-workspace-example in 4s\n[2021-08-13 10:24:01,644] rds-snap [INFO] update_password_and_wait 330: Waiting for cluster my-workspace-example to become available\n[2021-08-13 10:25:03,921] rds-snap [INFO] update_password_and_wait 338: Cluster my-workspace-example ready in 1m:02s\n```\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Tool to allow for the management of aws rds aurora snapshots and clusters.",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/RingierIMU/rds-snap"
},
"split_keywords": [
"aws",
" rds",
" aurora",
" snapshot",
" cluster"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "268fb0283a809927f921968ec8b41860bbd7713b49b0ba7845747fb2e697e164",
"md5": "1beaa285a92be877d5337bb50bc319fd",
"sha256": "c98025fd5aff018515e931fc1f22b5e23340e5cb0a5ab91b3fff0df59b5091bf"
},
"downloads": -1,
"filename": "rds_snap-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1beaa285a92be877d5337bb50bc319fd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 13774,
"upload_time": "2024-10-11T04:55:38",
"upload_time_iso_8601": "2024-10-11T04:55:38.143065Z",
"url": "https://files.pythonhosted.org/packages/26/8f/b0283a809927f921968ec8b41860bbd7713b49b0ba7845747fb2e697e164/rds_snap-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dab5e3c5d614b342d1dafea5e1079c65d6ea27e2f15c934bf00ce493d5d366fa",
"md5": "71783a250a0e958bbf586f9f9a21d17a",
"sha256": "4f75bcfdf5d5c9fdbf659608822c5e908981184fa6b5d1fc207315472068ded7"
},
"downloads": -1,
"filename": "rds-snap-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "71783a250a0e958bbf586f9f9a21d17a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 10934,
"upload_time": "2024-10-11T04:55:39",
"upload_time_iso_8601": "2024-10-11T04:55:39.035947Z",
"url": "https://files.pythonhosted.org/packages/da/b5/e3c5d614b342d1dafea5e1079c65d6ea27e2f15c934bf00ce493d5d366fa/rds-snap-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-11 04:55:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "RingierIMU",
"github_project": "rds-snap",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "click",
"specs": []
},
{
"name": "click-log",
"specs": []
},
{
"name": "boto3",
"specs": []
}
],
"lcname": "rds-snap"
}