Huawei Cloud Modelarts Resource Pool Management logo

Huawei Cloud Modelarts Resource Pool Management

Organization
huaweicloud
huawei-cloud-modelarts-resource-pool-management

Manage Huawei Cloud ModelArts dedicated resource pools (专属资源池) and node pools through full lifecycle operations via hcloud CLI. Covers 53 operations across 10 functional domains: resource pool management, pool nodes, node pool management, network resources, tag management, plugin management, jobs/tasks, scheduled events, OS configuration, and resource flavor/event queries. Includes BSS on-demand pricing inquiry before chargeable operations (create/expand) to inform users of costs. All write operations require user confirmation. Triggers include: "资源池", "专属资源池", "resource pool", "创建资源池", "查询资源池", "删除资源池", "更新资源池", "资源池监控", "资源池节点", "pool node", "节点池", "node pool", "资源池网络", "pool network", "资源池标签", "pool tags", "插件", "plugin", "工作负载", "workload", "定时事件", "scheduled event", "OS配置", "规格列表", "ModelArts resource pool", "manage resource pool", "询价", "pricing", "按需价格", "价格查询".

Overview

Publisherhuaweicloud
Repositoryhuaweicloud-skills
Skill namehuawei-cloud-modelarts-resource-pool-management
Stars
59
Forks
24
Bundled files
10
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 10 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by huaweicloud on GitHub. Read the source before you install it.

Installation

Install the Huawei Cloud Modelarts Resource Pool Management AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/huaweicloud/huaweicloud-skills/tree/master/skills/ai/modelarts/huawei-cloud-modelarts-resource-pool-management
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/huaweicloud/huaweicloud-skills.git /tmp/huaweicloud-skills
mkdir -p .claude/skills
cp -r /tmp/huaweicloud-skills/skills/ai/modelarts/huawei-cloud-modelarts-resource-pool-management .claude/skills/huawei-cloud-modelarts-resource-pool-management
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Huawei Cloud Modelarts Resource Pool Management in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Huawei Cloud Modelarts Resource Pool Management on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Huawei Cloud Modelarts Resource Pool Management is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Huawei Cloud ModelArts Resource Pool Management

Full lifecycle management for ModelArts dedicated resource pools and node pools via hcloud CLI — 53 operations across 10 functional domains.


Overview

This skill enables users to manage Huawei Cloud ModelArts dedicated resource pools (专属资源池) and node pools through the hcloud CLI. It covers the complete lifecycle including resource pool CRUD, node management, node pool management, network resources, tag management, plugin management, workloads, scheduled events, OS configuration, and resource flavor queries. BSS pricing inquiry is included for chargeable operations.

Architecture

User Request → Agent → hcloud ModelArts <Operation> --cli-region={region} [--params] → Huawei Cloud ModelArts API

Applicable Scenarios

  • Resource Pool Management: Create, list, show, update, delete resource pools; monitor, statistics, node config, order management
  • Pool Node Management: List/show nodes; batch delete, update, lock, unlock, reboot, reset, resize, migrate, bind
  • Node Pool Management: Create, list, show, update, delete node pools within a resource pool
  • Network Resources: Create, list, show, update, delete ModelArts networks; query available IPs
  • Tag Management: List, show, batch create, batch delete resource pool tags
  • Plugin Management: List plugin templates; list and create pool plugins
  • Jobs & Workloads: List workloads, show workload statistics, list jobs
  • Scheduled Events: List and accept scheduled events
  • OS Configuration: Show OS user config and quotas
  • Resource Flavors & Events: List resource flavors, events, node config templates

Prerequisites

  1. hcloud CLI installed and authenticated — Reference: https://support.huaweicloud.com/qs-hcli/hcli_02_003.html
  2. Huawei Cloud AK/SK configured via hcloud (see Security & Credential Check below)
  3. ModelArts service enabled in the target region
  4. IAM permissions — See references/iam-policies.md

Security & Credential Check

⚠️ CRITICAL: This section defines the agent's security boundary. Follow it strictly.

