.claude/skills/alicloud-rds/SKILL.md
Manage Alibaba Cloud RDS using the @alicloud/rds20140815 TypeScript SDK. Use when working with relational database instances (MySQL, PostgreSQL, SQL Server, MariaDB), accounts, databases, backups, security, monitoring, parameters, read-only instances, database proxy, migration, cross-region DR, PostgreSQL extensions, RDS Custom instances, and resource tagging. Covers all 398 APIs of the RDS 20140815 version.
npx skillsauth add agents-infrastructure/licell alicloud-rdsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage RDS relational database service via the @alicloud/rds20140815 TypeScript SDK.
npm install @alicloud/rds20140815 @alicloud/openapi-core @darabonba/typescript
export ALIBABA_CLOUD_ACCESS_KEY_ID="<your-key-id>"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="<your-key-secret>"
See scripts/setup_client.ts for a reusable client factory, and references/quickstart.md for full setup including endpoints, database engines, instance categories, charge types, pagination, and async polling.
import Client from '@alicloud/rds20140815';
import { Config } from '@alicloud/openapi-core';
const client = new Client(new Config({
accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
endpoint: 'rds.aliyuncs.com',
regionId: 'cn-hangzhou',
}));
| Domain | APIs | Key Operations | Reference | |--------|------|----------------|-----------| | Instance Management | 117 | createDBInstance, describeDBInstances, modifyDBInstanceSpec | references/instance.md | | Read-Only & Proxy | 19 | createReadOnlyDBInstance, createDBProxy, allocateReadWriteSplittingConnection | references/readonly.md | | Account Management | 18 | createAccount, grantAccountPrivilege, resetAccountPassword | references/account.md | | Database Management | 10 | createDatabase, deleteDatabase, describeDatabases | references/database.md | | Backup & Recovery | 31 | createBackup, modifyBackupPolicy, restoreTable, createDdrInstance | references/backup.md | | Security & Network | 36 | modifySecurityIps, modifyDBInstanceSSL, modifyDBInstanceTDE | references/security.md | | Monitoring & Diagnostics | 29 | describeDBInstancePerformance, describeSlowLogRecords | references/monitoring.md | | Parameter Management | 19 | modifyParameter, createParameterGroup, describeHistoryEvents | references/parameter.md | | Migration & Import/Export | 24 | createMigrateTask, createCloudMigrationTask, createGADInstance | references/migration.md | | PostgreSQL Extensions | 32 | updatePostgresExtensions, upgradeDBInstanceMajorVersion | references/postgres-ext.md | | RDS Custom (RC) Instance | 76 | runRCInstances, createRCDisk, createRCSecurityGroup | references/rc-instance.md | | Tag & Resource | 8 | tagResources, untagResources, modifyResourceGroup | references/tag-resource.md |
Most APIs require DBInstanceId as the primary identifier:
import * as models from '@alicloud/rds20140815/dist/models';
const { body } = await client.describeDBInstanceAttribute(
new models.DescribeDBInstanceAttributeRequest({
DBInstanceId: 'rm-bp1xxxxxxxxxxxxx',
})
);
let pageNumber = 1;
let all: any[] = [];
while (true) {
const { body } = await client.describeDBInstances(new models.DescribeDBInstancesRequest({
regionId: 'cn-hangzhou', pageSize: 100, pageNumber,
}));
all.push(...(body.items?.DBInstance || []));
if (all.length >= (body.totalRecordCount || 0)) break;
pageNumber++;
}
Many operations are async — poll instance status until target state:
while (true) {
const { body } = await client.describeDBInstanceAttribute(
new models.DescribeDBInstanceAttributeRequest({ DBInstanceId: instanceId })
);
const status = body.items?.DBInstanceAttribute?.[0]?.DBInstanceStatus;
if (status === 'Running') break;
await new Promise(r => setTimeout(r, 10000));
}
RDS supports MySQL, PostgreSQL, SQL Server, and MariaDB. Specify engine at creation:
const { body } = await client.createDBInstance(new models.CreateDBInstanceRequest({
regionId: 'cn-hangzhou',
engine: 'MySQL', // MySQL | PostgreSQL | SQLServer | MariaDB
engineVersion: '8.0',
DBInstanceClass: 'mysql.n2m.small.2c',
DBInstanceStorage: 20,
DBInstanceNetType: 'Intranet',
payType: 'Postpaid',
securityIPList: '10.0.0.0/8', // WARNING: never use 0.0.0.0/0 in production
DBInstanceStorageType: 'cloud_essd',
}));
try {
await client.createDBInstance(request);
} catch (err: any) {
console.error(`Code: ${err.code}, Message: ${err.message}, RequestId: ${err.data?.RequestId}`);
}
createDBInstance → waitForRunning → createAccount → createDatabase → grantAccountPrivilege → modifySecurityIps
createReadOnlyDBInstance → createDBProxy → allocateReadWriteSplittingConnection
modifyBackupPolicy → createBackup → describeBackups → restoreTable
modifyInstanceCrossBackupPolicy → describeCrossRegionBackups → createDdrInstance
modifySecurityIps → modifyDBInstanceSSL → modifyDBInstanceTDE → modifySQLCollectorPolicy
describeParameterTemplates → describeParameters → modifyParameter → restartDBInstance
describeDBInstancePerformance → describeSlowLogRecords → createDiagnosticReport
upgradeDBInstanceMajorVersionPrecheck → describeUpgradeMajorVersionPrecheckTask → upgradeDBInstanceMajorVersion
See references/workflows.md for detailed workflow examples with full code.
Load the corresponding reference file for parameter details:
references/instance.mdreferences/readonly.mdreferences/account.mdreferences/database.mdreferences/backup.mdreferences/security.mdreferences/monitoring.mdreferences/parameter.mdreferences/migration.mdreferences/postgres-ext.mdreferences/rc-instance.mdreferences/tag-resource.mdEach reference file contains per-API documentation with method signatures and parameter tables.
See scripts/examples.ts for ready-to-use code covering:
tools
Deploy and manage Alibaba Cloud Serverless applications using the licell CLI. Covers deploy, release, functions, env vars, domains, DNS, logs, OSS, database, cache, and Supabase.
development
Manage Alibaba Cloud VPC networking using the @alicloud/vpc20160428 TypeScript SDK. Use when working with virtual private clouds, VSwitches, route tables, EIPs, NAT gateways, VPN gateways, Express Connect, BGP routing, network ACLs, flow logs, traffic mirroring, IPv6, HAVIP, gateway endpoints, and resource tagging. Covers all 396 APIs of the VPC 20160428 version.
development
Manage Alibaba Cloud Redis (Tair / R-KVStore) using the @alicloud/r-kvstore20150101 TypeScript SDK. Use when working with Redis or Tair instances, accounts, backups, security (whitelist/SSL/TDE/audit), parameters, monitoring, cluster scaling, direct connection, Tair Custom instances, and resource tagging. Covers all 157 APIs of the R-KVStore 20150101 version.
tools
# Alibaba Cloud OSS (Object Storage Service) Manage Alibaba Cloud OSS using the @alicloud/oss20190517 TypeScript SDK. Use when working with object storage buckets, objects, multipart uploads, bucket configurations (lifecycle, versioning, CORS, encryption, replication, WORM), live streaming channels, and static website hosting. Covers all 90 APIs of the OSS 2019-05-17 version. ## General Instructions - **SDK Package**: `@alicloud/oss20190517` (with `@alicloud/openapi-client`, `@alicloud/gatewa