# Secrets Manager Client

A python Module to retrieve a single or batch amount of secrets from AWS Secrets Manager

Requires python 3.10

## Library

Python:

```python
from secrets_manager_client.secrets import get_secret, batch_secret

# returns the secret
get_secret("secret name", region="region", endpoint="endpoint url")

# returns a batch of secrets based on path parameters
batch_secrets("enviornment_prefix", project_group="Project Group", project_name="Project Name", region="region", endpoint="endpoint url")
```

## CLI

Get one secret:

```bash
secret-manager-client get -s marketing/dev/api/AUTH0_MANAGEMENT_CLIENT_SECRET

{"asctime": "2019-07-19 01:18:35,208", "name": "secrets_manager_client", "levelname": "INFO", "message": "Retreving Secret: marketing/dev/api/AUTH0_MANAGEMENT_CLIENT_SECRET"}
{"asctime": "2019-07-19 01:18:35,208", "name": "secrets_manager_client", "levelname": "INFO", "message": "Retrieval of Secret: [ marketing/dev/api/AUTH0_MANAGEMENT_CLIENT_SECRET ][string] Successful!"}
result:
'secret value'.
```


Get batch of secrets:
```bash
secret-manager-client batch -e dev -g marketing -p api
{"asctime": "2019-07-19 01:19:46,373", "name": "secrets_manager_client", "levelname": "INFO", "message": "Retreving Secret: marketing/dev/api/AUTH0_API_AUDIENCE"}
{"asctime": "2019-07-19 01:19:46,373", "name": "secrets_manager_client", "levelname": "INFO", "message": "Retrieval of Secret: [ marketing/dev/api/AUTH0_API_AUDIENCE ][string] Successful!"}
...
{"asctime": "2019-07-19 01:19:51,202", "name": "secrets_manager_client", "levelname": "INFO", "message": "Found secret", "secret_name": "marketing/dev/api/DB_USER"}
result:
{'marketing/dev/api/AUTH0_API_AUDIENCE': 'http://amazonaws.com/api',
 'marketing/dev/api/AUTH0_CLIENT_ID': 'client id',
 'marketing/dev/api/AUTH0_DOMAIN': 'some.auth0.com',
 'marketing/dev/api/AUTH0_MANAGEMENT_CLIENT_ID': 'client id',
 'marketing/dev/api/AUTH0_MANAGEMENT_CLIENT_SECRET': 'client secret',
 'marketing/dev/api/DB_HOST': 'db host',
 'marketing/dev/api/DB_USER': 'user'}
```
