2017-09-27 01:14:53 +08:00
---
2017-10-11 20:33:17 +08:00
name: SoftLayer DNS
title: SoftLayer DNS Provider
2017-09-27 01:14:53 +08:00
layout: default
jsId: SOFTLAYER
---
# SoftLayer DNS Provider
## Configuration
2017-10-11 20:33:17 +08:00
To authenticate with SoftLayer requires at least a `username` and `api_key` for authentication.
2017-09-27 01:14:53 +08:00
It can also optionally take a `timeout` and `endpoint_url` parameter however these are optional and will use standard defaults if not provided.
These can be supplied via the standard 'creds.json' like so:
{% highlight json %}
2017-10-11 20:33:52 +08:00
{
"softlayer": {
"username": "myusername",
"api_key": "mysecretapikey"
}
}
2017-09-27 01:14:53 +08:00
{% endhighlight %}
To maintain compatibility with existing softlayer CLI services these can also be provided by the `SL_USERNAME` and `SL_API_KEY` environment variables or specified in the ~/.softlayer.
More information about these methods can be found at [the softlayer-go library documentation ](https://github.com/softlayer/softlayer-go#sessions ).
## Usage
Use this provider like any other DNS Provider:
{% highlight js %}
2017-10-11 20:33:52 +08:00
var REG_NONE = NewRegistrar("none","NONE"); // no registrar
var SOFTLAYER = NewDnsProvider("softlayer", "SOFTLAYER");
2017-09-27 01:14:53 +08:00
2017-10-11 20:33:52 +08:00
D("example.tld", registrary, DnsProvider(SOFTLAYER),
2017-09-27 01:14:53 +08:00
A("test","1.2.3.4")
);
{%endhighlight%}
## Metadata
This provider does not recognize any special metadata fields unique to SoftLayer dns.
For compatibility with the pre-generated NAMESERVER fields it's recommended to set the NS TTL to 86400 such as:
{% highlight js %}
2017-10-11 20:33:52 +08:00
D("example.tld", REG_NONE, DnsProvider(SOFTLAYER),
2017-09-27 01:14:53 +08:00
{"ns_ttl": "86400"},
A("test","1.2.3.4")
);
{%endhighlight%}
`ns_ttl` is a standard metadata field that applies to all providers.