← Back to Skills Marketplace
huaweiclouddev

huawei-cloud-flexus-l-server-ops

by huaweicloud-skills-team · GitHub ↗ · v0.0.3 · MIT-0
cross-platform ⚠ suspicious
22
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install huawei-cloud-flexus-l-server-ops
Description
Based on Huawei Cloud Flexus L API for instance management and operations. Supports querying instance list and details, querying traffic packages, batch star...
README (SKILL.md)

⚠️ Security Execution Rules (Highest Priority):

  1. All scripts MUST be executed via skill action=exec, NEVER run directly in shell
  2. NEVER print script contents or commands containing AK/SK/Token in conversation
  3. NEVER create temporary script files, prefer inline execution (python -c)
  4. On execution failure, only return error info, do NOT rewrite scripts or print full commands
  5. AK/SK/Token MUST be passed via environment variables, NEVER appear in conversation
  6. ⚠️ ABSOLUTELY NEVER expose, log, or print AK/SK/Token values in any form - this is a critical security requirement

Huawei Cloud Flexus L Instance Operations

Overview

This skill provides complete operational capabilities for Huawei Cloud Flexus L instances, covering instance lifecycle management, configuration modification, monitoring queries, and other core scenarios.

Architecture

OpenClaw Agent → Flexus L Ops Skill → Huawei Cloud SDK → Huawei Cloud Services
                     │                      │                    │
                     │                      │                    ├─ Flexus L (instance/lifecycle/password)
                     │                      │                    └─ BSS (traffic query)
                     │                      │
                     └─ scripts/            └─ huaweicloudsdk{core,ecs,bss,config}

Core Components:

  • Flexus L Service: Elastic Cloud Server, provides instance management, lifecycle control, password reset, etc.
  • BSS Service: Business Support System, provides traffic package usage query
  • Python SDK: Official Huawei Cloud SDK, encapsulates API call logic
  • Operation Scripts: 6 independent scripts, each corresponding to one operation

Applicable Scenarios

Typical Problem Scenarios:

  1. Instance Status View: Need to quickly view the running status of all Flexus L instances under the account
  2. Batch Operations: Need to perform start, stop, reboot operations on multiple servers
  3. Configuration Modification: Need to modify instance name, description, hostname, and other basic information
  4. Password Management: Need to reset instance login password
  5. Traffic Monitoring: Need to view traffic package remaining amount and usage

Trigger Keywords:

English Keyword Chinese Keyword
Flexus L Flexus L
Huawei Cloud Ops 华为云运维
Query Instance 查询实例
Start/Stop/Reboot 开机/关机/重启
Reset Password 重置密码
Update Info 修改信息
Query Traffic 查流量
Traffic Package 流量包
List All Servers 查所有服务器
My Servers 我的服务器有哪些
List All Instances 列出所有实例

Prerequisites

1. Python Environment and dependencies

  • Python >= 3.8
  • huaweicloudsdkcore >= 3.0.0
  • huaweicloudsdkecs >= 3.0.0
  • huaweicloudsdkbss >= 3.0.0
  • huaweicloudsdkconfig >= 3.0.0
  • requests >= 2.31.0

2. Install Huawei Cloud SDK

pip3 install huaweicloudsdkcore huaweicloudsdkecs huaweicloudsdkconfig huaweicloudsdkbss \
  -i https://repo.huaweicloud.com/repository/pypi/simple

⚠️ Important: Script Usage Rules

Different operations MUST use the corresponding script. Do NOT use other scripts' commands.

Operation Must Use Script Correct Command ❌ Wrong Command
Query Flexus L instances query_instances.py query_instances.py list password_unified.py list
Query instance details query_instances.py query_instances.py detail -i \x3CID> lifecycle.py list
Start/Stop/Reboot lifecycle.py lifecycle.py stop --instance-id \x3CID> query_instances.py stop
Reset password password_unified.py password_unified.py reset --instance-id \x3CID> --password \x3Cpwd> lifecycle.py reset
Modify server info update_server.py update_server.py --instance-id \x3CID> --name \x3Cname> query_instances.py update

Operation Feedback Requirement

After any lifecycle operation (start/stop/reboot), MUST query and report the final status to user.

Example feedback format:

✅ Operation completed
Instance: your-instance-name
Status: Running
Public IP: \x3CIP>

This ensures the user knows the operation has completed successfully.

Scripts Description

Functional Scripts (4 scripts)

Script Function Commands
query_instances.py Instance query tool ⭐ list, detail, free-resources, traffic, traffic-region
lifecycle.py Lifecycle management stop, start, reboot
password_unified.py Password reset test, list, reset
update_server.py Modify server info --name, --description, --hostname

Helper Scripts (2 scripts)

Script Function
auth.py Authentication management
params.py Parameter processing

Core Commands

See Execution Flow for operation steps.

