Metadata-Version: 2.1
Name: cloudendure
Version: 0.1.9
Summary: CloudEndure Python Client and CLI
Home-page: https://github.com/2ndWatch/cloudendure-python
Author: Mark Beacom, Tom Warnock
Author-email: mbeacom@2ndwatch.com, twarnock@2ndwatch.com
Maintainer: Evan Lucchesi Leon,Nick Selpa
Maintainer-email: evan@2ndwatch.com,nselpa@2ndwatch.com
License: MIT
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: MacOS :: MacOS 9
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft
Classifier: Operating System :: Microsoft :: MS-DOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: Operating System :: Microsoft :: Windows :: Windows 8.1
Classifier: Operating System :: Microsoft :: Windows :: Windows 8
Classifier: Operating System :: Microsoft :: Windows :: Windows 7
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Session
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Topic :: Utilities
Requires-Python: >=3.7.0
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: boto3
Requires-Dist: fire
Provides-Extra: test
Requires-Dist: coverage ; extra == 'test'
Requires-Dist: isort ; extra == 'test'
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-isort ; extra == 'test'
Requires-Dist: pytest-sugar ; extra == 'test'
Requires-Dist: black ; extra == 'test'
Requires-Dist: pydocstyle ; extra == 'test'
Requires-Dist: pycodestyle ; extra == 'test'
Requires-Dist: bandit ; extra == 'test'
Requires-Dist: mypy ; extra == 'test'
Requires-Dist: twine ; extra == 'test'
Requires-Dist: moto ; extra == 'test'


# cloudendure-python

Python wrapper and CLI for [CloudEndure](https://www.cloudendure.com/)

[![PyPI](https://img.shields.io/pypi/v/cloudendure) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/cloudendure)](https://pypi.org/project/cloudendure/) [![PyPi Publish](https://github.com/2ndWatch/cloudendure-python/workflows/PyPi%20Publish/badge.svg)](https://2ndwatch.github.io/cloudendure-python/) [![Documenation](https://github.com/2ndWatch/cloudendure-python/workflows/Github%20Pages/badge.svg)](https://2ndwatch.github.io/cloudendure-python/)

## Requirements

[Python 3.7+](https://www.python.org/downloads/)

## Installation & Usage

### pipenv

```sh
brew install pipenv # if not installed
pipenv install cloudendure
```

### pip

```sh
pip install cloudendure
```

### Usage

Then import the package:

```python
import cloudendure
```

## Getting Started
CloudEndure Pipeline Flow
![CloudEndure Pipeline Flow](images/ce_migration_pipeline.png)

CloudEndure Data Flow
![CloudEndure Data Flow](images/ce_dataflow.png)

Pipeline Flow (as seen in AWS Console)
![Pipeline_Flow](images/stepfunctions_graph.svg)

### Logging in via CLI using environment variables

Please note: `cloudendure` and `ce` can be used interchangeably

```sh
export CLOUDENDURE_USERNAME=<your_ce_user>
export CLOUDENDURE_PASSWORD=<your_ce_password>
export CLOUDENDURE_DESTINATION_ACCOUNT=<destination_aws_account_id>

cloudendure api login
```

or

```sh
export CLOUDENDURE_USER_API_TOKEN=<your_ce_user_api_token>
export CLOUDENDURE_DESTINATION_ACCOUNT=<destination_aws_account_id>

ce api login
```

### Logging in via CLI inline

Please note: `cloudendure` and `ce` can be used interchangeably

```sh
cloudendure api login --user=<your_ce_user> --password=<your_ce_password>
```

or

```sh
ce api login --token=<your_ce_user_api_token>
```

Logging in for the first time will generate the `~/.cloudendure.yml` file.

## Coming Soon

This project is currently a work in progress and will actively change. This client has not yet been finalized and is entirely subject to change.

## Changelog

Check out the [CHANGELOG](CHANGELOG.md)


