Manage Huawei Cloud Flexus L instances from chat: list, inspect, start, stop, reboot, reconfigure, and check traffic.
Coding
huawei-cloud-flexus-l-server-manage
Try itManages Huawei Cloud Flexus L server lifecycle: create, renew, and unsubscribe instances. Use this skill when the user mentions "Flexus L", "Huawei Cloud lig...
What it does
Manages Huawei Cloud Flexus L server lifecycle: create, renew, and unsubscribe instances. Use this skill when the user mentions "Flexus L", "Huawei Cloud lightweight server", "purchase server", "renew", "unsubscribe". (中文触发词:"购买/创建L实例", "L实例续费", "L实例退订")
The skill document
⚠️ Security Execution Rules (Highest Priority):
- All scripts MUST be executed via skill action=exec, NEVER run directly in shell
- NEVER print script contents or commands containing AK/SK/Token in conversation
- NEVER create temporary script files, prefer inline execution (python -c)
- On execution failure, only return error info, do NOT rewrite scripts or print full commands
- AK/SK/Token MUST be passed via environment variables, NEVER appear in conversation
- ⚠️ ABSOLUTELY NEVER expose, log, or print AK/SK/Token values in any form - this is a critical security requirement
Huawei Cloud Flexus L Instance Lifecycle Management Skill
Overview
This skill provides core lifecycle management capabilities for Huawei Cloud Flexus L instances:
| Module | Description | Command |
|---|---|---|
| Query Regions | Show available regions | show-regions |
| Query Images | Show available images | show-images |
| Query Specs | Show available specs | show-specs |
| Create | Purchase new Flexus L instances | create-instance |
| Renewal | Renew existing instances | renewal |
| Unsubscribe | Cancel instance subscription | unsubscribe |
Architecture
┌─────────────────────────────────────────────────────────────┐
│ Flexus L Lifecycle Skill │
├─────────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ Create │ │ Renewal │ │ Unsubscribe │ │
│ └────┬─────┘ └────┬─────┘ └──────┬───────┘ │
│ │ │ │ │
│ └─────────────┴────────────────┘ │
│ │ │
│ ┌─────────────▼─────────────┐ │
│ │ flexus_specs_extractor │ │
│ └─────────────┬─────────────┘ │
│ │ │
│ ┌──────▼──────┐ │
│ │ HCSS API │ (Instance Management) │
│ └──────┬──────┘ │
│ ┌──────▼──────┐ │
│ │ BSS API │ (Billing & Subscription) │
│ └──────┬──────┘ │
│ ┌──────▼──────┐ │
│ │ IAM API │ (Project ID) │
│ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
Data Source
- Region, Image, Spec Information: Dynamically fetched from official documentation, no local config file needed
- Official Documentation: https://support.huaweicloud.com/api-flexusl/create_instance_0001.html
- On-Demand Fetch: Automatically fetches latest data when executing
show-regions,show-images,show-specs,create-instance
Use Cases
- Automated Server Provisioning - Create Flexus L instances for development, testing, or production environments
- Cost Optimization - Renew instances during promotional periods to save costs
- Resource Cleanup - Safely unsubscribe instances when projects end
- Multi-Region Deployment - Create instances across different regions for disaster recovery
Applicable Scenarios
- Development and testing environment setup
- Production server lifecycle management
- Cost control and budget management
- Project resource cleanup and decommissioning
Important Notes
⚠️ All scripts and environment check scripts are inside the skill package. You must use skill action=exec to execute them; do not run them directly in the shell.
Prerequisites
Before using this skill, ensure the following conditions are met:
1. Huawei Cloud Account
- Valid Huawei Cloud account
- Account has completed real-name verification
- Account has sufficient balance or bound payment method
2. AK/SK Credentials
- Created Huawei Cloud access keys (AK/SK)
- AK/SK has the following permissions:
BSS: Billing service (order query, renewal, unsubscribe)HCSS: Flexus L instance managementIAM: Project ID query (read-only)
- How to obtain: Huawei Cloud Console → My Credentials → Access Keys → Create Access Key
Credential Configuration Methods:
| Method | Description | Priority |
|---|---|---|
| Environment Variables | HW_ACCESS_KEY, HW_SECRET_KEY, HW_SECURITY_TOKEN | Highest (Recommended) |
| Command-line Parameters | --ak, --sk, --security-token | Lower (Accepted but not recommended) |
Credential Types (by recommendation order):
| Priority | Type | Parameters | Description |
|---|---|---|---|
| Primary | Temporary AK/SK | Environment variables + HW_SECURITY_TOKEN | Temporary credentials with security token, higher security |
| Secondary | Permanent AK/SK | Environment variables only | Long-term access keys from Huawei Cloud console |
Environment Variables (Primary Method - Strongly Recommended):
Pass credentials via environment variables HW_ACCESS_KEY, HW_SECRET_KEY, HW_SECURITY_TOKEN. Temporary credentials require HW_SECURITY_TOKEN, permanent credentials do not.
Command-line Parameters (Secondary Method - Accepted):
# Temporary credentials
python scripts/flexus_lifecycle.py create-instance \
--ak --sk --security-token \
--image Ubuntu --cpu 2 --memory 4
# Permanent credentials
python scripts/flexus_lifecycle.py create-instance \
--ak --sk \
--image Ubuntu --cpu 2 --memory 4
⚠️ Security Token Notes:
- Temporary AK/SK (Primary): Requires
HW_SECURITY_TOKENenvironment variable, higher security, strongly recommended - Permanent AK/SK (Secondary): Only needs
HW_ACCESS_KEYandHW_SECRET_KEY, no security token needed
3. IAM Permissions
| Service | Policy | Required Actions |
|---|---|---|
| HCSS | HCSS FullAccess | hcss:lightInstances:* |
| BSS | BSS Administrator | bss:order:*, bss:renewal:*, bss:unsubscribe:* |
| IAM | IAM ReadOnlyAccess | iam:projects:list |
Permission Failure Handling:
| Error | Cause | Solution |
|---|---|---|
403 Forbidden | Missing policy | Add required IAM policy to user |
APIGW.0101 | Service not enabled | Enable Flexus L in target region |
BSS.0501 | No access to resource | Verify resource belongs to account |
See references/permission-guide.md for detailed permission setup.
4. Runtime Environment
- Python 3.8 or higher
- Required dependencies installed (see Dependencies section below)
5. Network Environment
- Able to access Huawei Cloud API endpoints
- Required endpoints:
hcss.cn-north-4.myhuaweicloud.comiam.myhuaweicloud.combss.myhuaweicloud.com
- If using proxy, configure environment variables correctly
Trigger Rules
Activate this skill when users mention:
Create related:
- "Purchase Huawei Cloud server", "Create Flexus instance", "Huawei Cloud lightweight server"
- "hcss instance", "New Flexus L"
Renewal related:
- "Renew Flexus L instance", "Flexus renewal", "Renew lightweight server"
- "Huawei Cloud renewal", "renew flexus"
Unsubscribe related:
- "Unsubscribe Flexus L instance", "Cancel Flexus instance", "Unsubscribe lightweight server"
- "Huawei Cloud unsubscribe", "cancel subscription flexus"
⚠️ Conversation Display Guidelines (Important)
When displaying "Available Specifications" or "Available Images" to users in conversation, you MUST immediately append the following note:
Note
- Spec codes vary by region and image version. Please refer to the official documentation Appendix 1 (spec codes for each image type) and Appendix 2 (spec details for each code) before purchasing.
- Official Link:
This applies to all conversation scenarios, including dry-run previews.
Security Notes
⚠️ AK/SK Security Requirements (CRITICAL):
- Environment Variables (Primary - Strongly Recommended):
HW_ACCESS_KEY,HW_SECRET_KEY,HW_SECURITY_TOKEN - Command-line Parameters (Secondary - Accepted):
--ak,--sk,--security-token - Priority: Environment variables > Command-line parameters
- Security Token: Recommended - Temporary credentials have higher security
⚠️ ABSOLUTE SECURITY RULES - NEVER VIOLATE:
- NEVER print, log, or display AK/SK/Token values in any form
- NEVER include AK/SK/Token in error messages or debug output
- NEVER store AK/SK/Token in files or configuration
- NEVER transmit AK/SK/Token over insecure channels
- When command-line parameters are used, they MUST be masked in any output
Credential Usage (by recommendation order):
# Primary: With security token (temporary credentials, higher security)
BasicCredentials(ak, sk).with_security_token(security_token)
# Secondary: Without security token (permanent credentials)
BasicCredentials(ak, sk)
Core Commands
| Command | Function | Required Params | Optional Params |
|---|---|---|---|
show-regions | Show available regions | None | None |
show-images | Show available images | None | --region |
show-specs | Show available specs | --image | --region |
create-instance | Create instance | --ak, --sk, --security-token (recommended) | --region, --image, --plan-spec, --cpu, --memory, --period-num, --period-type, --instance-name, --auto-renew, --auto-pay, --dry-run, --confirm |
renewal | Renew instance | --ak, --sk, --security-token (recommended), --resource-ids | --period-num, --period-type, --auto-pay, --dry-run, --confirm |
unsubscribe | Unsubscribe instance | --ak, --sk, --security-token (recommended), --resource-ids | --type, --reason, --dry-run, --confirm |
Parameter Confirmation
Required Parameter Validation:
| Parameter | Description | Validation Rule |
|---|---|---|
--ak | Huawei Cloud Access Key ID | Non-empty (or set HW_ACCESS_KEY env var) |
--sk | Huawei Cloud Secret Access Key | Non-empty (or set HW_SECRET_KEY env var) |
--security-token | Security Token | Recommended (or set HW_SECURITY_TOKEN env var) |
--resource-ids | Resource IDs | Non-empty, comma-separated for multiple |
--image | Image name | Format: name:version, e.g. Ubuntu:22.04 |
--region | Region ID | Must be in supported regions list |
Parameter Relationships:
| Parameter Group | Description |
|---|---|
--plan-spec vs --cpu/--memory | Choose one; --plan-spec takes priority; if not specified, auto-match based on --cpu/--memory |
--dry-run vs --confirm | Choose one or neither; --dry-run previews only, --confirm skips confirmation, neither triggers interactive confirmation |
Default Values:
| Parameter | Default | Description |
|---|---|---|
--region | cn-north-4 | North China - Beijing 4 |
--image | Ubuntu | Ubuntu system image |
--period-num | 1 | Purchase/renew for 1 month |
--period-type | month | Monthly billing |
--type (unsubscribe) | 1 | Immediate unsubscribe |
--auto-renew | True | Enable auto renewal |
--auto-pay | True | Auto payment |
⚠️ Mandatory Confirmation Mechanism
Creation, renewal, and cancellation operations involve actual costs and must be executed only after explicit confirmation from the user!
Confirmation methods (choose one):
- Dialog confirmation: Reply "confirm" or "yes" in conversation
- Command-line confirmation: Use
--confirmflag - Dry-run preview: Use
--dry-runto preview without executing
⚠️ Failure Handling Rule:
When user confirms the preview order and the purchase fails:
- Only make ONE request - do not retry automatically
- Return the failure reason to the user
- Guide user to repurchase - let user decide next steps
- NEVER change parameters (region, spec, image, etc.) without user's explicit request
Usage
Basic Command Format
python scripts/flexus_lifecycle.py [options]
Global Parameters
| Parameter | Description | Required | Environment Variable |
|---|---|---|---|
--ak | Huawei Cloud Access Key ID | Yes (or env var) | HW_ACCESS_KEY |
--sk | Huawei Cloud Secret Access Key | Yes (or env var) | HW_SECRET_KEY |
--security-token | Security Token | Recommended | HW_SECURITY_TOKEN |
--region | Region ID (default: cn-north-4) | No | - |
--dry-run | Dry run, don't actually execute | No | - |
--confirm | Force confirmation, skip interactive | No | - |
Credential Configuration Examples
Method 1: Using Environment Variables (Primary - Strongly Recommended)
python scripts/flexus_lifecycle.py create-instance --image Ubuntu --cpu 2 --memory 4
Method 2: Using Command-line Parameters (Secondary - Accepted)
# Temporary credentials
python scripts/flexus_lifecycle.py create-instance \
--ak --sk --security-token \
--image Ubuntu \
--cpu 2 \
--memory 4
# Permanent credentials
python scripts/flexus_lifecycle.py create-instance \
--ak --sk \
--image Ubuntu \
--cpu 2 \
--memory 4
Module Details
0️⃣ Query Functions
Show available regions:
python scripts/flexus_lifecycle.py show-regions
Show available images for a region:
python scripts/flexus_lifecycle.py --region cn-north-4 show-images
Show available specs for an image:
python scripts/flexus_lifecycle.py --region cn-north-4 show-specs --image Ubuntu
1️⃣ Create Instance (create-instance)
Purchase new Flexus L instances, supports Windows/Linux.
Method 1: Auto-match Spec (Recommended)
python scripts/flexus_lifecycle.py create-instance \
--region cn-north-4 \
--image Ubuntu \
--cpu 2 \
--memory 4
Method 2: Specify Spec
python scripts/flexus_lifecycle.py create-instance \
--region cn-north-4 \
--image Ubuntu \
--plan-spec hf.medium.1.linux
Method 3: Use Default Spec
python scripts/flexus_lifecycle.py create-instance \
--region cn-north-4 \
--image Ubuntu
Create Parameters:
| Parameter | Description | Default |
|---|---|---|
--image | Image name | Ubuntu |
--plan-spec | Instance specification | Auto-match or config default |
--cpu | CPU cores (for auto-match) | - |
--memory | Memory GB (for auto-match) | - |
--period-num | Purchase duration (months) | 1 |
--period-type | Period type (month/year) | month |
--instance-name | Instance name | Auto-generated |
--auto-renew | Auto renewal | True |
--auto-pay | Auto payment | True |
Available Specifications Reference:
See references/image-specs-guide.md for detailed specs.
2️⃣ Renewal Instance (renewal)
Renew existing Flexus L instances.
# Preview renewal (recommended)
python scripts/flexus_lifecycle.py renewal \
--resource-ids \
--period-num 1 \
--period-type month \
--dry-run
# Confirm renewal
python scripts/flexus_lifecycle.py renewal \
--resource-ids \
--period-num 6 \
--period-type month \
--confirm
# Renew multiple instances
python scripts/flexus_lifecycle.py renewal \
--resource-ids id1,id2,id3 \
--period-num 1 \
--period-type year \
--confirm
Renewal Parameters:
| Parameter | Description | Default |
|---|---|---|
--resource-ids | Resource IDs (comma-separated) | Required |
--period-num | Renewal period count | 1 |
--period-type | Period type (month/year) | month |
--auto-pay | Auto payment | True |
3️⃣ Unsubscribe Instance (unsubscribe)
Cancel Flexus L instance subscription.
# Preview unsubscribe (recommended)
python scripts/flexus_lifecycle.py unsubscribe \
--resource-ids \
--dry-run
# Immediate unsubscribe (type 1)
python scripts/flexus_lifecycle.py unsubscribe \
--resource-ids \
--type 1 \
--confirm
# Expiry unsubscribe (type 2)
python scripts/flexus_lifecycle.py unsubscribe \
--resource-ids \
--type 2 \
--confirm
# Batch unsubscribe
python scripts/flexus_lifecycle.py unsubscribe \
--resource-ids id1,id2,id3 \
--type 1 \
--reason "Project ended" \
--confirm
Unsubscribe Parameters:
| Parameter | Description | Default |
|---|---|---|
--resource-ids | Resource IDs (comma-separated) | Required |
--type | Unsubscribe type (1=immediate, 2=expiry) | 1 |
--reason | Unsubscribe reason | None |
Unsubscribe Types:
| Type | Description | Effect |
|---|---|---|
| 1 | Unsubscribe resource and renewed periods | Resource stops immediately, pro-rated refund |
| 2 | Only unsubscribe renewed periods | Resource continues until expiry |
Available Regions
⚠️ Note: Flexus L instances currently support only the following regions:
| Region ID | Region Name | Spec Prefix |
|---|---|---|
| cn-north-4 | North China - Beijing 4 | hf.* |
| cn-east-3 | East China - Shanghai 1 | hf.* |
| cn-south-1 | South China - Guangzhou | hf.* |
| cn-southwest-2 | Southwest China - Guiyang 1 | ahf.* |
| ap-southeast-1 | Hong Kong, China | hf.* |
| ap-southeast-3 | Asia Pacific - Singapore | hf.* |
Dependencies
Python Dependencies
Install via pip:
pip install requests huaweicloudsdkcore huaweicloudsdkbss
Or use pyproject.toml:
cd scripts
pip install -e .
pyproject.toml
[project]
name = "flexus-lifecycle"
version = "1.0.0"
dependencies = [
"requests>=2.28.0",
"huaweicloudsdkcore>=3.0.0",
"huaweicloudsdkbss>=3.0.0",
]
File Structure
skills/huawei-cloud-flexus-l-server-manage/
├── SKILL.md # This file
├── scripts/
│ ├── flexus_lifecycle.py # Main lifecycle script
│ ├── flexus_specs_extractor.py # Dynamic specs fetcher
│ └── pyproject.toml # Dependencies
└── references/
├── api-reference.md # API reference
├── iam-policies.md # IAM policies
├── image-specs-guide.md # Image specs guide
├── permission-guide.md # Permission setup
└── troubleshooting.md # Troubleshooting
Error Handling
Common Errors
| Error Code | Description | Solution |
|---|---|---|
401 Unauthorized | Invalid AK/SK | Verify AK/SK is correct and active |
403 Forbidden | Permission denied | Add required IAM policies |
APIGW.0101 | API not found | Check service is enabled in region |
APIGW.0301 | Signature verification failed | Check SK is correct |
BSS.0501 | Resource not found | Verify resource ID is correct |
BSS.0502 | Resource state invalid | Check resource status |
400 Bad Request | Invalid parameters | Check spec/image compatibility |
See references/troubleshooting.md for detailed error handling.
References
- API Reference
- IAM Policies
- Image Specs Guide
- Permission Guide
- Troubleshooting
External References
- Flexus L Instance Purchase Guide - Official API Documentation
- AK/SK Authentication - IAM Authentication Guide
- Huawei Cloud Console - Resource Management Console
Related skills
Read-only query of Huawei Cloud ECS, BMS, IMS, and AS resources via local Python scripts.
Deploy AI Agent development platform (Dify) on Huawei Cloud Flexus L instance, providing deployment operations, password management, MaaS model configuration...
Deploy the OpenClaw AI Agent platform on Huawei Cloud Flexus L Instance and configure models and channels via COC.
Queries Huawei Cloud ECS (Elastic Cloud Server) resources in read-only mode. Covers ECS instances, flavors, keypairs, quotas, server groups, block devices, NICs, VNC console, launch templates, recycle bin, scheduled events, and tags. No write operations. Use this skill when the user needs to query ECS instance details, list flavors, check server status, view block devices, or inspect ECS resource attributes. Triggers include: 查询ECS, ECS实例查询, 云服务器查询, 弹性云服务器, ECS规格, ECS配额, 云服务器列表, ECS详情, query ECS, list ECS servers, show server details, ECS flavors, ECS quotas, ECS keypairs, server groups, block devices, ECS inventory, cloud server list, ecs list, ecs query, ecs show.
Search the Huawei Cloud skill catalog by keyword or category, then install the matching skill.
More from huaweicloud-skills-team
Browse all skillsManage Huawei Ascend NPUs with natural language commands that translate to npu-smi, locally or over SSH.
Deploy and test LLM, VL, Embedding, and Rerank models on Huawei Cloud Ascend 910B DevServer with single- or dual-node topologies.
Read-only queries against Huawei Cloud resources for inventory, verification, and parameter discovery.
Query Huawei Cloud IAM resources (users, groups, policies, agencies, AK/SK, MFA, security settings) read-only via local Python SDK.
Deploy the OpenClaw AI Agent platform on Huawei Cloud Flexus L Instance and configure models and channels via COC.
One-click deploy Hermes AI Agent platform on Huawei Cloud Flexus L instances with model and channel configuration.