
Alicloud Platform Aliyun Cli Test
- 240 installs
- 396 repo stars
- Updated July 18, 2026
- cinience/alicloud-skills
alicloud-platform-aliyun-cli-test is an Alibaba Cloud agent skill that validates aliyun CLI commands, flags, and scripted workflows for developers who ship cloud automation and operational runbooks.
About
alicloud-platform-aliyun-cli-test helps developers verify Alibaba Cloud CLI workflows before they land in CI pipelines or operations documentation. The skill aligns with the cinience alicloud-skills platform CLI family, running validation such as ensure_aliyun_cli.py to confirm the official aliyun binary is installed, meets a minimum version, and responds to --help as expected. Operators configure default profiles with aliyun configure set, discover API parameters via aliyun ecs DescribeRegions --help style introspection, and execute read-only queries before mutating calls. Evidence files land under output directories for version checks, API responses, and error logs. Environment variables control a 24-hour check interval, forced updates, and minimum CLI version thresholds. Developers reach for this skill when scripting ECS, SLS, or cross-product OpenAPI operations and need confidence that command syntax and credentials work before broader rollout.
- Aliyun CLI command validation
- Regression checks for flag changes
- Scripted workflow smoke tests
- Output and exit-code assertions
- Safer release of CLI automation
Alicloud Platform Aliyun Cli Test by the numbers
- 240 all-time installs (skills.sh)
- Ranked #189 of 550 CLI & Terminal 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-platform-aliyun-cli-testAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 240 |
|---|---|
| repo stars | ★ 396 |
| Last updated | July 18, 2026 |
| Repository | cinience/alicloud-skills ↗ |
How do you validate aliyun CLI commands before deployment?
Validate aliyun CLI commands, flags, and scripted workflows against expected outputs before shipping automation or documenting operational runbooks for cloud teams.
Who is it for?
Developers and platform engineers authoring Alibaba Cloud shell automation who need preflight validation of aliyun CLI syntax, credentials, and expected outputs.
Skip if: Application-level unit testing, non-Alibaba clouds, or teams that only use Terraform without direct aliyun CLI invocation.
When should I use this skill?
A shell script or runbook using aliyun CLI is new, changed, or failing and needs command validation before merge or production execution.
What you get
Validated CLI help output, version-check logs, read-only API response files, and documented command parameters under output/aliyun-cli-manage/.
- validate-help.txt evidence
- CLI version check logs
- Read-only API output files
By the numbers
- Default CLI version check interval of 24 hours
- Minimum supported aliyun CLI version 3.2.9
Files
Category: service
Cloud Backup
Use Alibaba Cloud OpenAPI (RPC) with official SDKs or OpenAPI Explorer to manage resources for Cloud Backup.
Workflow
1) Confirm region, resource identifiers, and desired action. 2) Discover API list and required parameters (see references). 3) Call API with SDK or OpenAPI Explorer. 4) Verify results with describe/list APIs.
AccessKey priority (must follow)
1) Environment variables: ALIBABACLOUD_ACCESS_KEY_ID / ALIBABACLOUD_ACCESS_KEY_SECRET / ALIBABACLOUD_REGION_ID Region policy: ALIBABACLOUD_REGION_ID is an optional default. If unset, decide the most reasonable region for the task; if unclear, ask the user. 2) Shared config file: ~/.alibabacloud/credentials
API discovery
- Product code:
hbr - Default API version:
2017-09-08 - Use OpenAPI metadata endpoints to list APIs and get schemas (see references).
High-frequency operation patterns
1) Inventory/list: prefer List* / Describe* APIs to get current resources. 2) Change/configure: prefer Create* / Update* / Modify* / Set* APIs for mutations. 3) Status/troubleshoot: prefer Get* / Query* / Describe*Status APIs for diagnosis.
Minimal executable quickstart
Use metadata-first discovery before calling business APIs:
python scripts/list_openapi_meta_apis.pyOptional overrides:
python scripts/list_openapi_meta_apis.py --product-code <ProductCode> --version <Version>The script writes API inventory artifacts under the skill output directory.
Output policy
If you need to save responses or generated artifacts, write them under: output/aliyun-hbr-backup/
Validation
mkdir -p output/aliyun-hbr-backup
for f in skills/backup/aliyun-hbr-backup/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/aliyun-hbr-backup/validate.txtPass criteria: command exits 0 and output/aliyun-hbr-backup/validate.txt is generated.
Output And Evidence
- Save artifacts, command outputs, and API response summaries under
output/aliyun-hbr-backup/. - 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:
ALIBABACLOUD_ACCESS_KEY_ID,ALIBABACLOUD_ACCESS_KEY_SECRET, optionalALIBABACLOUD_REGION_ID. - If region is unclear, ask the user before running mutating operations.
References
- Sources:
references/sources.md
interface:
display_name: "Alibaba Cloud Backup HBR"
short_description: "Cloud Backup vault and job workflows"
default_prompt: "Use $aliyun-hbr-backup to complete this backup task on Alibaba Cloud."
Sources
- OpenAPI product page:
https://api.aliyun.com/product/hbr - API list (metadata):
https://api.aliyun.com/meta/v1/products/hbr/versions/2017-09-08/api-docs.json - API definition (single API):
https://api.aliyun.com/meta/v1/products/hbr/versions/2017-09-08/apis/{ApiName}/api.json
#!/usr/bin/env python3
"""Fetch OpenAPI metadata API list for one product/version and save to output/.
Env:
- OPENAPI_META_TIMEOUT (seconds, default: 20)
"""
from __future__ import annotations
import argparse
import json
import os
import pathlib
import urllib.request
DEFAULT_PRODUCT_CODE = "hbr"
DEFAULT_VERSION = "2017-09-08"
OUTPUT_DIR = pathlib.Path("output/aliyun-hbr-backup")
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 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)
raw_apis = payload.get("apis", {})
if isinstance(raw_apis, dict):
api_names = sorted(raw_apis.keys())
elif 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)
api_names = sorted(set(names))
else:
api_names = []
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")
md_lines = [
f"# {args.product_code} {args.version} API List",
"",
f"- Source: {url}",
f"- API count: {len(api_names)}",
"",
]
md_lines.extend([f"- `{name}`" for name in api_names])
md_file.write_text("\n".join(md_lines) + "\n", encoding="utf-8")
print(f"Saved: {json_file}")
print(f"Saved: {md_file}")
if __name__ == "__main__":
main()
Related skills
How it compares
Choose alicloud-platform-aliyun-cli-test to prove aliyun shell commands work; use Terraform or SDK-focused skills when infrastructure is declared purely in IaC or application code.
FAQ
What does alicloud-platform-aliyun-cli-test validate?
alicloud-platform-aliyun-cli-test validates aliyun CLI installation, version thresholds, credential profiles, command flags, and expected read-only API outputs. Mutating operations should follow successful preflight queries and saved evidence files.
How often does the aliyun CLI version guard re-check?
alicloud-platform-aliyun-cli-test uses a default 24-hour check interval via ALIYUN_CLI_CHECK_INTERVAL_HOURS. Set ALIYUN_CLI_FORCE_UPDATE=1 to bypass the interval and refresh the official aliyun package immediately.