Aliyun swas manage
Skill EthanYoQ/Skill-hub/projects/ai-seed-project-phase-one-feishu/aliyun-swas-manage
Reusable AI agent skills for Codex, Claude Code etc. — AI coding workflows, SKILL.md templates, and automation practices. 面向 Codex、Claude Code等agents 的可复用 AI Agent Skill 技能库:AI 编程工作流、SKILL.md 模板与自动化实践。
npx -y skills add EthanYoQ/Skill-hub --skill aliyun-swas-manageAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when managing Alibaba Cloud Simple Application Server (SWAS OpenAPI 2020-06-01) resources end-to-end, including querying instances, starting/stopping/rebooting, executing commands (cloud assistant), managing disks/snapshots/images, firewall rules/templates, key pairs, tags, monitoring, and lightweight database operations.
SKILL.md
6.4 KB, as published. Nobody here has run it
Category: service
Simple Application Server (SWAS-OPEN 2020-06-01)
Use SWAS-OPEN OpenAPI to manage full SAS resources: instances, disks, snapshots, images, key pairs, firewall, Cloud Assistant, monitoring, tags, and lightweight databases.
Prerequisites
- Prepare AccessKey with least-privilege RAM user/role.
- Choose correct region and matching endpoint (public/VPC).
ALIBABACLOUD_REGION_IDcan be used as default region; if unset choose the most reasonable region, ask user if unclear. - This OpenAPI uses RPC signing; prefer Python SDK or OpenAPI Explorer instead of manual signing.
SDK Priority
- Python SDK (preferred)
- OpenAPI Explorer
- Other SDKs
Python SDK quick query (instance ID / IP / plan)
Virtual environment is recommended (avoid PEP 668 system install restrictions).
python3 -m venv .venv
. .venv/bin/activate
python -m pip install alibabacloud_swas_open20200601 alibabacloud_tea_openapi alibabacloud_credentials
import os
from alibabacloud_swas_open20200601.client import Client as SwasClient
from alibabacloud_swas_open20200601 import models as swas_models
from alibabacloud_tea_openapi import models as open_api_models
def create_client(region_id: str) -> SwasClient:
config = open_api_models.Config(
region_id=region_id,
endpoint=f"swas.{region_id}.aliyuncs.com",
)
ak = (
os.getenv("ALIBABACLOUD_ACCESS_KEY_ID")
or os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
or os.getenv("ALICLOUD_ACCESS_KEY_ID")
)
sk = (
os.getenv("ALIBABACLOUD_ACCESS_KEY_SECRET")
or os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
or os.getenv("ALICLOUD_ACCESS_KEY_SECRET")
)
if ak and sk:
config.access_key_id = ak
config.access_key_secret = sk
return SwasClient(config)
def list_regions():
client = create_client("cn-hangzhou")
resp = client.list_regions(swas_models.ListRegionsRequest())
return [r.region_id for r in resp.body.regions]
def list_instances(region_id: str):
client = create_client(region_id)
resp = client.list_instances(swas_models.ListInstancesRequest(region_id=region_id))
return resp.body.instances
def main():
for region_id in list_regions():
for inst in list_instances(region_id):
ip = getattr(inst, "public_ip_address", None) or getattr(inst, "inner_ip_address", None)
spec = getattr(inst, "plan_name", None) or getattr(inst, "plan_id", None)
print(inst.instance_id, ip or "-", spec or "-", region_id)
if __name__ == "__main__":
main()
Python SDK scripts (recommended for inventory and summary)
- All-region instance inventory (TSV/JSON):
scripts/list_instances_all_regions.py - Count instances by plan:
scripts/summary_instances_by_plan.py - Count instances by status:
scripts/summary_instances_by_status.py - Fix SSH key-based access (custom port supported):
scripts/fix_ssh_access.py - Get current SSH port of an instance:
scripts/get_ssh_port.py
CLI Notes
aliyunCLI may not exposeswas-openas product name; prefer Python SDK. If CLI is mandatory, generate request examples in OpenAPI Explorer first, then migrate to CLI.
Workflow
- Confirm resource type and region (instance/disk/snapshot/image/firewall/command/database/tag).
- Identify API group and operation in
references/api_overview.md. - Choose invocation method (Python SDK / OpenAPI Explorer / other SDK).
- After mutations, verify state/results with query APIs.
Common Operation Map
- Instance query/start/stop/reboot:
ListInstances、StartInstance(s)、StopInstance(s)、RebootInstance(s) - Command execution:
RunCommandorCreateCommand+InvokeCommand; useDescribeInvocations/DescribeInvocationResult - Firewall:
ListFirewallRules/CreateFirewallRule(s)/ModifyFirewallRule/EnableFirewallRule/DisableFirewallRule - Snapshot/disk/image:
CreateSnapshot、ResetDisk、CreateCustomImageetc.
Cloud Assistant Execution Notes
- Target instance must be in Running state.
- Cloud Assistant agent must be installed (use
InstallCloudAssistant). - For PowerShell commands, ensure required modules are available on Windows instances.
- After execution, use
DescribeInvocationsorDescribeInvocationResultto fetch status and outputs.
See references/command-assistant.md for details.
Clarifying questions (ask when uncertain)
- What is the target region? Is VPC endpoint required?
- What are target instance IDs? Are they currently Running?
- What command/script type/timeout is needed? Linux or Windows?
- Do you need batch execution or scheduled execution?
Output Policy
If you need to save results or responses, write to:
output/compute-swas-open/
Validation
mkdir -p output/aliyun-swas-manage
for f in skills/compute/swas/aliyun-swas-manage/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/aliyun-swas-manage/validate.txt
Pass criteria: command exits 0 and output/aliyun-swas-manage/validate.txt is generated.
Output And Evidence
- Save artifacts, command outputs, and API response summaries under
output/aliyun-swas-manage/. - 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.
Workflow
- Confirm user intent, region, identifiers, and whether the operation is read-only or mutating.
- Run one minimal read-only query first to verify connectivity and permissions.
- Execute the target operation with explicit parameters and bounded scope.
- Verify results and save output/evidence files.
References
- API overview and operation groups:
references/api_overview.md - Endpoints and integration:
references/endpoints.md - Cloud Assistant highlights:
references/command-assistant.md - Official source list:
references/sources.md