netcmcc

aliyun-dns

Manage Alibaba Cloud (Aliyun) domain DNS records (query, add, update, delete). Use this skill when users need to configure DNS, set up subdomains, or manage domain resolution for deployments. Supports A, CNAME, and other record types.

netcmcc 10 Updated 3mo ago

Resources

2
GitHub

Install

npx skillscat add netcmcc/skills/aliyun-dns

Install via the SkillsCat registry.

SKILL.md

Alibaba Cloud DNS Management

Script

scripts/aliyun-dns.sh

Command Reference

aliyun-dns.sh query <domain> [keyword]              # Query records
aliyun-dns.sh add <domain> <rr> <type> <value> [ttl] # Add a record
aliyun-dns.sh info <record_id>                       # Get record details
aliyun-dns.sh update <record_id> <rr> <type> <value> [ttl] # Update a record
aliyun-dns.sh delete <record_id>                     # Delete a record

Environment Requirements

export ALICLOUD_ACCESS_KEY="your_access_key_id"   # Required
export ALICLOUD_SECRET_KEY="your_access_key_secret" # Required
export ALICLOUD_DNS_DOMAINS="example.com example.org" # Optional, restrict allowed domains

If ALICLOUD_DNS_DOMAINS is not set, all domains are allowed.

First-time setup: Create a RAM user and permission policy, see references/setup.md.

Workflow

Query Records

# Query all records
aliyun-dns.sh query example.com

# Filter by keyword (e.g. query www records)
aliyun-dns.sh query example.com www

An empty result means the record does not exist.

Delete Records (confirmation required)

  1. Query the record to get its RecordId
  2. Show the record details to the user
  3. Use AskUserQuestion to request confirmation
  4. After user confirms, execute delete <record_id>

Update Records (confirmation required)

  1. Query the record to get the current value and RecordId
  2. Show the current value and the new value to the user
  3. Use AskUserQuestion to request confirmation
  4. After user confirms, execute update <record_id> <rr> <type> <new_value>

Confirmation Prompt Examples

  • Update: "Confirm changing api.example.com from 1.2.3.4 to 5.6.7.8?"
  • Delete: "Confirm deleting api.example.com (CNAME: work.example.com)? This action is irreversible."

Common Errors

Error Code Cause
InvalidAccessKeyId.NotFound Incorrect ALICLOUD_ACCESS_KEY
SignatureDoesNotMatch Incorrect ALICLOUD_SECRET_KEY
DomainRecordDuplicate Record already exists, use update instead