Metadata-Version: 2.1
Name: octodns-cloudns
Version: 0.0.12
Summary: ClouDNS API provider for octoDNS
Home-page: https://github.com/octodns/octodns-cloudns
Author: ClouDNS
Author-email: support@cloudns.net
License: MIT
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: octodns >=0.9.17
Requires-Dist: requests >=2.27.0
Provides-Extra: dev
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: pytest-network ; extra == 'dev'
Requires-Dist: requests-mock ; extra == 'dev'
Requires-Dist: black <24.0.0,>=23.1.0 ; extra == 'dev'
Requires-Dist: build >=0.7.0 ; extra == 'dev'
Requires-Dist: isort >=5.11.5 ; extra == 'dev'
Requires-Dist: pyflakes >=2.2.0 ; extra == 'dev'
Requires-Dist: readme-renderer[md] >=26.0 ; extra == 'dev'
Requires-Dist: twine >=3.4.2 ; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-network ; extra == 'test'
Requires-Dist: requests-mock ; extra == 'test'

## ClouDNS API provider for octoDNS

An [octoDNS](https://github.com/octodns/octodns/) provider that targets ClouDNS.

### Installation

#### Command line

```
pip install octodns-cloudns
```

### Configuration

For more safety, we recommend you to use an API sub-user with limited permissions.
You can create it from [your ClouDNS account](https://www.cloudns.net/api-settings/)
and store your credentials in environment variables:

```bash
export CLOUDNS_API_AUTH_ID=XXXXX
export CLOUDNS_API_AUTH_PASSWORD=XXXXX
```

Then add your ClouDNS account to your octoDNS configuration file:

```yaml
providers:
  cloudns_account:
    class: octodns_cloudns.ClouDNSProvider
    auth_id: env/CLOUDNS_API_AUTH_ID
    auth_password: env/CLOUDNS_API_AUTH_PASSWORD
    # "sub_auth" must be enabled if *only* you log in using a sub-user.
    sub_auth: true
```


### Support Information

#### GeoDNS records

ClouDNSProvider suports GeoDNS records

#### Records

ClouDNSProvider suports А, AAAA, ALIAS, CAA, CNAME, DNAME, MX, NS, PTR, SPF, SRV, SSHFP, TXT, TLSA, LOC and NAPTR

#### Dynamic

ClouDNSProvider does not support dynamic records.

### Development

See the [/script/](/script/) directory for some tools to help with the development process. They generally follow the [Script to rule them all](https://github.com/github/scripts-to-rule-them-all) pattern. Most useful is `./script/bootstrap` which will create a venv and install both the runtime and development related requirements. It will also hook up a pre-commit hook that covers most of what's run by CI.