🔒 Security Rules (MANDATORY)
  • 🚫 NEVER read, echo, or print AK/SK values (e.g., cat ~/.hcloud/config.json, echo $HW_ACCESS_KEY is FORBIDDEN)
  • 🚫 NEVER read or cat credential files such as ~/.hcloud/config.json or any file that may contain secrets
  • 🚫 NEVER ask the user to input AK/SK directly in the conversation or command line
  • 🚫 NEVER execute hcloud configure set --cli-access-key=... --cli-secret-key=... — credential configuration is the user's responsibility, done outside the agent session
  • 🚫 NEVER pass --cli-access-key/--cli-secret-key on every API call — they will be exposed in process listings (ps aux) for the entire request duration
  • ✅ ALWAYS use hcloud configure list to check credential status (presence check only, not values)
  • ✅ If no valid profile exists, STOP and instruct the user to configure credentials outside this session
  • ✅ Recommend using IAM user with minimal permissions instead of main account
✅ Agent Credential Check (the ONLY acceptable check)
bash
# Step 1: Check credential status — presence only, not values
hcloud configure list
  • ✅ Expected: Shows a valid profile with mode: AKSK

  • ❌ If empty/invalid → Guide the user with the 3-step process below:

    Step-by-step guidance (copy-paste for the user):

    "No valid credentials found. Please follow these 3 steps in your terminal:"

    ① Get your AK/SK Log in to Huawei Cloud Console → IAM → Access Keys. If you don't have one, click "Create Access Key" and save it securely.

    ② Run this in your terminal (one-time setup):

    bash
    hcloud configure set --cli-access-key=<YOUR_AK> --cli-secret-key=<YOUR_SK>

    (Replace <YOUR_AK> and <YOUR_SK> with the values from step ①)

    ③ Come back and tell me "configured", I'll verify it works.

    Note: The configure set command stores your credentials in ~/.hcloud/config.json. After that, all hcloud commands use them automatically — no need to pass AK/SK again.

    Agent: DO NOT execute any configure set command yourself.

🔧 User's Responsibility (for documentation, NOT agent execution)

The user configures credentials outside the agent session (in their own terminal):

bash
# One-time setup — run this in your terminal, NOT in the agent chat
HISTCONTROL=ignorespace
 hcloud configure set --cli-access-key=<YOUR_AK> --cli-secret-key=<YOUR_SK>

⚠️ Note: hcloud CLI does NOT read HW_ACCESS_KEY/HW_SECRET_KEY environment variables (those are for Python SDK only). hcloud configure set is the only supported credential configuration method.


Workflow

Step 1: Identify the Operation

Determine which resource pool operation the user needs based on their request:

User IntentOperation Category
Create/list/show/update/delete resource poolsResource Pool Management
List/show/batch operations on pool nodesPool Node Management
Create/list/show/update/delete node poolsNode Pool Management
Create/list/show/update/delete networksNetwork Resources
List/show/create/delete pool tagsTag Management
List/create pluginsPlugin Management
List workloads, show statisticsJobs & Workloads
List/accept scheduled eventsScheduled Events
Show OS config/quotasOS Configuration
List flavors/events/templatesResource Flavors & Events

Step 2: Execute CLI Command

bash
hcloud ModelArts <Operation> --cli-region={region} [--key=value ...]

{region} must be replaced with the actual region, e.g., cn-north-4. Do NOT hardcode the region.

Step 2.5: ⚠️ Pre-Flight Check (MANDATORY for Write Operations)

Before executing ANY write operation (Create/Update/Delete/Patch/Batch/Accept), you MUST:

  1. Read references/known-issues.md — Scan the relevant section for the target API
  2. Check the Pre-Flight Checklist at the bottom of that file — Verify all conditions are met
  3. Apply documented workarounds — Especially for the following high-risk operations:
OperationCritical IssueAction Required
PatchPool, PatchNetwork, PatchNodePoolContent-Type must be application/merge-patch+jsonUse --cli-jsonInput with header section
BatchUpdatePoolNodes--action values are not true/falseUse --cli-jsonInput with string action
CreatePoolNetwork name must include project ID suffixQuery ListNetworks for exact name
CreateNodePoolcount ≥ 1, maxCount ≤ countVerify constraints before execution
ShowNetworkAvailableIpnetwork_id from status.subnets[0].networkIdQuery ShowNetwork first
ListEvents--resource must be pools (plural)Use plural form
BatchResetPoolNodesstrategy not supported for VM poolsKnown limitation, inform user
BatchResizePoolNodesOnly supports hyperinstance nodesKnown limitation, inform user
DeleteNetworkFails if network in use by poolDelete pool first