Parameters

Required Parameters:

Operation Required Parameters Description
Query Instance Details instance-id Instance ID
Start/Stop/Reboot instance-id Instance ID (supports multiple)
Reset Password instance-id, password Instance ID + new password
Modify Info instance-id + (name/description/hostname) Instance ID + at least one modification
Query Traffic by Region target-region Target region code
Query Traffic by ID traffic_ids Traffic package ID list

Optional Parameters:

Parameter Description Required Default Example
--region Target region code (supports Chinese names) No cn-north-4 --region cn-north-4
--ak Huawei Cloud Access Key AK (can be temporary AK) No HW_ACCESS_KEY env var --ak AXXX...
--sk Huawei Cloud Access Key SK (can be temporary SK) No HW_SECRET_KEY env var --sk SXXX...
--security-token Security token for temporary credentials (required when using temporary AK/SK) No HW_SECURITY_TOKEN env var --security-token XXXX...

Region Parameter Support:

  • Region code: cn-north-4
  • Full name: North-China-Beijing4
  • Short name: Beijing4, Guangzhou, Shanghai

Execution Flow

Step 1: Check Existing Credentials (Automatic)

Get credentials from environment variables first, automatic check, no need to ask user.

Decision Logic:

Credential Status Next Step
✅ HW_ACCESS_KEY + HW_SECRET_KEY + HW_SECURITY_TOKEN exist Execute script directly (Recommended: Temporary AK/SK authentication, higher security level, pass --ak --sk --security-token parameters)
✅ HW_ACCESS_KEY + HW_SECRET_KEY exist (no Token) Execute script directly (Permanent AK/SK authentication, pass --ak --sk parameters)
❌ Environment variables not found Prompt user to configure credentials (prefer environment variables, do NOT ask directly)
❌ Authentication failed Prompt user to check or reconfigure credentials (prefer environment variables, do NOT ask directly)

⚠️ Security Recommendations:

  1. Prefer temporary credentials: Strongly recommend using temporary AK/SK + Security Token method for higher security, credentials expire automatically
  2. Environment variable configuration: Credentials should be configured via environment variables (HW_ACCESS_KEY, HW_SECRET_KEY, HW_SECURITY_TOKEN)
  3. Sensitive information protection: AK/SK are sensitive information, do NOT input or disclose in conversation

Credential Missing or Authentication Failed Message:

❌ Credentials not configured or authentication failed

Please configure Huawei Cloud credentials. For security, we recommend using temporary AK/SK + Security Token method via environment variables:
- HW_ACCESS_KEY: Access Key AK
- HW_SECRET_KEY: Secret Key SK
- HW_SECURITY_TOKEN: Security Token (Recommended)

⚠️ Security Note: Temporary credentials are more secure, please prefer using them!

Note: We prioritize obtaining credentials from environment variables and NEVER ask users to input AK/SK directly. However, we still support parsing credentials if user voluntarily provides them via other methods (e.g., conversation input, config file).

Step 2: Select Operation

After credentials are verified, ask user what operation to perform:

Step 3: Execute Operation

⚠️ Instance Validation (When user provides instance ID/name):

python3 {baseDir}/scripts/query_instances.py free-resources --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]
  • ✅ Found in list → Proceed with operation
  • ❌ Not found → Tell user: "This is NOT a Flexus L instance. This skill only supports Flexus L instances." Then refer to Finding Server ID section for guidance.

⚠️ Important Notes:

1. Instance Type Confirmation: Before executing any operation, remind user that this skill only supports Flexus L instances

2. Server ID Guidance: If user hasn't specified a server ID to operate on, guide user to query all instances or specific server

4.1 List Instances

Query all instances across regions:

python3 {baseDir}/scripts/query_instances.py list --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

Query instances in specific region:

python3 {baseDir}/scripts/query_instances.py list --region cn-north-4 --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

4.2 Query Instance Details

Required Parameters:

  • Instance ID (required)
  • Region code (optional, default cn-north-4)
python3 {baseDir}/scripts/query_instances.py detail --instance-id \x3CID> --region cn-north-4 --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

⚠️ Error Handling: If query fails with "server not found" and user didn't specify region, tell user to check region, instance type, and ID.

4.3 Batch Start

Required Parameters:

  • Instance ID (required, supports multiple)
  • Region code (optional, default cn-north-4)
python3 {baseDir}/scripts/lifecycle.py start --instance-id \x3CID1> --instance-id \x3CID2> --region cn-north-4 --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

4.4 Batch Stop

⚠️ Dangerous Operation: Must Confirm Twice

🔒 Instance Type Restriction: This operation ONLY supports Flexus L instances, NOT all ECS instances. Must verify instance type before execution.

Required Parameters:

  • Instance ID (required, supports multiple)
  • Region code (optional, default cn-north-4)

