https://github.com/libdns/gandi
Gandi provider implementation for libdns
https://github.com/libdns/gandi
gandi libdns
Last synced: 2 months ago
JSON representation
Gandi provider implementation for libdns
- Host: GitHub
- URL: https://github.com/libdns/gandi
- Owner: libdns
- License: mit
- Created: 2020-05-17T15:57:37.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-25T15:54:03.000Z (over 1 year ago)
- Last Synced: 2024-06-18T20:09:29.639Z (12 months ago)
- Topics: gandi, libdns
- Language: Go
- Homepage:
- Size: 15.6 KB
- Stars: 9
- Watchers: 6
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Gandi for `libdns`
=======================[](https://pkg.go.dev/github.com/libdns/gandi)
This package implements the [libdns interfaces](https://github.com/libdns/libdns) for [Gandi](https://www.gandi.net/).
## Authenticating
This package only supports **API Key authentication**. Refer to the [Gandi's Public API documentation](https://api.gandi.net/docs/reference/#Authentication) for more information.
Start by [retrieving your API key](https://account.gandi.net/) from the _Security_ section in Gandi account admin panel to be able to make authenticated requests to the API.
## Technical limitations
The [LiveDNS documentation](https://api.gandi.net/docs/livedns/) states that records with the same name and type are merged so that their `rrset_values` are grouped together.
```
{
"rrset_type": "MX",
"rrset_ttl": 1800,
"rrset_name": "@",
"rrset_href": "https://api.gandi.net/v5/livedns/domains/gconfs.fr/records/@/MX",
"rrset_values": [
"1 aspmx.l.google.com.",
"5 alt1.aspmx.l.google.com.",
"5 alt2.aspmx.l.google.com.",
"10 alt3.aspmx.l.google.com."
]
}
```On the above example, such a design forces us to perform a `PUT` to add a new `@ 1800 IN MX 10 alt4.aspmx.l.google.com.` record instead of a simple `POST`. Thus, we can not use `POST` to add new records if there is already existing records with the same name and type.
That's why `AppendRecord` has the same behaviour than `SetRecord`. Due to these technical limitations, updating or appending records may affect the TTL of similar records which have the same name and type.