{"id":22394359,"url":"https://github.com/akamai/cli-dns","last_synced_at":"2026-02-28T19:01:41.448Z","repository":{"id":33862827,"uuid":"124478262","full_name":"akamai/cli-dns","owner":"akamai","description":"Akamai CLI for Edge DNS","archived":false,"fork":false,"pushed_at":"2025-10-06T14:43:34.000Z","size":197,"stargazers_count":10,"open_issues_count":13,"forks_count":8,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-10-06T16:05:36.375Z","etag":null,"topics":["akamai-cli","dns","dns-cli","edge-dns","fast-dns"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akamai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-09T02:47:40.000Z","updated_at":"2025-10-06T14:00:19.000Z","dependencies_parsed_at":"2024-06-19T10:02:18.979Z","dependency_job_id":"9658fe69-1a31-48de-a6ba-a2cbd69bd91c","html_url":"https://github.com/akamai/cli-dns","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/akamai/cli-dns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akamai%2Fcli-dns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akamai%2Fcli-dns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akamai%2Fcli-dns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akamai%2Fcli-dns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akamai","download_url":"https://codeload.github.com/akamai/cli-dns/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akamai%2Fcli-dns/sbom","scorecard":{"id":175203,"data":{"date":"2025-08-11","repo":{"name":"github.com/akamai/cli-dns","commit":"4fae18386e2b7cbeffbdb89c3601a47db817f999"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":1,"reason":"Found 4/22 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":8,"reason":"5 out of the last 5 releases have a total of 5 signed artifacts.","details":["Info: signed release artifact: akamai-dns-0.5.0-linux386.sig: https://github.com/akamai/cli-dns/releases/tag/0.5.0","Info: signed release artifact: akamai-dns-0.4.0-linux386.sig: https://github.com/akamai/cli-dns/releases/tag/0.4.0","Info: signed release artifact: akamai-dns-0.3.0-linux386.sig: https://github.com/akamai/cli-dns/releases/tag/0.3.0","Info: signed release artifact: akamai-dns-0.2.0-linux386.sig: https://github.com/akamai/cli-dns/releases/tag/0.2.0","Info: signed release artifact: akamai-dns-0.1.0-linux386.sig: https://github.com/akamai/cli-dns/releases/tag/0.1.0","Warn: release artifact 0.5.0 does not have provenance: https://api.github.com/repos/akamai/cli-dns/releases/102446309","Warn: release artifact 0.4.0 does not have provenance: https://api.github.com/repos/akamai/cli-dns/releases/33419712","Warn: release artifact 0.3.0 does not have provenance: https://api.github.com/repos/akamai/cli-dns/releases/28075090","Warn: release artifact 0.2.0 does not have provenance: https://api.github.com/repos/akamai/cli-dns/releases/15259574","Warn: release artifact 0.1.0 does not have provenance: https://api.github.com/repos/akamai/cli-dns/releases/10635715"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 13 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2022-0493 / GHSA-p782-xgp4-8hr8"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T17:33:22.628Z","repository_id":33862827,"created_at":"2025-08-16T17:33:22.628Z","updated_at":"2025-08-16T17:33:22.628Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29948228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T18:42:55.706Z","status":"ssl_error","status_checked_at":"2026-02-28T18:42:48.811Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["akamai-cli","dns","dns-cli","edge-dns","fast-dns"],"created_at":"2024-12-05T05:09:55.876Z","updated_at":"2026-02-28T19:01:41.434Z","avatar_url":"https://github.com/akamai.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--esi \n\u003cesi:assign name=\"dac_stylesheets\" value=\"['/stylesheets/screen.css']\" /\u003e\n\u003cesi:assign name=\"dac_footer_js\" value=\"['/javascripts/app/toc.js']\" /\u003e\n\u003cesi:eval src=\"/internal/header.html?http\" dca=\"esi\" /\u003e\n--\u003e\n# Akamai CLI for Edge DNS\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/akamai/cli-dns)](https://goreportcard.com/report/github.com/akamai/cli-dns) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fakamai%2Fcli-dns.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fakamai%2Fcli-dns?ref=badge_shield)\n\nAn [Akamai CLI](https://developer.akamai.com/cli) package for managing DNS Zones using Edge DNS (formerly known as Fast DNS).\n\n## Getting Started\n\n### Installing\n\nTo install this package, use Akamai CLI:\n\n```sh\n$ akamai install dns\n```\n\nYou may also use this as a stand-alone command by downloading the\n[latest release binary](https://github.com/akamai/cli-dns/releases)\nfor your system, or by cloning this repository and compiling it yourself.\n\n### Compiling from Source\n\nIf you want to compile the package from source, you will need Go 1.25 or later installed:\n\n1. Create a clone of the target repository:\n   `git clone https://github.com/akamai/cli-dns.git`\n2. Change to the package directory and compile the binary:\n  - Linux/macOS/*nix: `go build -o akamai-dns`\n  - Windows: `go build -o akamai-dns.exe`\n\n## Command Summary\n\n### Usage\n\n```\n$  akamai dns [--edgerc] [--section] [--accountkey] \u003ccommand\u003e [sub-command]\n```\n\nor \n\n```\n$  akamai-dns [--edgerc] [--section] [--accountkey] \u003ccommand\u003e [sub-command]\n```\n\n### Description\n\n   Manage DNS Zones with Edge DNS\n\n\n\n### Global Flags\n\n```\n   --edgerc value      Location of the credentials file (default: \"/home/elynes/.edgerc\") [$AKAMAI_EDGERC]\n   --section value     Section of the credentials file (default: \"default\") [$AKAMAI_EDGERC_SECTION]\n   --accountkey value  Account switch key [$AKAMAI_EDGERC_ACCOUNT_KEY]\n```\n\n## Built-In Commands\n\n```\n  add-record [Deprecated]\n  rm-record [Deprecated]\n  list-recordsets\n  create-recordsets\n  update-recordsets\n  retrieve-recordset\n  create-recordset\n  update-recordset\n  delete-recordset\n  retrieve-zone [Deprecated]\n  update-zone [Deprecated]\n  list-zoneconfig\n  create-zoneconfig\n  retrieve-zoneconfig\n  update-zoneconfig\n  submit-bulkzones\n  status-bulkzones\n  result-bulkzones\n  list\n  help\n```\n\nCommands are grouped into several categories.\n\n*-zoneconfig, *-recordsets and *-recordset commands provide the ability to manage zone configurations directly, as well as manage recordsets individually or in groupings. These commands should be preferred.\n\n*-bulkzones commands provide the ability to submit and monitor bulk zone operations.\n\n*-zone and *-record commands provide a more constrained scope of control, treating the zone and records as a single entity. \n\n### Listing Zone Configurations\n\nA list of existing zone configurations can be retrieved by using the `akamai dns list-zoneconfig` command.\n\nThe complete command line is:\n\n```\n   akamai dns list-zoneconfig  [--json] [--output] [--contractid] [--type] [--search] [--summary] \n\nFlags: \n   --json           Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --output FILE    Output command results to FILE\n   --contractid ID  Contract ID. Multiple flags allowed\n   --type TYPE      Zone TYPE. Multiple flags allowed\n   --search VALUE   Zone search VALUE\n   --summary        List zone names and type\n```\n\nTo list Primary zones and generate results in json format, the `--type` and `--json` flags would be used. For example:\n\n```\n$akamai dns list-zoneconfig --type primary --json\n```\n\nwould result in the following output:\n\n```\n{\n  \"Zones\": [\n    {\n      \"zone\": \"example.com\",\n      \"type\": \"PRIMARY\",\n      \"signAndServe\": false,\n      \"contractId\": \"1-ABC123\",\n      \"activationState\": \"NEW\",\n      \"lastModifiedBy\": \"jsmith\",\n      \"lastModifiedDate\": \"2020-06-05T21:05:04.298125Z\",\n      \"versionId\": \"60a1f29b-85e8-44e0-a921-2bcae8728f75\"\n    }\n  ]\n}\n```\n\nTo generate a summary list of zones containing specific text, the `--search` and `--summary` flags would be used. For example:\n\n```\n$ akamai dns list-zoneconfig --search example --summary\n```\n\nwould result in the following output:\n\n```\nZone List Summary\n \n                   ZONE                     TYPE     ACTIVATION STATE   CONTRACT ID  \n                                                                                     \n  example.com                              PRIMARY         NEW           1-3CV382    \n``` \n\n### Retrieving a Zone Configuration\n\nAn existing zone configuration can be retrieved by using the `akamai dns retrieve-zoneconfig` command.\n\nThe complete command line is:\n\n```\n   akamai dns retrieve-zoneconfig \u003czonename\u003e [--json] [--output] [--dns]\n\nFlags: \n   --json         Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --output FILE  Output command results to FILE\n   --dns          Retrieve Zone Master File\n```\n\nTo retrieve a zoneconfig and output result in json format, the `--json` flag would be used. For example:\n\n```\n$ akamai dns retrieve-zoneconfig example.com --json\n```\n\nwould result in the following output:\n\n```\n{\n  \"zone\": \"example.com\",\n  \"type\": \"PRIMARY\",\n  \"comment\": \"Primary zone\",\n  \"signAndServe\": false,\n  \"contractId\": \"1-ABC123\",\n  \"activationState\": \"PENDING\",\n  \"lastModifiedBy\": \"jsmith\",\n  \"lastModifiedDate\": \"2020-06-09T18:06:01.266155Z\",\n  \"versionId\": \"a0b4730e-fbbe-40ad-96b3-ac6a4cbadb1e\"\n} \n```\n\nTo retrieve the master zone file and output to the console, an example would be:\n\n```\n$ akamai dns retrieve-zoneconfig xxx_primary_test.com --dns\nRetrieving Zone\nRetrieving Zone  ... [OK]\n\nAssembling Zone Content\nAssembling Zone Content ... [OK]\n\n\n;; File Generated at 2020-10-21T21:22:58.672933Z\n;; Last Modified at 2020-10-19T14:54:56.407659Z[UTC]\n;; Version Identifier 166415f9-0744-4acc-9ca1-84173df6f69d\nxxx_primary_test.com.        86400   IN      NS      a4-65.akam.net.\nxxx_primary_test.com.        86400   IN      NS      a13-65.akam.net.\nxxx_primary_test.com.        86400   IN      NS      a3-64.akam.net.\nxxx_primary_test.com.        86400   IN      NS      a2-64.akam.net.\nxxx_primary_test.com.        86400   IN      NS      a12-65.akam.net.\nxxx_primary_test.com.        86400   IN      NS      a1-98.akam.net.\nxxx_primary_test.com.        86400   IN      SOA     a1-98.akam.net. hostmaster.xxx_primary_test.com. 2020052603 3600 600 604800 300\narec.xxx_primary_test.com.   1800    IN      A       1.2.4.8\n```\n\n### Creating a Zone Configuration\n\nA zone configuration can be created by using the `akamai dns create-zoneconfig` command. The configuration can be provided as command line values or json file.\n\nThe complete command line is:\n\n```\nakamai dns create-zoneconfig \u003czonename\u003e [--json] [--suppress] [--output] [--type] [--master] [--comment] [--signandserve] [--algorithm] [--tsigname] [--tsigalgorithm] [--tsigsecret] [--target] [--endcustomerid] [--file] [--contractid] [--groupid] [--initialize] \n\nFlags: \n   --json                         Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --suppress                     Suppress command result output. Overrides other output related flags [$AKAMAI_CLI_DNS_SUPPRESS]\n   --output FILE                  Output command results to FILE\n   --type TYPE                    Zone TYPE\n   --master MASTER                Secondary Zone MASTER. Multiple flags may be specified\n   --comment COMMENT              Zone COMMENT\n   --signandserve SIGNANDSERVE    Primary or Secondary Zone SIGNANDSERVE flag\n   --algorithm ALGORITHM          Zone signandserve ALGORITHM\n   --tsigname NAME                TSIG key NAME\n   --tsigalgorithm ALGORITHM      TSIG key ALGORITHM\n   --tsigsecret SECRET            TSIG key SECRET\n   --target TARGET                Alias Zone TARGET\n   --endcustomerid ENDCUSTOMERID  ENDCUSTOMERID\n   --file FILE                    Read JSON formatted input from FILE\n   --contractid ID                Contract ID\n   --groupid ID                   Group ID\n   --initialize                   Generate default SOA and NS Records\n```\n\nTo create a zone, the desired fields and values would be provided. For example, to create a simple primary zone with default SOA and NS records via command line:\n\n```\n$ akamai dns create-zoneconfig example_primary.com --type primary --contractid 1-ABC123 --initialize\n```\n\nwould create the zone with the following output:\n\n```\nZone Configuration\n \n           ZONE               ATTRIBUTE                      VALUE                  \n                                                                                    \n  example_primary.com      Type               PRIMARY                               \n                           \n                           ContractId         1-ABC123\n                                                                                    \n                           SignAndServe       false                                 \n                                                                                    \n                           ActivationState    PENDING                               \n                                                                                    \n                           LastModifiedDate   2020-06-09T18:06:01.266155Z           \n                                                                                    \n                           VersionId          a0b4730e-fbbe-40ad-96b3-ac6a4cbadb1e  \n```\n\nTo create a secondary zone with a Tsig Key and comment and but suppress output via file input, the following command would be specified:\n\n```\n$ akamai dns create-zoneconfig example_secondary.com --file zone_create.json --suppress\n```\n\nwhere zone_create.json contains:\n\n```\n{\n  \"zone\": \"example_secondary.com\",\n  \"type\": \"SECONDARY\",\n  \"comment\": \"secondary zone\",\n  \"masters\": [\n    \"10.0.1.1\"\n  ],\n  \"signAndServe\": false,\n  \"tsigKey\": {\n    \"name\": \"testtsig\",\n    \"algorithm\": \"hmac-md5\",\n    \"secret\": \"p/jzrJpXOLf4mPUtx/z+Sw==\"\n  },\n  \"contractId\": \"1-ABC123\" \n}\n```\n\nreturns no output\n\n### Updating a Zone Configuration\n\nA zone configuration can be updated by using the `akamai dns update-zoneconfig` command. The updated configuration can be provided as command line values or json file. Note: Only updated fields and values need to be specified if using command line input.\n\nThe complete command line is:\n\n```\nakamai dns update-zoneconfig \u003czonename\u003e [--json] [--suppress] [--output] [--type] [--master] [--comment] [--signandserve] [--algorithm] [--tsigname] [--tsigalgorithm] [--tsigsecret] [--target] [--endcustomerid] [--file] [--contractid] [--dns]\n\n\nFlags:\n   --json                         Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --suppress                     Suppress command result output. Overrides other output related flags [$AKAMAI_CLI_DNS_SUPPRESS]\n   --output FILE                  Output command results to FILE\n   --type TYPE                    Zone TYPE {REQUIRED}\n   --master MASTER                Secondary Zone MASTER. Multiple flags may be specified\n   --comment COMMENT              Zone COMMENT\n   --signandserve SIGNANDSERVE    Primary or Secondary Zone SIGNANDSERVE flag\n   --algorithm ALGORITHM          Zone signandserve ALGORITHM\n   --tsigname NAME                TSIG key NAME\n   --tsigalgorithm ALGORITHM      TSIG key ALGORITHM\n   --tsigsecret SECRET            TSIG key SECRET\n   --target TARGET                Alias Zone TARGET\n   --endcustomerid ENDCUSTOMERID  ENDCUSTOMERID\n   --contractid ID                Contract ID\n   --file FILE                    Read JSON formatted input from FILE\n   --dns                          Input is Zone Master File\n```\n\nFor example, to  update the previously created primary zone and add a comment via the command line:\n\n```\n$ akamai dns update-zoneconfig example_primary.com --type primary --comment \"This is a comment\"\n```\n\nwould update the zone and provide the following output:\n\n```\nZone Configuration\n\n           ZONE               ATTRIBUTE                      VALUE\n\n  example_primary.com      Type               PRIMARY\n\n                           Comment            This is a comment\n\n                           ContractId         1-ABC123\n\n                           SignAndServe       false\n\n                           ActivationState    PENDING\n\n                           LastModifiedDate   2020-06-09T18:06:01.266155Z\n\n                           VersionId          a0b4730e-fbbe-40ad-96b3-ac6a4cbadb1e\n```\n\nTo update the master zone file (previously retrieved), an example would be:\n\n```\n$ akamai dns update-zoneconfig xxx_primary_test.com --dns --file ./master_file\nPreparing zone for update\nUpdating Master Zone File\nUpdating Master Zone File ... [OK]\n```\n\nwhere ./master_file contains the following:\n\n```\n;; File Generated at 2020-10-21T21:22:58.672933Z\n;; Last Modified at 2020-10-19T14:54:56.407659Z[UTC]\n;; Version Identifier 166415f9-0744-4acc-9ca1-84173df6f69d\nxxx_primary_test.com.        86400   IN      NS      a4-65.akam.net.\nxxx_primary_test.com.        86400   IN      NS      a13-65.akam.net.\nxxx_primary_test.com.        86400   IN      NS      a3-64.akam.net.\nxxx_primary_test.com.        86400   IN      NS      a2-64.akam.net.\nxxx_primary_test.com.        86400   IN      NS      a12-65.akam.net.\nxxx_primary_test.com.        86400   IN      NS      a1-98.akam.net.\nxxx_primary_test.com.        86400   IN      SOA     a1-98.akam.net. hostmaster.xxx_primary_test.com. 2020052604 3600 600 604800 300\narec.xxx_primary_test.com.   1800    IN      A       1.2.3.4\n```\n\n### Listing a Zone's Recordsets\n\nThe recordsets in a zone can be [selectively] listed by using the `akamai dns list-recordsets` command. \n\nThe complete command line is:\n\n```\n$ akamai dns list-recordsets \u003czonename\u003e [--json] [--output] [--type] [--sortby] [--search] \n\nFlags: \n   --json           Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --output FILE    Output command results to FILE\n   --type TYPE      List recordset(s) matching TYPE. Multiple flags allowed\n   --sortby SORTBY  List returned recordsets sorted by SORTBY\n   --search SEARCH  Filter returned recordsets by SEARCH criteria\n```\n\nTo list a zone's recordsets selectively by type, the following command line would be used:\n\n```\n$ akamai dns list-recordsets example.com --type soa --type ns\n```\n\nWith the following output:\n\n```\nZone Recordsets\n \n              NAME                TYPE    TTL                                             RDATA                                           \n                                                                                                                                           \n  example.com                     NS     86400   a1-98.akam.net.                                                                           \n                                                                                                                                           \n                                                 a12-65.akam.net.                                                                          \n                                                                                                                                           \n                                                 a13-65.akam.net.                                                                          \n                                                                                                                                           \n                                                 a2-64.akam.net.                                                                           \n                                                                                                                                           \n                                                 a3-64.akam.net.                                                                           \n                                                                                                                                           \n                                                 a4-65.akam.net.                                                                           \n                                                                                                                                           \n  example.com                     SOA    86400   a1-98.akam.net. hostmaster.example.com. 2020060510 3600 600 604800 300  \n                                                                                                                                           \nZone: example.com\n```\n\nA similar example, sorting by recordset type and outputting in json format, would be the following:\n\n```\n$ akamai dns list-recordsets example.com --sortby type --json\n```\n\nand result on the following result: \n\n```\n{\n  \"Recordsets\": [\n    {\n      \"name\": \"a_example.com\",\n      \"type\": \"A\",\n      \"ttl\": 900,\n      \"rdata\": [\n        \"10.0.0.10\"\n      ]\n    },\n    {\n      \"name\": \"aaaa_example.com\",\n      \"type\": \"AAAA\",\n      \"ttl\": 900,\n      \"rdata\": [\n        \"8001:ab8:85b3:0:0:8a1e:370:7225\"\n      ]\n    },\n    {\n      \"name\": \"example.com\",\n      \"type\": \"NS\",\n      \"ttl\": 86400,\n      \"rdata\": [\n        \"a1-98.akam.net.\",\n        \"a12-65.akam.net.\",\n        \"a4-65.akam.net.\"\n      ]\n    },\n    {\n      \"name\": \"example.com\",\n      \"type\": \"SOA\",\n      \"ttl\": 86400,\n      \"rdata\": [\n        \"a1-98.akam.net. hostmaster.egl_clidns_primary_test_1.com. 2020060510 3600 600 604800 300\"\n      ]\n    }\n  ]\n}\n```\n\n### Creating Multiple Zone Recordsets\n\nThe command `akamai dns create-recordsets` is used to create multiple recordsets in one command invocation.\n\nThe complete command line is:\n\n```\n$ akamai dns create-recordsets \u003czonename\u003e [--json] [--suppress] [--output] [--file] \n\nFlags: \n   --json         Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --suppress     Suppress command result output. Overrides other output related flags [$AKAMAI_CLI_DNS_SUPPRESS]\n   --output FILE  Output command results to FILE\n   --file FILE    FILE path to JSON formatted recordset content \n```\n\nFor example, the following command:\n\n```\n$ akamai dns create-recordsets rs_example.com --file new_recordsets.json --json\n```\n\nwhere the file file `new_recordsets.json` contains:\n\n```\n{\n    \"recordsets\": [\n        {\n            \"name\": \"example.rs_example.com\",\n            \"type\": \"CNAME\",\n            \"ttl\": 1200,\n            \"rdata\": [\n                \"www.example.com\"\n            ]\n        },\n       {\n            \"name\": \"a_rs_example.com\",\n            \"type\": \"A\",\n            \"ttl\": 900,\n            \"rdata\": [\"10.0.0.20\"]\n       }\n   ]\n}\n```\n\nwould result in the following output:\n\n```\n{\n  \"Recordsets\": [\n    {\n      \"name\": \"example.rs_example.com\",\n      \"type\": \"CNAME\",\n      \"ttl\": 1200,\n      \"rdata\": [\n        \"www.example.com.\"\n      ]\n    },\n    {\n      \"name\": \"rs_example.com\",\n      \"type\": \"SOA\",\n      \"ttl\": 86400,\n      \"rdata\": [\n        \"a1-98.akam.net. hostmaster.rs_example.com. 2020060513 3600 600 604800 300\"\n      ]\n    },\n    {\n      \"name\": \"rs_example.com\",\n      \"type\": \"NS\",\n      \"ttl\": 86400,\n      \"rdata\": [\n        \"a1-98.akam.net.\",\n        \"a12-65.akam.net.\",\n        \"a3-64.akam.net.\",\n        \"a4-65.akam.net.\"\n      ]\n    },\n    {\n      \"name\": \"a_rs_example.com\",\n      \"type\": \"A\",\n      \"ttl\": 900,\n      \"rdata\": [\n        \"10.0.0.20\"\n      ]\n    }\n  ]\n}\n```\n\n### Updating multiple zone Recordsets \n\nThe command `akamai dns update-recordsets` is used to update multiple recordsets in one command invocation. Note: The default operation of the update-recordsets command is to specifically replace the recordsets in the provided file if they exist. The `overwrite' flag will REPLACE ALL existing recordsets in the zone.\n\nThe complete command line is:\n\n```\n$ akamai dns update-recordsets \u003czonename\u003e [--json] [--suppress] [--output] [--file] \n\nFlags: \n   --json         Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --suppress     Suppress command result output. Overrides other output related flags [$AKAMAI_CLI_DNS_SUPPRESS]\n   --overwrite    Replace ALL Recordsets\n   --output FILE  Output command results to FILE\n   --file FILE    FILE path to JSON formatted recordset content\n```\n\nThe following incorrect example updates the recordsets with the same file used in the previous create-recordsets example WITH the `--overwrite` flag. \n\n```\n$ akamai dns update-recordsets --file new_recordsets.json --overwrite\n```\n\nresulting in the following error output. [The expected result being to remove the SOA record!] :\n\n```\nUpdating Recordsets ... [FAIL]\n\nRecordset update failed. Error: Zone \"example.com\" validation failed: [SOA record set is required for zone example.com]\n```\n\n### Retrieving a Recordset\n\nThe command `akamai dns retrieve-recordset` is used to retrieve a single recordset.\n\nThe complete command line is:\n\n```\n$ akamai dns retrieve-recordset \u003czonename\u003e [--json] [--output] [--name] [--type] \n\nFlags: \n   --json         Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --output FILE  Output command results to FILE\n   --name NAME    Recordset NAME\n   --type TYPE    Recordset TYPE\n```\n\nA recordset retrieval example is the following:\n\n```\n$ akamai dns retrieve-recordset egl_clidns_primary_test_1.com --name a_rs_example.com --type A\n```\n\nwould result in the following output:\n\n```\n                     NAME                       TYPE   TTL     RDATA    \n                                                                        \n  a_rs_example.com                               A     900   10.0.0.20  \n                                                                        \nZone: a_rs_example.com\n```\n\nThe following example would direct output to a file:\n\n\n```\n$ akamai dns retrieve-recordset egl_clidns_primary_test_1.com --name a_rs_example.com --type A --output ./recordset_a.json\n```\n\nresulting in ./recordset_a.json would containing:\n\n```\n{\n        \"name\": \"a_rs_example.com\",\n        \"type\": \"A\",\n        \"ttl\": 900,\n        \"rdata\": [\"10.0.0.20\"]\n}\n```\n\n### Creating a Recordset\n\nThe command `akamai dns create-recordset` is used to create a single recordset. Fields and values can be provided on the command line or input file.\n\nThe complete command line is:\n\n```\n$ akamai dns create-recordset \u003czonename\u003e [--json] [--suppress] [--output] [--name] [--type] [--ttl] [--rdata] [--file] \n\nFlags: \n   --json         Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --suppress     Suppress command result output. Overrides other output related flags [$AKAMAI_CLI_DNS_SUPPRESS]\n   --output FILE  Output command results to FILE\n   --name NAME    Recordset NAME\n   --type TYPE    Recordset TYPE\n   --ttl TTL      Recordset TTL (default: 0)\n   --rdata RDATA  Recordset RDATA. Multiple flags allowed.\n   --file FILE    FILE path to JSON formatted recordset content\n```\n\nTo create a recordset via command line, the following would be invoked:\n\n```\n$ akamai dns create-recordset example.com --name a_record_example.com --type A --ttl 600 --rdata 10.1.1.1 --json\n```\n\nand result in the following output:\n\n```\n{\n  \"name\": \"a_record_example.com\",\n  \"type\": \"A\",\n  \"ttl\": 600,\n  \"rdata\": [\n    \"10.1.1.1\"\n  ]\n}\n``` \n\n### Updating a Recordset\n\nThe command `akamai dns update-recordset` is used to update a single existing recordset. Fields and values can be provided on the command line or input file.\n\nThe complete command line is:\n\n```\n$ akamai dns update-recordset \u003czonename\u003e [--json] [--suppress] [--output] [--name] [--type] [--ttl] [--rdata] [--file] \n\nFlags: \n   --json         Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --suppress     Suppress command result output. Overrides other output related flags [$AKAMAI_CLI_DNS_SUPPRESS]\n   --output FILE  Output command results to FILE\n   --name NAME    Recordset NAME\n   --type TYPE    Recordset TYPE\n   --ttl TTL      Recordset TTL (default: 0)\n   --rdata RDATA  Record RDATA. Multiple flags allowed.\n   --file FILE    FILE path to JSON formatted recordset content. Allows multiple recordsets.\n```\n\nAn example recordset update using an input file would be as follows:\n\n```\n$ akamai dns update-recordset example.com --file ./a_recordset.json --suppress\n```\n\nwhere the file `./a_recordset.json` contains:\n\n```\n{\n  \"name\": \"a_record_example.com\",\n  \"type\": \"A\",\n  \"ttl\": 900,\n  \"rdata\": [\n    \"10.1.1.1\"\n  ]\n}\n```\n\n and return no output.\n\n### Deleting a Recordset\n\nThe command to delete a single recordset is `akamai dns delete-recordset`.\n\nThe complete command line is:\n\n```\n$ akamai dns delete-recordset \u003czonename\u003e [--name] [--type] \n\nFlags: \n   --name NAME    Recordset NAME\n   --type TYPE    Recordset TYPE\n```\n\n### Submit Bulk Zone Request\n\nTo submit a create or delete bulk zone operation request, use the following command:\n\nThe complete command line is:\n\n```\n$ akamai dns submit-bulkzones  [--json] [--output] [--suppress] [--contractid] [--groupid] [--bypasszonesafety] [--create] [--delete] [--file]\n\nFlags:\n   --json              Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --output FILE       Output command results to FILE\n   --suppress          Suppress command result output. Overrides other output related flags [$AKAMAI_CLI_DNS_SUPPRESS]\n   --contractid ID     Contract ID. Required for create.\n   --groupid ID        Group ID. Required for create.\n   --bypasszonesafety  Bypass zone safety check. Optional for delete.\n   --create            Bulk zone create operation.\n   --delete            Bulk zone delete operation.\n   --file FILE         Read JSON formatted input from FILE\n```\n\nNOTE: The CLI currently limits the number of zones in a submit request to 1000. If an invocation presents more than 1000 zones, the zones will be submitted in batches of 1000 and multiple Request Ids will be returned. The batch size can be changed by setting the environment variable AKAMAI_ZONES_BATCH_SIZE.\n\nAn example create submit request  would be as follows:\n\n```\n$ akamai dns submit-bulkzones --create --contractid 1-3CV382 --groupid 18432 --file bulkcreate.json\nPreparing bulk zones submit request\nSubmitting Bulk Zones request\nSubmitting Bulk Zones request  ... [OK]\n\nAssembling Bulk Zone Response Content\nAssembling Bulk Zone Response Content ... [OK]\n\nWriting Request Status to bulkSubmitRequest.f3fcbf11-1b03-420e-9e2b-88cd0096fa62\nWriting Request Status to bulkSubmitRequest.f3fcbf11-1b03-420e-9e2b-88cd0096fa62 ... [OK]\n\n\n\nBulk Zones Request Submission Status\n\n  Request Id        f3fcbf11-1b03-420e-9e2b-88cd0096fa62\n\n  Expiration Date   2020-10-27T13:23:20.042484Z\n```\n\nwhere the file `./bulkcreate.json` contains:\n\n```\n{\n    \"zones\": [\n        {\n            \"zone\": \"one.xxx_testbulk.net\",\n            \"type\": \"secondary\",\n            \"comment\": \"testing bulk operations\",\n            \"masters\": [\n                \"1.2.3.4\",\n                \"1.2.3.10\"\n            ]\n        },\n        {\n            \"zone\": \"two.xxx_testbulk.net\",\n            \"type\": \"secondary\",\n            \"comment\": \"testing bulk operations\",\n            \"masters\": [\n                \"1.2.3.40\",\n                \"1.2.3.100\"\n            ]\n        }\n    ]\n}\n```\n\nAn example delete submit request would be as follows:\n\n```\n$ akamai dns submit-bulkzones --delete --file bulkdelete.json\nPreparing bulk zones submit request\nSubmitting Bulk Zones request\nSubmitting Bulk Zones request  ... [OK]\n\nAssembling Bulk Zone Response Content\nAssembling Bulk Zone Response Content ... [OK]\n\nWriting Request Status to bulkSubmitRequest.f3fcbf11-1b03-420e-9e2b-88cd0096fa62\nWriting Request Status to bulkSubmitRequest.f3fcbf11-1b03-420e-9e2b-88cd0096fa62 ... [OK]\n\n\n\nBulk Zones Request Submission Status\n\n  Request Id        f3fcbf11-1b03-420e-9e2b-88cd0096fa62\n\n  Expiration Date   2020-10-27T13:23:20.042484Z\n```\n\nwhere the file `./bulkdelete.json` contains:\n\n```\n{\n    \"zones\": [\n            \"one.xxx_testbulk.net\",\n            \"two.xxx_testbulk.net\"\n    ]\n}\n```\n\n### Get Bulk Zone Request Status \n\nTo retrieve the current status of a create or delete bulk zone operation request, use the following command:\n\nThe complete command line is:\n\n```\n$ akamai dns status-bulkzones  [--json] [--output] [--create] [--delete] [--requestid]\n\nFlags:\n   --json         Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --output FILE      Output command results to FILE\n   --requestid value  Request Id. Multiple args allowed.\n   --create           Bulk zone create operation.\n   --delete           Bulk zone delete operation.\n```\n\nAn example status check for a request would be as follows:\n\n```\n$ akamai dns status-bulkzones --create --requestid 309679b5-1ab1-4837-9666-0019d1be891e --json\nPreparing bulk zones status request(s)\nSubmitting Bulk Zones request \nSubmitting Bulk Zones request  ... [OK]\n\nAssembling Bulk Zone Response Content\nAssembling Bulk Zone Response Content ... [OK]\n\n\n[\n    {\n        \"requestId\": \"309679b5-1ab1-4837-9666-0019d1be891e\",\n        \"zonesSubmitted\": 2,\n        \"successCount\": 2,\n        \"failureCount\": 0,\n        \"isComplete\": true,\n        \"expirationDate\": \"2020-10-26T18:03:21.072004Z\"\n    }\n]\n```\n\nAn example status check for multiple request ids would be as follows:\n\n```\n$ akamai dns status-bulkzones --create --requestid 15bc138f-8d82-451b-80b7-a56b88ffc474 --requestid 0c22641b-7a30-44be-8fdd-092bf875f3bc\nPreparing bulk zones status request(s)\nSubmitting Bulk Zones request\nSubmitting Bulk Zones request  ... [OK]\n\nAssembling Bulk Zone Response Content\nAssembling Bulk Zone Response Content ... [OK]\n\n\n\nBulk Zones Request Status\n\n  Request Id   15bc138f-8d82-451b-80b7-a56b88ffc474\n\n               Zones Submitted                        2\n\n               Success Count                          0\n\n               Failure Count                          2\n\n               Complete                               true\n\n               Expiration Date                        2020-10-28T17:10:04.515792Z\n\n Request Id   0c22641b-7a30-44be-8fdd-092bf875f3bc\n\n               Zones Submitted                        2\n\n               Success Count                          0\n\n               Failure Count                          2\n\n               Complete                               true\n\n               Expiration Date                        2020-10-28T17:10:05.613474Z\n```\n\n### Get Bulk Zone Request Result\n\nTo retrieve the result of a create or delete bulk zone operation request, use the following command:\n\nThe complete command line is:\n\n```\n$ akamai dns status-bulkzones  [--json] [--output] [--create] [--delete] [--requestid]\n\nFlags:\n   --json             Output as JSON [$AKAMAI_CLI_DNS_JSON]\n   --output FILE      Output command results to FILE\n   --requestid value  Request Id. Multiple args allowed.\n   --create           Bulk zone create operation.\n   --delete           Bulk zone delete operation.\n\n```\n\nAn example result retrieval for a request would be as follows:\n\n```\n$ akamai dns result-bulkzones --delete --requestid f3fcbf11-1b03-420e-9e2b-88cd0096fa62 --json\nPreparing bulk zones result request(s)\nSubmitting Bulk Zones request\nSubmitting Bulk Zones request  ... [OK]\n\nAssembling Bulk Zone Response Content\nAssembling Bulk Zone Response Content ... [OK]\n\n\n[\n    {\n        \"requestId\": \"f3fcbf11-1b03-420e-9e2b-88cd0096fa62\",\n        \"successfullyDeletedZones\": [\n            \"one.xxx_testbulk.net\",\n            \"two.xxx_testbulk.net\"\n        ],\n        \"failedZones\": []\n    }\n]\n```\n\nAn example result retrieval for multiple request ids would be as follows:\n\n```\n$ akamai dns result-bulkzones --create --requestid 15bc138f-8d82-451b-80b7-a56b88ffc474 --requestid 0c22641b-7a30-44be-8fdd-092bf875f3bc -json\nPreparing bulk zones result request(s)\nSubmitting Bulk Zones request\nSubmitting Bulk Zones request  ... [OK]\n\nAssembling Bulk Zone Response Content\nAssembling Bulk Zone Response Content ... [OK]\n\n\n[\n  {\n    \"requestId\": \"15bc138f-8d82-451b-80b7-a56b88ffc474\",\n    \"successfullyCreatedZones\": [],\n    \"failedZones\": [\n      {\n        \"zone\": \"one.xxx_testbulk.net\",\n        \"failureReason\": \"ZONE_ALREADY_EXISTS\"\n      }\n    ]\n  },\n  {\n    \"requestId\": \"0c22641b-7a30-44be-8fdd-092bf875f3bc\",\n    \"successfullyCreatedZones\": [],\n    \"failedZones\": [\n      {\n        \"zone\": \"two.xxx_testbulk.net\",\n        \"failureReason\": \"ZONE_ALREADY_EXISTS\"\n      }\n    ]\n  }\n]\n```\n\n### Retrieving a Zone\n\nTo retrieve a Zone use the `retrieve-zone` command:\n\n```\n$ akamai dns retrieve-zone example.org\n```\n\nTo filter to specific record types use one or more `--filter \u003cTYPE\u003e` flags. For example,\nto show just `A` and `AAAA` records:\n\n```\n$ akamai dns retrieve-zone example.org --filter A --filter AAAA\n```\n\nYou can also output the result as JSON, by adding the `--json` flag:\n\n```sh\n$ akamai dns retrieve-zone example.org --filter A --filter AAAA --json\n```\n```json\n{\n \"records\": [\n  {\n   \"name\": \"a.example.org\",\n   \"type\": \"A\",\n   \"ttl\": 900,\n   \"rdata\": [\n    \"10.0.0.10\",\n    \"10.0.0.20\"\n   ]\n  },\n  {\n   \"name\": \"test.example.org\",\n   \"type\": \"AAAA\",\n   \"ttl\": 600,\n   \"rdata\": [\n    \"2001:db8:0:0:0:0:0:1\"\n   ]\n  }\n ],\n \"zone\": {\n  \"zone\": \"example.org\",\n  \"type\": \"PRIMARY\",\n  \"comment\": \"primary zone config\",\n  \"signAndServe\": true,\n  \"signAndServeAlgorithm\": \"RSA_SHA256\",\n  \"contractId\": \"1-1AB123\",\n  \"activationState\": \"PENDING\",\n  \"lastActivationDate\": \"2025-07-02T07:57:34.146414Z\",\n  \"lastModifiedBy\": \"xxxxx\",\n  \"lastModifiedDate\": \"2025-07-02T09:28:38.141705Z\",\n  \"versionId\": \"a0b4730e-fbbe-40ad-96b3-ac6a4cbadb1e\"\n }\n}\n```\n\n### Update a Zone\n\nUpdate a zone using `akamai dns update-zone`. This command allows you to input either\na [Edge DNS JSON payload](https://developer.akamai.com/api/luna/config-dns/resources.html#addormodifyazone), or a standard DNS zone file.\n\nBy default, this will **append** the records to the zone.\n\nYou can either specify a file or redirect content via STDIN:\n\n```sh\n$ akamai dns update-zone example.org -f new-records.zone.json\n```\n\nis identical to:\n\n```sh\n$ cat new-records.zone.json | akamai dns update-zone example.org\n```\n\nTo use DNS zone format, specify the `--dns` flag:\n\n```sh\n$ akamai dns update-zone --dns -f new-records.zone\n```\n\n#### Overwriting a Zone\n\nIf you want to overwrite the existing zone entirely, add the `--overwrite` flag:\n\n```sh\n$ akamai dns update-zone example.org --overwrite -f example.org.zone.json\n```\n\n### Add a New Record\n\nTo add a new DNS record use `akamai dns add-record \u003crecord type\u003e`. Each setting for the record is a flag, for example to add a `CNAME` record:\n\n```\n$ akamai dns add-record CNAME example.org --name www --rdata example.org --ttl 3600\n```\n\n### Remove a Record\n\nUse `akamai dns rm-record \u003crecord type\u003e` to remove one or more records matching the given flags.\n\n```\n$ akamai dns rm-record A example.org --name www\n```\n\n\nBy default the command will ask you to verify which records to remove if more than one matches the given criteria. You can force it to remove all matching records by passing in the `--force-multiple` flag.\n\nIf the command is run in a non-interactive terminal, **or** the `--non-interactive` flag is passed in, without the `--force-multiple` flag the command will remove records if only one match is found, otherwise it will exit with status code `1`.\n\n\n## License\n\nThis package is licensed under the Apache 2.0 License. See [LICENSE](LICENSE) for details.\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fakamai%2Fcli-dns.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fakamai%2Fcli-dns?ref=badge_large)\n\n\u003c!--esi \n\u003cesi:eval src=\"/internal/footer.html?http\" dca=\"esi\" /\u003e\n--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakamai%2Fcli-dns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakamai%2Fcli-dns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakamai%2Fcli-dns/lists"}