> alicloud-vpc
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.
curl "https://skillshub.wtf/agents-infrastructure/alicloud-agent-skills/alicloud-vpc?format=md"Alibaba Cloud VPC Skill
Manage VPC networking infrastructure via the @alicloud/vpc20160428 TypeScript SDK.
Prerequisites
npm install @alicloud/vpc20160428 @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, CIDR blocks, pagination, and async polling.
Client Initialization
import Client from '@alicloud/vpc20160428';
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: 'vpc.aliyuncs.com',
regionId: 'cn-hangzhou',
}));
API Overview (396 APIs in 13 Domains)
| Domain | APIs | Key Operations | Reference |
|---|---|---|---|
| VPC Management | 32 | createVpc, describeVpcs, modifyVpcAttribute | references/vpc.md |
| VSwitch | 11 | createVSwitch, describeVSwitches | references/vswitch.md |
| Route Table & Entry | 33 | createRouteEntry, describeRouteTables | references/route-table.md |
| Elastic IP (EIP) | 47 | allocateEipAddress, associateEipAddress | references/eip.md |
| NAT Gateway | 30 | createNatGateway, createSnatEntry, createForwardEntry | references/nat-gateway.md |
| VPN Gateway | 62 | createVpnGateway, createVpnConnection, createSslVpnServer | references/vpn.md |
| Express Connect & VBR | 83 | createPhysicalConnection, createVirtualBorderRouter | references/express-connect.md |
| BGP Routing | 11 | createBgpGroup, createBgpPeer, addBgpNetwork | references/bgp.md |
| Network ACL | 9 | createNetworkAcl, associateNetworkAcl | references/network-acl.md |
| Flow Log | 8 | createFlowLog, activeFlowLog | references/flow-log.md |
| Traffic Mirror | 14 | createTrafficMirrorSession, createTrafficMirrorFilter | references/traffic-mirror.md |
| IPv6 & HAVIP | 47 | createIpv6Gateway, createHaVip, allocateIpv6Address | references/ipv6.md |
| Tag, Region & Zone | 9 | tagResources, describeRegions, describeZones | references/tag-resource.md |
Core Patterns
RPC-Style with regionId
All VPC APIs require regionId to specify the target region:
import * as models from '@alicloud/vpc20160428/dist/models';
const { body } = await client.describeVpcs(new models.DescribeVpcsRequest({
regionId: 'cn-hangzhou',
pageSize: 50,
pageNumber: 1,
}));
Resource Lifecycle (Async)
Most create operations are asynchronous. Poll status after creation:
// Create VPC
const { body } = await client.createVpc(new models.CreateVpcRequest({
regionId: 'cn-hangzhou',
cidrBlock: '10.0.0.0/8',
vpcName: 'my-vpc',
}));
// Poll until Available
let status = '';
while (status !== 'Available') {
const { body: desc } = await client.describeVpcs(new models.DescribeVpcsRequest({
regionId: 'cn-hangzhou', vpcId: body.vpcId,
}));
status = desc.vpcs?.vpc?.[0]?.status || '';
if (status !== 'Available') await new Promise(r => setTimeout(r, 2000));
}
Page-Based Pagination
Most Describe APIs use pageNumber + pageSize:
let pageNumber = 1;
let all: any[] = [];
while (true) {
const { body } = await client.describeVpcs(new models.DescribeVpcsRequest({
regionId: 'cn-hangzhou', pageSize: 50, pageNumber,
}));
all.push(...(body.vpcs?.vpc || []));
if (all.length >= (body.totalCount || 0)) break;
pageNumber++;
}
Error Handling
try {
await client.createVpc(request);
} catch (err: any) {
console.error(`Code: ${err.code}, Message: ${err.message}, RequestId: ${err.data?.RequestId}`);
}
Common Workflows
1. VPC + VSwitch Setup
createVpc → createVSwitch (per zone) → createNetworkAcl → associateNetworkAcl
2. NAT Gateway for Internet Access
createNatGateway → allocateEipAddress → associateEipAddress → createSnatEntry → createForwardEntry
3. Site-to-Site VPN
createVpnGateway → createCustomerGateway → createVpnConnection → createVpnRouteEntry
4. VPC Peering
createVpcPeerConnection → acceptVpcPeerConnection → createRouteEntry (both sides)
5. Express Connect
createPhysicalConnection → createVirtualBorderRouter → createBgpGroup → createBgpPeer → addBgpNetwork
6. Flow Log
createFlowLog → activeFlowLog → describeFlowLogs
7. Traffic Mirroring
createTrafficMirrorFilter → createTrafficMirrorFilterRules → createTrafficMirrorSession
8. EIP & Bandwidth
allocateEipAddress → associateEipAddress → createCommonBandwidthPackage → addCommonBandwidthPackageIp
See references/workflows.md for detailed workflow examples with full code.
API Reference Quick Index
Load the corresponding reference file for parameter details:
- VPC CRUD/CIDR/DHCP/vRouter:
references/vpc.md - VSwitch CRUD/CIDR reservation:
references/vswitch.md - Route tables/entries/gateway routes:
references/route-table.md - EIP/bandwidth packages/public IP pools:
references/eip.md - NAT gateway/SNAT/DNAT/Full NAT/NAT IP:
references/nat-gateway.md - VPN gateway/IPsec/SSL VPN/tunnels:
references/vpn.md - Physical connections/VBR/peering/prefix lists:
references/express-connect.md - BGP groups/peers/networks:
references/bgp.md - Network ACL rules:
references/network-acl.md - Flow log capture/analysis:
references/flow-log.md - Traffic mirror filters/sessions:
references/traffic-mirror.md - IPv6 gateway/translator/HAVIP/gateway endpoints:
references/ipv6.md - Tags/regions/zones:
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:
- VPC and VSwitch CRUD
- Route entry management
- EIP allocation, binding, and release
- NAT gateway with SNAT/DNAT rules
- Network ACL creation
- Flow log creation and activation
- Resource tagging
> related_skills --same-repo
> alicloud-redis
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.
> 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.
> alicloud-ram
alicloud-ram skill from agents-infrastructure/alicloud-agent-skills
> alicloud-oss
alicloud-oss skill from agents-infrastructure/alicloud-agent-skills