Skipping this step will cause preventable failures. Every issue in the table was discovered through real API testing.

Step 3: Handle Write Operations

For all write operations (Create/Update/Delete/Patch/Batch/Accept), prompt the user for confirmation before execution. For chargeable operations (CreatePool, CreateNodePool, PatchNodePool, BatchResizePoolNodes, CreateOrderId), inquire BSS pricing first to inform the user of costs. See references/pricing-inquiry.md for the pricing inquiry workflow.


KooCLI Command Format Standard

bash
hcloud ModelArts <Operation> --cli-region={region} [--key=value ...]
FeatureDescriptionExample
Service nameFixed: ModelArtsModelArts
Operation namePascalCaseListPools, CreatePool
Region parameter--cli-region={region}--cli-region=cn-north-4
Simple parameter--key=value--pool_name=xxx
Indexed parameter--key.1=value1--node_name.1=node1
project_idAuto-resolved if omittedUses configured project ID

Note: --project_id is auto-resolved from authentication credentials if omitted. Include it explicitly only when targeting a specific project.

Complex parameters: For complex nested parameters (e.g., metadata, spec), use --cli-jsonInput=/path/to/file.json. The JSON file must wrap body in {"body": {...}} envelope.


Core Commands

All 53 CLI command examples across 10 functional domains are documented in a separate reference file.

📖 For detailed command syntax, parameters, and examples, read references/cli-command-examples.md

Quick Index

#DomainAPIsKey Operations
1Resource Pool Management11ListPools, ShowPool, CreatePool, PatchPool, DeletePool, ShowPoolMonitor/Statistics/RuntimeMetrics/NodeConfig, CreateOrderId, ShowOrder
2Pool Node Management11ListPoolNodes, ShowPoolNode, BatchDelete/Update/Lock/Unlock/Reboot/Reset/Resize/Migrate/Bind
3Node Pool Management6ListNodePools, ShowNodePool, CreateNodePool, PatchNodePool, DeleteNodePool, ListNodePoolNodes
4Network Resources6ListNetworks, ShowNetwork, CreateNetwork, PatchNetwork, DeleteNetwork, ShowNetworkAvailableIp
5Tag Management4ListPoolTags, ShowPoolTags, BatchCreatePoolTags, BatchDeletePoolTags
6Plugin Management4ListPluginTemplates, ShowPluginTemplate, ListPoolPlugins, CreatePoolPlugin
7Jobs & Workloads3ListWorkloads, ShowWorkloadStatistics, ListJobs
8Scheduled Events2ListScheduledEvents, AcceptScheduledEvent
9OS Configuration2ShowOsConfig, ShowOsQuota
10Resource Flavors & Events4ListResourceFlavors, ListEvents, ShowNodeConfigTemplate, ShowPoolNodeConfigTemplate

When executing any command, always refer to the reference file for exact parameter names, required/optional flags, and usage patterns.


Parameter Confirmation

ParameterRequiredDescriptionExample
{region}YesHuawei Cloud regioncn-north-4, cn-east-2
{pool_name}Pool opsResource pool namemy-resource-pool
{node_name}Node opsPool node namenode-xxx
{nodepool_name}NodePool opsNode pool namemy-nodepool
{network_name}Network opsNetwork namemy-network
{flavor_id}Create/ResizeResource flavor IDmodelarts.vm.cpu.16u64g.d
{project_id}No (auto)Project ID, auto-resolved if omittedOmit for default
{order_name}ShowOrderOrder nameorder-xxx

SDK Fallback

If a CLI operation fails due to a CLI bug, fall back to SDK:

python
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkmodelarts.v2.modelarts_client import ModelArtsClient
from huaweicloudsdkmodelarts.v2.region.modelarts_region import ModelArtsRegion

credentials = BasicCredentials(ak="{AK}", sk="{SK}", project_id="{project_id}")
client = ModelArtsClient.new_builder() \
    .with_credentials(credentials) \
    .with_region(ModelArtsRegion.value_of("{region}")) \
    .build()

