1Gandi for `libdns`2=======================34[](https://pkg.go.dev/github.com/libdns/gandi)56This package implements the [libdns interfaces](https://github.com/libdns/libdns) for [Gandi](https://www.gandi.net/).78## Authenticating910This package only supports **API Key authentication**. Refer to the [Gandi's Public API documentation](https://api.gandi.net/docs/reference/#Authentication) for more information.1112Start 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.1314## Technical limitations1516The [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.1718```19{20 "rrset_type": "MX",21 "rrset_ttl": 1800,22 "rrset_name": "@",23 "rrset_href": "https://api.gandi.net/v5/livedns/domains/gconfs.fr/records/@/MX",24 "rrset_values": [25 "1 aspmx.l.google.com.",26 "5 alt1.aspmx.l.google.com.",27 "5 alt2.aspmx.l.google.com.",28 "10 alt3.aspmx.l.google.com."29 ]30}31```3233On 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.3435That'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.