Must confirm twice before execution:

  • Tell user the consequences of stopping (service interruption, data loss risk)
  • If stopping the server currently running OpenClaw, must warn additionally (conversation interruption, need manual restart)
  • Only execute after user replies "confirm stop"
python3 {baseDir}/scripts/lifecycle.py stop --instance-id \x3CID1> --instance-id \x3CID2> --region cn-north-4 --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

4.5 Batch Reboot

⚠️ Dangerous Operation: Must Confirm Twice

🔒 Instance Type Restriction: This operation ONLY supports Flexus L instances, NOT all ECS instances. Must verify instance type before execution.

Required Parameters:

  • Instance ID (required, supports multiple)
  • Region code (optional, default cn-north-4)
  • Reboot type (optional): SOFT (normal reboot, default) or HARD (forced reboot)

Must confirm twice before execution:

  • Tell user the consequences of rebooting (brief service interruption, memory data loss)
  • If rebooting the server currently running OpenClaw, must warn additionally (brief conversation interruption, auto recovery)
  • Only execute after user replies "confirm reboot"
python3 {baseDir}/scripts/lifecycle.py reboot --instance-id \x3CID1> --instance-id \x3CID2> --region cn-north-4 --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

4.6 Reset Password

Required Parameters:

  • Instance ID (required)
  • New password (required)
    • Length 8-26 characters
    • Must contain at least 3 of: uppercase, lowercase, numbers, special characters
    • Cannot contain username or reversed username
    • Cannot contain 3 or more consecutive identical characters
  • Region code (optional, default cn-north-4)

⚠️ Important: After resetting password, the instance MUST be rebooted for the new password to take effect.

Must confirm with user before reboot:

  • Inform user that password reset is successful
  • Warn user about consequences: brief service interruption, memory data loss
  • If rebooting the server currently running OpenClaw, must warn additionally (brief conversation interruption, auto recovery)
  • Only execute reboot after user replies "confirm reboot"
python3 {baseDir}/scripts/password_unified.py reset --instance-id \x3CID> --password \x3Cnew_password> --region cn-north-4 --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

Reboot Command:

python3 {baseDir}/scripts/lifecycle.py reboot --instance-id \x3CID> --region cn-north-4 --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

4.7 Modify Instance Information

Required Parameters:

  • Instance ID (required)
  • Region code (optional, default cn-north-4)
  • Modification parameters (at least one):
    • name: Instance name (1-64 characters, supports Chinese, letters, numbers, _-, .)
    • description: Description (0-85 characters, cannot contain \x3C>)
    • hostname: Hostname (1-64 characters)
python3 {baseDir}/scripts/update_server.py --instance-id \x3CID> --name "new_name" --region cn-north-4 --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

4.8 Query Traffic Package

Option 1: Query by Traffic Package ID

Required Parameters:

  • Traffic package ID (required)

⚠️ Special Note: Traffic package query uses Beijing-1 region (cn-north-1) by default, traffic package ID can be from any region

python3 {baseDir}/scripts/query_instances.py traffic \x3Ctraffic_id_1> \x3Ctraffic_id_2> --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

Option 2: Query by Region ⭐ Recommended

Required Parameters:

  • Target region (required)
python3 {baseDir}/scripts/query_instances.py traffic-region --target-region cn-east-3 --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

Finding Server ID

If user asks "how to find server ID" or "don't know server ID", first provide console lookup steps:

You can find server ID through the following ways:

Option 1: Via Huawei Cloud Console
1. Login to Huawei Cloud Console
2. Go to Flexus Application Server L instance list
3. Click instance name to enter details page
4. In basic information, click "Cloud Host VM"
5. View cloud host ID in cloud host information
6. Click copy button after ID to quickly copy

Help Document: https://support.huaweicloud.com/intl/zh-cn/flexusl_faq/faq_01_0003.html

Then append the following, offer automatic query option:

Option 2: I can also help query all servers under your account

Would you like me to list all instances under your account? I can query directly for you.

If user agrees, execute list all instances:

python3 {baseDir}/scripts/query_instances.py list --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

Region Support

Common Region Codes

Region Code Region Name
cn-north-4 North China-Beijing 4
cn-north-1 North China-Beijing 1
cn-south-1 South China-Guangzhou
cn-east-3 East China-Shanghai 1
ap-southeast-1 China-Hong Kong
ap-southeast-2 Asia Pacific-Singapore

Region Name Conversion

This skill supports automatic region name conversion, can use Chinese names or English codes:

# Use region code
python3 {baseDir}/scripts/query_instances.py list --region cn-north-4 --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

# Use region name (auto-convert)
python3 {baseDir}/scripts/query_instances.py list --region "North-China-Beijing4" --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]
python3 {baseDir}/scripts/query_instances.py list --region "Beijing4" --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]
python3 {baseDir}/scripts/query_instances.py list --region "Guangzhou" --ak "$HW_ACCESS_KEY" --sk "$HW_SECRET_KEY" [--security-token "$HW_SECURITY_TOKEN"]

