github.com/StackExchange/dnscontrol/v4@v4.11.0/documentation/provider/transip.md (about) 1 ## Configuration 2 3 To use this provider, add an entry to `creds.json` with `TYPE` set to `TRANSIP` 4 along with your TransIP credentials. 5 6 ### Key Pairs 7 8 You can login with your `AccountName` and a `PrivateKey` which can be generated in the [TransIP control panel](https://www.transip.nl/cp/account/api/). The `PrivateKey` is a stringified version of the Private Key given by the API, see the example below, each newline is replaced by "\n". 9 10 Example: 11 12 {% code title="creds.json" %} 13 ```json 14 { 15 "transip": { 16 "TYPE": "TRANSIP", 17 "AccountName": "your-account-name", 18 "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUp\nwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5\n1s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQABAoGAFijko56+qGyN8M0RVyaRAXz++xTqHBLh\n3tx4VgMtrQ+WEgCjhoTwo23KMBAuJGSYnRmoBZM3lMfTKevIkAidPExvYCdm5dYq3XToLkkLv5L2\npIIVOFMDG+KESnAFV7l2c+cnzRMW0+b6f8mR1CJzZuxVLL6Q02fvLi55/mbSYxECQQDeAw6fiIQX\nGukBI4eMZZt4nscy2o12KyYner3VpoeE+Np2q+Z3pvAMd/aNzQ/W9WaI+NRfcxUJrmfPwIGm63il\nAkEAxCL5HQb2bQr4ByorcMWm/hEP2MZzROV73yF41hPsRC9m66KrheO9HPTJuo3/9s5p+sqGxOlF\nL0NDt4SkosjgGwJAFklyR1uZ/wPJjj611cdBcztlPdqoxssQGnh85BzCj/u3WqBpE2vjvyyvyI5k\nX6zk7S0ljKtt2jny2+00VsBerQJBAJGC1Mg5Oydo5NwD6BiROrPxGo2bpTbu/fhrT8ebHkTz2epl\nU9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ\n37sJ5QsW+sJyoNde3xH8vdXhzU7eT82D6X/scw9RZz+/6rCJ4p0=\n-----END RSA PRIVATE KEY-----" 19 } 20 } 21 ``` 22 {% endcode %} 23 24 ### Access tokens 25 26 Or you can choose to have an `AccessToken` as credential. These can be generated in the [TransIP control panel](https://www.transip.nl/cp/account/api/) and have a limited lifetime 27 28 {% code title="creds.json" %} 29 ```json 30 { 31 "transip": { 32 "TYPE": "TRANSIP", 33 "AccessToken": "your-transip-personal-access-token" 34 } 35 } 36 ``` 37 {% endcode %} 38 39 40 ## Metadata 41 42 This provider does not recognize any special metadata fields unique to TransIP. 43 44 ## Usage 45 46 An example configuration: 47 48 {% code title="dnsconfig.js" %} 49 ```javascript 50 var REG_NONE = NewRegistrar("none"); 51 var DSP_TRANSIP = NewDnsProvider("transip"); 52 53 D("example.com", REG_NONE, DnsProvider(DSP_TRANSIP), 54 A("test", "1.2.3.4"), 55 END); 56 ``` 57 {% endcode %} 58 59 ## Activation 60 61 TransIP depends on a TransIP personal access token. 62 63 ## Limitations 64 65 > "When multiple or none of the current DNS entries matches, the response will be an error with http status code 406." — _[TransIP - REST API - Update single DNS entry](https://api.transip.nl/rest/docs.html#domains-dns-patch)_ 66 67 This makes it not possible, for example, to update a [`CAA()`](../language-reference/domain-modifiers/CAA.md) record in one update. Instead, the old DNS entry is deleted and the replacement is added. You'll see `[1/2]` and `[2/2]` in the DNSControl output whenever this happens. 68 69 ### Example with a `CAA_BUILDER()` 70 71 {% code title="dnsconfig.js" %} 72 ```diff 73 CAA_BUILDER({ 74 label: '@', 75 iodef: 'mailto:info@cafferata.dev', 76 + iodef_critical: true, 77 issue: [ 78 'letsencrypt.org', 79 ], 80 issuewild: 'none', 81 }), 82 ``` 83 {% endcode %} 84 85 ```shell 86 dnscontrol push --domains cafferata.dev 87 ``` 88 89 ```shell 90 ******************** Domain: cafferata.dev 91 2 corrections (transip) 92 #1: [1/2] delete: ± MODIFY cafferata.dev CAA (0 iodef "mailto:info@cafferata.dev" ttl=86400) -> (128 iodef "mailto:info@cafferata.dev" ttl=86400) 93 SUCCESS! 94 #2: [2/2] create: ± MODIFY cafferata.dev CAA (0 iodef "mailto:info@cafferata.dev" ttl=86400) -> (128 iodef "mailto:info@cafferata.dev" ttl=86400) 95 SUCCESS! 96 Done. 2 corrections. 97 ```