
Alicloud Network Cdn
- 129 installs
- 396 repo stars
- Updated July 18, 2026
- cinience/alicloud-skills
Configure Alibaba Cloud CDN distributions, cache rules, origin mappings, and HTTPS delivery to accelerate static and media assets globally.
About
Alibaba Cloud CDN integration skill for configuring edge caching and global content delivery. Covers domain onboarding, cache policies, origin mappings, HTTPS, and purge workflows so SaaS and content apps serve assets faster with managed Alibaba network acceleration.
- CDN domain and CNAME setup
- Cache rule and TTL configuration
- Origin pull and HTTPS settings
- Purge and prefetch API usage
- Geo and ISP acceleration tuning
Alicloud Network Cdn by the numbers
- 129 all-time installs (skills.sh)
- Ranked #523 of 1,039 Cloud & Infrastructure skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cinience/alicloud-skills --skill alicloud-network-cdnAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 129 |
|---|---|
| repo stars | ★ 396 |
| Last updated | July 18, 2026 |
| Repository | cinience/alicloud-skills ↗ |
What it does
Configure Alibaba Cloud CDN distributions, cache rules, origin mappings, and HTTPS delivery to accelerate static and media assets globally.
Files
Category: service
Alibaba Cloud CDN
Purpose
Use Alibaba Cloud CDN OpenAPI (RPC) for common operations and integrations including:
- accelerated domain lifecycle (create/configure/start-stop/delete)
- cache refresh and preload (directory/file/domain)
- HTTPS certificate configuration and updates
- log and monitoring queries (real-time/offline)
Prerequisites
- least-privilege RAM credentials are ready (STS temporary creds recommended).
- domain ownership and acceleration scope policy are confirmed (mainland/global).
- before mutating operations, validate current state using read-only APIs.
Workflow
1) Define target resources: accelerated domains, business type, change window, and rollback criteria. 2) Run API discovery and confirm target API names, required parameters, and version. 3) Query current config/state with read-only APIs (Describe*) first. 4) Execute mutating APIs (Add*/Set*/BatchSet*/Delete*) and record request context. 5) Validate changes with monitoring/log APIs and save evidence in output/alicloud-network-cdn/.
AccessKey Priority
1) Environment variables:ALICLOUD_ACCESS_KEY_ID / ALICLOUD_ACCESS_KEY_SECRET / ALICLOUD_REGION_ID 2) Shared credentials file:~/.alibabacloud/credentials
If region/environment is unclear, confirm with user before mutating operations.
API Discovery
- Product code:
cdn - Default API version:
2018-05-10 - Metadata source:
https://api.aliyun.com/meta/v1/products/cdn/versions/2018-05-10/api-docs.json
Minimal Executable Quickstart
python skills/network/cdn/alicloud-network-cdn/scripts/list_openapi_meta_apis.pyOptional arguments:
python skills/network/cdn/alicloud-network-cdn/scripts/list_openapi_meta_apis.py \
--product-code cdn \
--version 2018-05-10 \
--output-dir output/alicloud-network-cdnCommon Operation Map
- Domain management:
AddCdnDomain、DescribeUserDomains、DescribeCdnDomainDetail、DeleteCdnDomain - Cache refresh/preload:
RefreshObjectCaches(refresh)、PushObjectCache(preload) - HTTPS certificate:
SetDomainServerCertificate,DescribeDomainCertificateInfo - Logs and monitoring:
DescribeCdnDomainLogs、DescribeDomainRealTimeRequestStatData、DescribeDomainRealTimeBpsData
Output Policy
Write generated files and execution evidence to: output/alicloud-network-cdn/
Validation
mkdir -p output/alicloud-network-cdn
for f in skills/network/cdn/alicloud-network-cdn/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/alicloud-network-cdn/validate.txtPass criteria: command exits 0 and output/alicloud-network-cdn/validate.txt is generated.
Output And Evidence
- Save artifacts, command outputs, and API response summaries under
output/alicloud-network-cdn/. - Include key parameters (region/resource id/time range) in evidence files for reproducibility.
Prerequisites
- Configure least-privilege Alibaba Cloud credentials before execution.
- Prefer environment variables:
ALICLOUD_ACCESS_KEY_ID,ALICLOUD_ACCESS_KEY_SECRET, optionalALICLOUD_REGION_ID. - If region is unclear, ask the user before running mutating operations.
References
- Source list:
references/sources.md
interface:
display_name: "Alibaba Cloud Network CDN"
short_description: "CDN domain, cache, HTTPS, and monitoring API workflows"
default_prompt: "Use $alicloud-network-cdn to complete this network/cdn task on Alibaba Cloud."
CDN Official Sources
- CDN API overview (2018-05-10):
- https://www.alibabacloud.com/help/en/cdn/developer-reference/api-cdn-2018-05-10-overview
- CDN product page in API Explorer:
- https://api.aliyun.com/product/cdn
- CDN OpenAPI metadata (machine-readable):
- https://api.aliyun.com/meta/v1/products/cdn/versions/2018-05-10/api-docs.json
- CDN API: RefreshObjectCaches (refresh/preload):
- https://www.alibabacloud.com/help/en/cdn/developer-reference/api-cdn-2018-05-10-refreshobjectcaches
- CDN API: SetDomainServerCertificate (HTTPS certificate):
- https://www.alibabacloud.com/help/en/cdn/developer-reference/api-cdn-2018-05-10-setdomainservercertificate
- CDN API: DescribeDomainRealTimeRequestStatData (monitoring):
- https://www.alibabacloud.com/help/en/cdn/developer-reference/api-cdn-2018-05-10-describedomainrealtimerequeststatdata
- Alibaba Cloud API Explorer:
- https://api.aliyun.com/
#!/usr/bin/env python3
"""Fetch CDN OpenAPI metadata API list and save artifacts to output/."""
from __future__ import annotations
import argparse
import json
import os
import pathlib
import urllib.request
DEFAULT_PRODUCT_CODE = "cdn"
DEFAULT_VERSION = "2018-05-10"
OUTPUT_DIR = pathlib.Path("output/alicloud-network-cdn")
def fetch_json(url: str, timeout: int) -> dict:
req = urllib.request.Request(url, headers={"User-Agent": "codex-skill"})
with urllib.request.urlopen(req, timeout=timeout) as resp:
return json.loads(resp.read().decode("utf-8"))
def parse_api_names(payload: dict) -> list[str]:
raw_apis = payload.get("apis", {})
if isinstance(raw_apis, dict):
return sorted(raw_apis.keys())
if isinstance(raw_apis, list):
names = []
for item in raw_apis:
if isinstance(item, dict):
name = item.get("name") or item.get("apiName")
if name:
names.append(name)
elif isinstance(item, str):
names.append(item)
return sorted(set(names))
return []
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--product-code", default=DEFAULT_PRODUCT_CODE)
parser.add_argument("--version", default=DEFAULT_VERSION)
parser.add_argument("--output-dir", default=str(OUTPUT_DIR))
args = parser.parse_args()
timeout = int(os.getenv("OPENAPI_META_TIMEOUT", "20"))
output_dir = pathlib.Path(args.output_dir)
output_dir.mkdir(parents=True, exist_ok=True)
url = (
f"https://api.aliyun.com/meta/v1/products/{args.product_code}"
f"/versions/{args.version}/api-docs.json"
)
payload = fetch_json(url, timeout)
api_names = parse_api_names(payload)
json_file = output_dir / f"{args.product_code}_{args.version}_api_docs.json"
md_file = output_dir / f"{args.product_code}_{args.version}_api_list.md"
json_file.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8")
lines = [
f"# {args.product_code} {args.version} API List",
"",
f"- Source: {url}",
f"- API count: {len(api_names)}",
"",
]
lines.extend([f"- `{name}`" for name in api_names])
md_file.write_text("\n".join(lines) + "\n", encoding="utf-8")
print(f"Saved: {json_file}")
print(f"Saved: {md_file}")
if __name__ == "__main__":
main()