Alicloud rds
Skill ComeOnOliver/skillshub/skills/agents-infrastructure/alicloud-agent-skills/alicloud-rds
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.From its SKILL.md
npx -y skills add ComeOnOliver/skillshub --skill alicloud-rdsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
7.8 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it
Alibaba Cloud RDS Skill
Manage RDS relational database service via the @alicloud/rds20140815 TypeScript SDK.
Prerequisites
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.
Client Initialization
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',
}));
API Overview (398 APIs in 12 Domains)
| 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 |
Core Patterns
RPC-Style with DBInstanceId
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',
})
);
Page-Based Pagination
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++;
}
Async Operation Polling
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));
}
Multi-Engine Support
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: '0.0.0.0/0',
DBInstanceStorageType: 'cloud_essd',
}));
Error Handling
try {
await client.createDBInstance(request);
} catch (err: any) {
console.error(`Code: ${err.code}, Message: ${err.message}, RequestId: ${err.data?.RequestId}`);
}
Common Workflows
1. Create Instance with Account and Database
createDBInstance → waitForRunning → createAccount → createDatabase → grantAccountPrivilege → modifySecurityIps
2. Read-Only Instance with Database Proxy
createReadOnlyDBInstance → createDBProxy → allocateReadWriteSplittingConnection
3. Backup and Point-in-Time Recovery
modifyBackupPolicy → createBackup → describeBackups → restoreTable
4. Cross-Region Disaster Recovery
modifyInstanceCrossBackupPolicy → describeCrossRegionBackups → createDdrInstance
5. Security Hardening
modifySecurityIps → modifyDBInstanceSSL → modifyDBInstanceTDE → modifySQLCollectorPolicy
6. Parameter Tuning
describeParameterTemplates → describeParameters → modifyParameter → restartDBInstance
7. Performance Monitoring
describeDBInstancePerformance → describeSlowLogRecords → createDiagnosticReport
8. PostgreSQL Major Version Upgrade
upgradeDBInstanceMajorVersionPrecheck → describeUpgradeMajorVersionPrecheckTask → upgradeDBInstanceMajorVersion
See references/workflows.md for detailed workflow examples with full code.
API Reference Quick Index
Load the corresponding reference file for parameter details:
- Instance CRUD/lifecycle/spec/network/pricing:
references/instance.md - Read-only instances/proxy/read-write splitting:
references/readonly.md - Account CRUD/password/privileges:
references/account.md - Database CRUD/charset/collation:
references/database.md - Backup/restore/cross-region DR:
references/backup.md - IP whitelist/SSL/TDE/security groups/masking:
references/security.md - Performance/slow queries/SQL audit/diagnostics:
references/monitoring.md - Parameters/parameter groups/events:
references/parameter.md - Migration/import/export/GAD:
references/migration.md - PostgreSQL extensions/PG HBA/replication/DuckDB:
references/postgres-ext.md - RDS Custom instances/disks/images/keys/commands:
references/rc-instance.md - Resource tagging:
references/tag-resource.md
Each reference file contains per-API documentation with method signatures and parameter tables.
Code Examples
See scripts/examples.ts for ready-to-use code covering:
- Instance listing, creation, and deletion
- Account and database management
- Backup creation and listing
- IP whitelist and SSL configuration
- Performance monitoring and slow query analysis
- Parameter management
- Resource tagging
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.