Traffic Package Query Special Note

⚠️ Traffic package query uses Beijing-1 region (cn-north-1) by default

  • Traffic package query does not support --region parameter
  • Traffic package ID can be from any region
  • Automatically uses Beijing-1 region for query

Notes

  • Instance ID is the cloud host ID corresponding to Flexus L instance
  • Region defaults to cn-north-4 (Beijing 4)
  • AK/SK Security Requirements:
    • ✅ Must be stored via environment variables (HW_ACCESS_KEY, HW_SECRET_KEY, HW_SECURITY_TOKEN)
    • ❌ Do not store in any configuration files
  • Stop/Reboot Security Requirements:
    • Must confirm twice - No direct execution without user confirmation
    • Must be Flexus L instances only - Cannot operate on all ECS instances, must verify instance type
    • ✅ Must inform operation consequences
    • ✅ If current server, must give additional warning
    • Never execute batch operations on all ECS instances - Only Flexus L instances are supported

References

Skill Reference Documents

This skill includes the following reference documents:

Huawei Cloud Official Documentation

Usage Guidance
Install only if you intend to let this skill operate Huawei Cloud Flexus L servers, including start/stop/reboot, password reset, and metadata changes. Use temporary, least-privilege credentials; avoid examples that pass AK/SK, tokens, or passwords as command-line arguments; do not run credential-printing verification commands; and fix or review the disabled TLS verification before using it in a sensitive account.
Capability Assessment
Purpose & Capability
The advertised capabilities match the artifacts: querying Flexus L instances, querying traffic packages, starting/stopping/rebooting servers, resetting passwords, and updating server metadata through Huawei Cloud SDK clients. These are high-impact cloud operations, but they are disclosed and purpose-aligned.
Instruction Scope
The main instructions include confirmations for stop/reboot actions, but multiple command examples pass AK/SK/security-token values through command-line arguments, and the verification reference tells users to print CLOUD_SDK environment variables. That conflicts with the skill's own warning not to expose credentials and can leak cloud secrets into process listings, logs, terminals, or recordings.
Install Mechanism
The install guidance asks users to install Huawei Cloud SDK packages from a Huawei PyPI mirror. There is no evidence of hidden installation, persistence, or package execution beyond the disclosed SDK dependency setup, though dependencies are not pinned.
Credentials
Use of Huawei Cloud credentials and ECS/BSS/Config SDK clients is broadly proportionate for this skill, and Config access is used for Flexus L resource discovery. However, the Config client explicitly disables SSL certificate verification, which is not necessary for the stated purpose and weakens protection for cloud API traffic.
Persistence & Privilege
The artifacts do not create local persistence, background workers, scheduled tasks, or privilege escalation. The material privilege is cloud-side authority to mutate server state and reset passwords, which is disclosed but should be limited with least-privilege temporary credentials.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install huawei-cloud-flexus-l-server-ops
  3. After installation, invoke the skill by name or use /huawei-cloud-flexus-l-server-ops
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.0.3
No changes detected in this release. - Version bumped to 0.0.3, but no file or documentation changes were made. - Functionality, security rules, and user instructions remain the same as previous version.
v0.0.2
No functional or documentation changes in this version. - Version bump to 0.0.2 with no file modifications detected. - No new features, bug fixes, or documentation updates present in this release.
v0.0.1
Initial release of Huawei Cloud Flexus L instance operations skill. - Supports querying Flexus L instance list and details, including traffic package usage. - Enables batch start, stop, and reboot operations for multiple instances. - Provides functionality to reset instance login passwords securely. - Allows modification of instance information such as name, description, and hostname. - Ensures strict security practices: credentials always via environment variables, never exposed or logged. - Suitable for daily cloud server management, lifecycle operations, configuration changes, and traffic monitoring.
Metadata
Slug huawei-cloud-flexus-l-server-ops
Version 0.0.3
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is huawei-cloud-flexus-l-server-ops?

Based on Huawei Cloud Flexus L API for instance management and operations. Supports querying instance list and details, querying traffic packages, batch star... It is an AI Agent Skill for Claude Code / OpenClaw, with 22 downloads so far.

How do I install huawei-cloud-flexus-l-server-ops?

Run "/install huawei-cloud-flexus-l-server-ops" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is huawei-cloud-flexus-l-server-ops free?

Yes, huawei-cloud-flexus-l-server-ops is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does huawei-cloud-flexus-l-server-ops support?

huawei-cloud-flexus-l-server-ops is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created huawei-cloud-flexus-l-server-ops?

It is built and maintained by huaweicloud-skills-team (@huaweiclouddev); the current version is v0.0.3.

💬 Comments