Documentation for `scw dns`
The CLI documentation pages are currently under construction
The content is up to date. We're making improvements to the site over the next few weeks for a better experience.
This API allows you to manage your domains, DNS zones and records.
TLS certificate management
TLS certificate management.
Create or get the DNS zone's TLS certificate
Create a new TLS certificate or retrieve information about an existing TLS certificate.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | Required | |
| alternative-dns-zones.{index} |
Delete a TLS certificate
Delete an existing TLS certificate specified by its DNS zone. Deleting a TLS certificate is permanent and cannot be undone.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | Required |
Get a DNS zone's TLS certificate
Get the DNS zone's TLS certificate. If you do not have a certificate, the output returns no certificate found.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | Required |
List a user's TLS certificates
List all the TLS certificates a user has created, specified by the user's Project ID and the DNS zone.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | Required | |
| project-id |
DNS records management
DNS records management.
Add a new DNS record
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone in which to add the record | Required |
| data | Required | |
| name | ||
| priority | ||
| ttl | Required Default: 3600 | |
| type | Required One of: A, AAAA, CNAME, TXT, SRV, TLSA, MX, NS, PTR, CAA, ALIAS, LOC, SSHFP, HINFO, RP, URI, DS, NAPTR | |
| comment | ||
| geo-ip-config.matches.{index}.countries.{index} | ||
| geo-ip-config.matches.{index}.continents.{index} | ||
| geo-ip-config.matches.{index}.data | ||
| geo-ip-config.default | ||
| http-service-config.ips.{index} | ||
| http-service-config.must-contain | ||
| http-service-config.url | ||
| http-service-config.user-agent | ||
| http-service-config.strategy | One of: random, hashed | |
| weighted-config.weighted-ips.{index}.ip | ||
| weighted-config.weighted-ips.{index}.weight | ||
| view-config.views.{index}.subnet | ||
| view-config.views.{index}.data |
Examples:
Add a CNAME
Code
Add an IP
Code
Update records within a DNS zone
Update records within a DNS zone that has default name servers and perform several actions on your records.
Actions include:
- add: allows you to add a new record or add a new IP to an existing A record, for example
- set: allows you to edit a record or edit an IP from an existing A record, for example
- delete: allows you to delete a record or delete an IP from an existing A record, for example
- clear: allows you to delete all records from a DNS zone
All edits will be versioned.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone in which to update the DNS zone records | Required |
| changes.{index}.add.records.{index}.data | ||
| changes.{index}.add.records.{index}.name | ||
| changes.{index}.add.records.{index}.priority | ||
| changes.{index}.add.records.{index}.ttl | ||
| changes.{index}.add.records.{index}.type | One of: unknown, A, AAAA, CNAME, TXT, SRV, TLSA, MX, NS, PTR, CAA, ALIAS, LOC, SSHFP, HINFO, RP, URI, DS, NAPTR, DNAME, SVCB, HTTPS | |
| changes.{index}.add.records.{index}.comment | ||
| changes.{index}.add.records.{index}.geo-ip-config.matches.{index}.countries.{index} | ||
| changes.{index}.add.records.{index}.geo-ip-config.matches.{index}.continents.{index} | ||
| changes.{index}.add.records.{index}.geo-ip-config.matches.{index}.data | ||
| changes.{index}.add.records.{index}.geo-ip-config.default | ||
| changes.{index}.add.records.{index}.http-service-config.ips.{index} | ||
| changes.{index}.add.records.{index}.http-service-config.must-contain | ||
| changes.{index}.add.records.{index}.http-service-config.url | ||
| changes.{index}.add.records.{index}.http-service-config.user-agent | ||
| changes.{index}.add.records.{index}.http-service-config.strategy | One of: random, hashed, all | |
| changes.{index}.add.records.{index}.weighted-config.weighted-ips.{index}.ip | ||
| changes.{index}.add.records.{index}.weighted-config.weighted-ips.{index}.weight | ||
| changes.{index}.add.records.{index}.view-config.views.{index}.subnet | ||
| changes.{index}.add.records.{index}.view-config.views.{index}.data | ||
| changes.{index}.add.records.{index}.id | ||
| changes.{index}.add.records.{index}.updated-at | ||
| changes.{index}.set.id | ||
| changes.{index}.set.id-fields.name | ||
| changes.{index}.set.id-fields.type | One of: unknown, A, AAAA, CNAME, TXT, SRV, TLSA, MX, NS, PTR, CAA, ALIAS, LOC, SSHFP, HINFO, RP, URI, DS, NAPTR, DNAME, SVCB, HTTPS | |
| changes.{index}.set.id-fields.data | ||
| changes.{index}.set.id-fields.ttl | ||
| changes.{index}.set.records.{index}.data | ||
| changes.{index}.set.records.{index}.name | ||
| changes.{index}.set.records.{index}.priority | ||
| changes.{index}.set.records.{index}.ttl | ||
| changes.{index}.set.records.{index}.type | One of: unknown, A, AAAA, CNAME, TXT, SRV, TLSA, MX, NS, PTR, CAA, ALIAS, LOC, SSHFP, HINFO, RP, URI, DS, NAPTR, DNAME, SVCB, HTTPS | |
| changes.{index}.set.records.{index}.comment | ||
| changes.{index}.set.records.{index}.geo-ip-config.matches.{index}.countries.{index} | ||
| changes.{index}.set.records.{index}.geo-ip-config.matches.{index}.continents.{index} | ||
| changes.{index}.set.records.{index}.geo-ip-config.matches.{index}.data | ||
| changes.{index}.set.records.{index}.geo-ip-config.default | ||
| changes.{index}.set.records.{index}.http-service-config.ips.{index} | ||
| changes.{index}.set.records.{index}.http-service-config.must-contain | ||
| changes.{index}.set.records.{index}.http-service-config.url | ||
| changes.{index}.set.records.{index}.http-service-config.user-agent | ||
| changes.{index}.set.records.{index}.http-service-config.strategy | One of: random, hashed, all | |
| changes.{index}.set.records.{index}.weighted-config.weighted-ips.{index}.ip | ||
| changes.{index}.set.records.{index}.weighted-config.weighted-ips.{index}.weight | ||
| changes.{index}.set.records.{index}.view-config.views.{index}.subnet | ||
| changes.{index}.set.records.{index}.view-config.views.{index}.data | ||
| changes.{index}.set.records.{index}.id | ||
| changes.{index}.set.records.{index}.updated-at | ||
| changes.{index}.delete.id | ||
| changes.{index}.delete.id-fields.name | ||
| changes.{index}.delete.id-fields.type | One of: unknown, A, AAAA, CNAME, TXT, SRV, TLSA, MX, NS, PTR, CAA, ALIAS, LOC, SSHFP, HINFO, RP, URI, DS, NAPTR, DNAME, SVCB, HTTPS | |
| changes.{index}.delete.id-fields.data | ||
| changes.{index}.delete.id-fields.ttl | ||
| changes.{index}.clear | ||
| return-all-records | Specifies whether or not to return all the records | |
| disallow-new-zone-creation | Disable the creation of the target zone if it does not exist. Target zone creation is disabled by default | |
| serial | Use the provided serial (0) instead of the auto-increment serial |
Clear records within a DNS zone
Delete all records within a DNS zone that has default name servers.
All edits will be versioned.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone to clear | Required |
Delete a DNS record
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone in which to delete the record | Required |
| data | ||
| name | ||
| ttl | ||
| type | Required One of: A, AAAA, CNAME, TXT, SRV, TLSA, MX, NS, PTR, CAA, ALIAS, LOC, SSHFP, HINFO, RP, URI, DS, NAPTR |
Examples:
Delete a CNAME
Code
Delete a single IP from a record with more than one
Code
List records within a DNS zone
Retrieve a list of DNS records within a DNS zone that has default name servers. You can filter records by type and name.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| project-id | Project ID on which to filter the returned DNS zone records | |
| order-by | Sort order of the returned DNS zone records | One of: name_asc, name_desc |
| dns-zone | DNS zone on which to filter the returned DNS zone records | Required |
| name | Name on which to filter the returned DNS zone records | |
| type | Record type on which to filter the returned DNS zone records | One of: unknown, A, AAAA, CNAME, TXT, SRV, TLSA, MX, NS, PTR, CAA, ALIAS, LOC, SSHFP, HINFO, RP, URI, DS, NAPTR, DNAME, SVCB, HTTPS |
| id | Record ID on which to filter the returned DNS zone records |
List name servers within a DNS zone
Retrieve a list of name servers within a DNS zone and their optional glue records.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| project-id | Project ID on which to filter the returned DNS zone name servers | |
| dns-zone | DNS zone on which to filter the returned DNS zone name servers | Required |
Update a DNS record
This command will replace all the data for this record with the given values.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone in which to set the record | Required |
| values.{index} | A list of values for replacing the record data. (multiple values cannot be used for all type) | Required |
| name | Required | |
| priority | ||
| ttl | Required Default: 3600 | |
| type | Required One of: A, AAAA, CNAME, TXT, SRV, TLSA, MX, NS, PTR, CAA, ALIAS, LOC, SSHFP, HINFO, RP, URI, DS, NAPTR | |
| comment | ||
| geo-ip-config.matches.{index}.countries.{index} | ||
| geo-ip-config.matches.{index}.continents.{index} | ||
| geo-ip-config.matches.{index}.data | ||
| geo-ip-config.default | ||
| http-service-config.ips.{index} | ||
| http-service-config.must-contain | ||
| http-service-config.url | ||
| http-service-config.user-agent | ||
| http-service-config.strategy | One of: random, hashed | |
| weighted-config.weighted-ips.{index}.ip | ||
| weighted-config.weighted-ips.{index}.weight | ||
| view-config.views.{index}.subnet | ||
| view-config.views.{index}.data |
Examples:
Add or replace a CNAME
Code
Add or replace a list of IP
Code
Update name servers within a DNS zone
Update name servers within a DNS zone and set optional glue records.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone in which to update the DNS zone name servers | Required |
| ns.{index}.name | ||
| ns.{index}.ip.{index} |
Transaction SIGnature key management
Transaction SIGnature key management.
Delete the DNS zone's TSIG key
Delete an existing TSIG key specified by its DNS zone. Deleting a TSIG key is permanent and cannot be undone.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | Required |
Get the DNS zone's TSIG key
Retrieve information about the TSIG key of a given DNS zone to allow AXFR requests.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | Required |
DNS zones version management
DNS zones version management.
Access differences from a specific DNS zone version
Access a previous DNS zone version to see the differences from another specific version.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone-version-id | Required |
List versions of a DNS zone
Retrieve a list of a DNS zone's versions.
The maximum version count is 100. If the count reaches this limit, the oldest version will be deleted after each new modification.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | Required |
Restore a DNS zone version
Restore and activate a version of a specific DNS zone.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone-version-id | Required |
List records from a given version of a specific DNS zone
Retrieve a list of records from a specific DNS zone version.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone-version-id | Required |
DNS Zones management
DNS Zones management.
Clone a DNS zone
Clone an existing DNS zone with all its records into a new DNS zone.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone to clone | Required |
| dest-dns-zone | Destination DNS zone in which to clone the chosen DNS zone | Required |
| overwrite | Specifies whether or not the destination DNS zone will be overwritten | |
| project-id | Project ID of the destination DNS zone |
Create a DNS zone
Create a new DNS zone specified by the domain name, the subdomain and the Project ID.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| domain | Domain in which to create the DNS zone | Required |
| subdomain | Subdomain of the DNS zone to create | Required |
| project-id | Project ID to use. If none is passed the default project ID will be used |
Delete a DNS zone
Delete a DNS zone and all its records.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone to delete | Required |
| project-id | Project ID to use. If none is passed the default project ID will be used |
Export a raw DNS zone
Export a DNS zone with default name servers, in a specific format.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone to export | Required |
| format | DNS zone format | Default: bindOne of: unknown_raw_format, bind |
Import a raw DNS zone
Import and replace the format of records from a given provider, with default name servers.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone to import | Required |
| Deprecated | ||
| project-id | Project ID to use. If none is passed the default project ID will be used | |
| Deprecated One of: unknown_raw_format, bind | ||
| bind-source.content | ||
| axfr-source.name-server | ||
| axfr-source.tsig-key.name | ||
| axfr-source.tsig-key.key | ||
| axfr-source.tsig-key.algorithm |
List DNS zones
Retrieve the list of DNS zones you can manage and filter DNS zones associated with specific domain names.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| project-id | Project ID on which to filter the returned DNS zones | |
| order-by | Sort order of the returned DNS zones | One of: domain_asc, domain_desc, subdomain_asc, subdomain_desc, created_at_asc, created_at_desc, updated_at_asc, updated_at_desc |
| domain | Domain on which to filter the returned DNS zones | |
| DNS zone on which to filter the returned DNS zones | Deprecated | |
| dns-zones.{index} | DNS zones on which to filter the returned DNS zones | |
| created-after | Only list DNS zones created after this date | |
| created-before | Only list DNS zones created before this date | |
| updated-after | Only list DNS zones updated after this date | |
| updated-before | Only list DNS zones updated before this date | |
| organization-id | Organization ID on which to filter the returned DNS zones |
Refresh a DNS zone
Refresh an SOA DNS zone to reload the records in the DNS zone and update the SOA serial. You can recreate the given DNS zone and its sub DNS zone if needed.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | DNS zone to refresh | Required |
| recreate-dns-zone | Specifies whether or not to recreate the DNS zone | |
| recreate-sub-dns-zone | Specifies whether or not to recreate the sub DNS zone |
Update a DNS zone
Update the name and/or the Organizations for a DNS zone.
Usage:
Code
Arguments:
| Name | Description | Argument Specifications |
|---|---|---|
| dns-zone | The full name of the DNS zone to modify. For a root zone (e.g., example.com), enter example.com. For a specific sub-zone (e.g., prod.example.com), enter prod.example.com. | Required |
| new-dns-zone | Name of the new DNS zone to create | Required |
| project-id | Project ID to use. If none is passed the default project ID will be used |