Reference Documents

DocumentDescription
references/cli-command-examples.mdDetailed CLI command syntax and examples for all 53 APIs
references/api-paths.mdREST API paths from SDK source
references/iam-policies.mdLeast-privilege IAM policies
references/known-issues.mdKnown issues and workarounds
references/pricing-inquiry.mdBSS pricing inquiry guide for chargeable operations
references/verification-method.mdVerification and testing methods
references/dataflow-diagram.mdMermaid data flow diagram
references/acceptance-criteria.mdAcceptance criteria checklist
references/cli-installation-guide.mdCLI installation and authentication guide

Known Issues Summary

⚠️ Read references/known-issues.md BEFORE any write operation. All issues below were verified through real API testing.

Critical (will cause immediate failure):

  • PATCH operations (PatchPool/PatchNetwork/PatchNodePool): Must use --cli-jsonInput with Content-Type: application/merge-patch+json header
  • BatchUpdatePoolNodes: --action values are openHaRedundant/closeHaRedundant/createTags/deleteTags, NOT true/false; use --cli-jsonInput
  • CreatePool: Network name must be full name with project ID suffix; pool type is Dedicate (no trailing d)
  • CreateNodePool: count must be ≥ 1; maxCount must be ≤ count
  • ShowNetworkAvailableIp: --network_id must come from status.subnets[0].networkId, not spec.subnets[0].id
  • ListEvents: --resource must be pools (plural), not pool

Known API limitations:

  • BatchResetPoolNodes: rollingConfig.strategy has no valid value for VM pools
  • BatchResizePoolNodes: Only supports hyperinstance scaling, not regular VM nodes
  • BatchMigratePoolNodes: Source and target cluster names must differ
  • DeleteNetwork: Fails if network is in use by a resource pool (delete pool first)

Data field locations:

  • Node tags: metadata.annotations["os.modelarts/tms.tags"] (JSON string, not metadata.labels)
  • Node lock status: metadata.annotations["os.modelarts.node/lock.action"]

See references/known-issues.md for full details, workarounds, and the Pre-Flight Checklist.


Notes

  • All write operations (Create/Update/Delete/Patch/Batch/Accept) require user confirmation before execution
  • Chargeable operations (CreatePool, CreateNodePool, PatchNodePool, BatchResizePoolNodes, CreateOrderId) require BSS pricing inquiry to inform users of costs before execution
  • Region is not hardcoded — uses {region} placeholder
  • project_id is auto-resolved when omitted
  • No hardcoded AK/SK in any file — credentials configured via hcloud configure set by the user outside the agent session
  • Agent must use hcloud configure list for credential presence check only — NEVER read/echo AK/SK values
  • If no valid credentials found, agent must STOP and guide user through the 3-step configuration process (see Prerequisites section)
  • SDK fallback available when CLI encounters bugs
  • Complex nested parameters use --cli-jsonInput with JSON file

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Huawei Cloud Modelarts Resource Pool Management AI skill do?

Manage Huawei Cloud ModelArts dedicated resource pools (专属资源池) and node pools through full lifecycle operations via hcloud CLI. Covers 53 operations across 10 functional domains: resource pool management, pool nodes, node pool management, network resources, tag management, plugin management, jobs/tasks, scheduled events, OS configuration, and resource flavor/event queries. Includes BSS on-demand pricing inquiry before chargeable operations (create/expand) to inform users of costs. All write operations require user confirmation. Triggers include: "资源池", "专属资源池", "resource pool", "创建资源池", "查询...

Why use Huawei Cloud Modelarts Resource Pool Management on TypingMind?

Because you install it once and use it with any model. Huawei Cloud Modelarts Resource Pool Management is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Huawei Cloud Modelarts Resource Pool Management in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/huaweicloud/huaweicloud-skills/tree/master/skills/ai/modelarts/huawei-cloud-modelarts-resource-pool-management. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Huawei Cloud Modelarts Resource Pool Management?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Huawei Cloud Modelarts Resource Pool Management?

As many as you like. As long as a model supports skills, you can use Huawei Cloud Modelarts Resource Pool Management with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Huawei Cloud Modelarts Resource Pool Management AI skill free?

Yes. It is published on GitHub by huaweicloud under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