alicloud-compute-swas-open▌
cinience/alicloud-skills · updated Apr 8, 2026
Category: service
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).
ALICLOUD_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("ALICLOUD_ACCESS_KEY_ID") or os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
sk = os.getenv("ALICLOUD_ACCESS_KEY_SECRET") or os.getenv("ALIBABA_CLOUD_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/alicloud-compute-swas-open
for f in skills/compute/swas/alicloud-compute-swas-open/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/alicloud-compute-swas-open/validate.txt
Pass criteria: command exits 0 and output/alicloud-compute-swas-open/validate.txt is generated.
Output And Evidence
- Save artifacts, command outputs, and API response summaries under
output/alicloud-compute-swas-open/. - 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.
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
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.5★★★★★56 reviews- ★★★★★Soo Gupta· Dec 28, 2024
alicloud-compute-swas-open reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Soo Gill· Dec 20, 2024
Keeps context tight: alicloud-compute-swas-open is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Shikha Mishra· Dec 16, 2024
alicloud-compute-swas-open reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Ama Huang· Dec 12, 2024
We added alicloud-compute-swas-open from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Hiroshi Abebe· Dec 8, 2024
alicloud-compute-swas-open is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Ama Gill· Dec 4, 2024
Registry listing for alicloud-compute-swas-open matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Hiroshi Choi· Dec 4, 2024
Useful defaults in alicloud-compute-swas-open — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Ama White· Nov 23, 2024
Useful defaults in alicloud-compute-swas-open — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Neel Yang· Nov 23, 2024
Registry listing for alicloud-compute-swas-open matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Hana Ndlovu· Nov 19, 2024
I recommend alicloud-compute-swas-open for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
showing 1-10 of 56