Exoscale for libdns
This package implements the libdns interfaces for Exoscale, allowing you to manage DNS records.
This provider expects the following configuration:
APIKey
: Exoscale API KeyAPISecret
: Exoscale API Secret
Here is an example of the minimum permissions you can set for the role associated to your API Key.
{
"default-service-strategy": "deny",
"services": {
"dns": {
"type": "rules",
"rules": [
{
"expression": "operation == 'list-dns-domains'",
"action": "allow"
},
{
"expression": "!(resources.dns_domain.unicode_name in [\"example.com\"])",
"action": "deny"
},
{
"expression": "true",
"action": "allow"
}
]
}
}
}
For testing, set the TEST_API_KEY
, TEST_API_SECRET
and TEST_ZONE
as environment variable.
$ TEST_API_KEY="EXO..." TEST_API_SECRET="..." TEST_ZONE="example.com" go test -v
=== RUN Test_AppendRecords
--- PASS: Test_AppendRecords (13.89s)
=== RUN Test_DeleteRecords
--- PASS: Test_DeleteRecords (7.37s)
=== RUN Test_GetRecords
--- PASS: Test_GetRecords (7.89s)
=== RUN Test_SetRecords
--- PASS: Test_SetRecords (14.23s)
PASS
ok github.com/libdns/exoscale 43.393s