alibabacloud-odps-quota-manage

MaxCompute Quota Management Skill. Use for managing MaxCompute/ODPS quota resources including pay-as-you-go quota creation, query, and listing operations. Triggers: "MaxCompute quota", "ODPS quota", "create quota", "list quotas", "quota management", "CU management".

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "alibabacloud-odps-quota-manage" with this command: npx skills add sdk-team/alibabacloud-odps-quota-manage

MaxCompute Quota Management

Manage MaxCompute (ODPS) Quota resources using Alibaba Cloud CLI and SDK. This skill covers pay-as-you-go quota creation, quota query, and quota listing operations.

Limitations and Notes

FeatureCLI SupportSDK SupportNotes
Create Pay-as-you-go Quota✅ Yes✅ YesFully supported
Create Subscription Quota❌ Not Supported❌ Not SupportedTemporarily unavailable
Query Quota (get-quota)✅ Yes✅ Yes⚠️ Deprecated - Use query-quota instead
Query Quota (query-quota)✅ Yes✅ YesRecommended replacement for get-quota
List Quotas✅ Yes✅ YesFully supported (both payasyougo and subscription)
Delete Quota❌ No API❌ No APINot available via API - Must use Console
Modify Quota❌ Not in scope❌ Not in scopeNot covered in this solution

Important:

  • Create Subscription Quota is temporarily NOT supported in this skill. For subscription quota creation, please use the Alibaba Cloud Console.
  • Delete Quota operation is NOT available through CLI or SDK. You must use the Alibaba Cloud Console to delete quotas.
  • query-quota is preferred - get-quota is deprecated but acceptable if it returns success
  • ⚠️ CRITICAL: When checking if quota exists, ALWAYS use list-quotas, NEVER use get-quota
  • 🚨 MANDATORY: Before create-quota, MUST call list-quotas first - NEVER skip this step

Architecture

Alibaba Cloud Account → MaxCompute Service → Quota Resources (CU)
                                           ├── Pay-as-you-go Quota (后付费) ← **Creation Supported**
                                           └── Subscription Quota (预付费) ← Query/List only

Installation

Pre-check: Aliyun CLI >= 3.3.3 required Run aliyun version to verify >= 3.3.3. If not installed or version too low, run curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash to update, or see references/cli-installation-guide.md for installation instructions.

Pre-check: Aliyun CLI plugin setup required [MUST] Install the maxcompute plugin manually: aliyun plugin install maxcompute [MUST] Update the plugin to latest version: aliyun plugin update maxcompute

# Verify CLI version
aliyun version

# Install maxcompute plugin (confirm when prompted)
aliyun plugin install maxcompute

# Update maxcompute plugin to latest version
aliyun plugin update maxcompute

[MUST] CLI User-Agent — Every aliyun CLI command invocation must include: --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-quota-manage

At the start of the Core Workflow (before any CLI invocation): [MUST] Enable AI-Mode — AI-mode is required for Agent Skill execution. Run the following commands before any CLI invocation:

aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-odps-quota-manage"

[MUST] Disable AI-Mode at EVERY exit point — Before delivering the final response for ANY reason, always disable AI-mode first. This applies to ALL exit paths: workflow success, workflow failure, error/exception, user cancellation, session end, or any other scenario where no further CLI commands will be executed. AI-mode is only used for Agent Skill invocation scenarios and MUST NOT remain enabled after the skill stops running.

aliyun configure ai-mode disable

Environment Variables

This skill relies on the aliyun CLI default credential chain. No explicit credential configuration is needed.

  • Run aliyun configure to set up credentials before first use
  • Do NOT explicitly handle or pass credential values in commands

Timeout Configuration:

  • ALIBABA_CLOUD_CONNECT_TIMEOUT: Connection timeout (default: 10s)
  • ALIBABA_CLOUD_READ_TIMEOUT: Read timeout (default: 10s)
  • These defaults are sufficient for quota operations; no explicit configuration required

Parameter Confirmation

IMPORTANT: Parameter Confirmation — Before executing any command or API call, ALL user-customizable parameters (e.g., RegionId, quota nicknames, billing types, etc.) MUST be confirmed with the user. Do NOT assume or use default values without explicit user approval.

Input Validation

ParameterValidation Rules
RegionIdMust be valid Alibaba Cloud region ID (e.g., cn-hangzhou, cn-shanghai)
nicknameMax 64 characters; alphanumeric, hyphens (-), underscores (_); URL-encode if contains Chinese characters
chargeTypeMust be payasyougo (subscription not supported)
commodityCodeMust be odps, odpsplus, odps_intl, or odpsplus_intl
billingTypeMust be payasyougo, subscription, or ALL

Security Note: All user inputs are passed to aliyun CLI which handles parameter sanitization. Do NOT construct commands using string concatenation with raw user input.

Parameter NameRequired/OptionalDescriptionDefault Value
RegionIdRequiredAlibaba Cloud region (e.g., cn-hangzhou, cn-shanghai)-
chargeTypeRequiredBilling type: payasyougo only (subscription not supported)-
commodityCodeRequiredProduct code (see table below)-
billingTypeOptionalFilter for listing: subscription or payasyougo or ALLALL
maxItemOptionalMax items per page for listing100

Commodity Codes (for Pay-as-you-go)

SiteCommodity Code
China (国内站)odps
International (国际站)odps_intl

Authentication

Security: Never expose credentials

  • Don't print AK/SK values
  • Don't ask user to type AK/SK in chat
  • Don't use aliyun configure set with hardcoded values

Check credentials:

aliyun configure list

If no credentials, ask user to run aliyun configure first, then continue.

Core Workflow

🚨 STEP 0 - CONFIRM PARAMETERS WITH USER BEFORE ANY EXECUTION:

Before running any CLI command, you MUST confirm all required parameters with the user:

  • For LIST: Confirm region and billing-type (payasyougo / subscription / ALL)
  • For QUERY: Confirm region and nickname
  • For CREATE: Confirm region, charge-type, and commodity-code

Do NOT assume or use default values. Ask the user explicitly and wait for confirmation before proceeding.

🚨 CRITICAL RULE FOR ALL OPERATIONS:

OperationFirst CommandThen
CREATE quotalist-quotasIf empty → Create; If exists → Stop
QUERY quotaquery-quotaShow results
LIST quotaslist-quotasShow list

⚠️ CREATE without list-quotas first = ERROR


FORBIDDEN COMMANDS - NEVER USE:

  • aliyun quotas commands - WRONG SERVICE (Quota Center), use MaxCompute instead
  • ❌ Any BssOpenApi commands for quota operations - use MaxCompute instead
  • get-quota - DEPRECATED, use query-quota instead

MUST USE (plugin mode, kebab-case):

  • aliyun maxcompute list-quotas - For listing/checking quotas
  • aliyun maxcompute query-quota - For querying quota details
  • aliyun maxcompute create-quota - For creating quota

⚠️ IMPORTANT: Use aliyun maxcompute commands (MaxCompute service), NOT aliyun quotas commands (Quota Center service).

Command Rules:

  • ALL CLI commands use plugin mode (kebab-case): create-quota, list-quotas, query-quota
  • Parameters also use kebab-case: --charge-type, --commodity-code, --billing-type

CREATE Quota (CHECK FIRST - THEN CREATE):

🚨 PREPAID/SUBSCRIPTION QUOTAS ARE FORBIDDEN: This skill ONLY supports pay-as-you-go quota creation.

  • If user wants prepaid/subscription quota → Tell them to use Alibaba Cloud Console
  • Do NOT attempt to create prepaid quotas

🚨 FOR CREATE: FIRST RUN LISTQUOTAS - NEVER SKIP THIS:

STEP 1 - MANDATORY: Call list-quotas FIRST

aliyun maxcompute list-quotas --billing-type payasyougo --region <R>

DO NOT proceed to Step 2 until you get list-quotas result

Use MaxCompute service (aliyun maxcompute), NOT Quota Center (aliyun quotas).

AFTER list-quotas result (STEP 2):

ResultAction
List shows quotaDO NOT CREATE - Inform user "Quota already exists" → Done
List is emptyGo to Step 3 (Create)

STEP 3 - ONLY IF LIST WAS EMPTY:

PRE-CREATE CHECKLIST - ALL MUST BE TRUE:

  • User wants pay-as-you-go (NOT prepaid/subscription)
  • list-quotas was called and returned empty list
  • No existing pay-as-you-go quota in the region
  • User confirmed they want to create
aliyun maxcompute create-quota --charge-type payasyougo --commodity-code odps --region <R> --client-token <UNIQUE_TOKEN>

For International Site:

aliyun maxcompute create-quota --charge-type payasyougo --commodity-code odps_intl --region <R> --client-token <UNIQUE_TOKEN>

CRITICAL:

  • Use plugin mode (kebab-case): create-quota
  • Use MaxCompute service, NOT BssOpenApi
  • client-token: Generate a unique token (e.g., UUID) for idempotency on retries
  • commodityCode values:
    • China site: odps or odpsplus
    • International site: odps_intl or odpsplus_intl
    • NEVER use maxcompute as commodityCode
    • Note: When chargeType=payasyougo is set, commodityCode validation is not strict

⚠️ OUTPUT HANDLING:

  • Do NOT pipe command output to files (e.g., | tee ... or > file.json) — if the target directory does not exist, the command will return a non-zero exit code even when the API call succeeds.
  • Let the CLI print output directly to stdout, then parse the result inline.
  • When saving output files (e.g., existing_quotas.json, actions_log.txt), ALWAYS mkdir -p <directory> first before writing any file to ensure the target directory exists.

FINALLY:

  • Parse result
  • Show user
  • Done

⚠️ NEVER call create-quota before list-quotas. This causes errors.

Note: If quota already exists, DO NOT create. Only create when list-quotas returns empty list.

QUERY Quota (when user provides nickname):

PRIORITY: Use query-quota as the primary API for querying specific quota details by nickname.

CHECKLIST:

  • User provided quota nickname
  • Use query-quota (NOT get-quota)

USE THIS COMMAND:

aliyun maxcompute query-quota --nickname <N> --region <R>

IMPORTANT: If nickname contains Chinese characters, URL-encode it first before passing to the command.

FORBIDDEN: get-quota is deprecated - use query-quota instead.

  • Parse JSON
  • Extract: nickName, name, id, status
  • Show all fields → Done

LIST Quotas:

⚠️ FOR LISTING QUOTAS: ONLY use MaxCompute list-quotas, NOT BssOpenApi

When checking for existing pay-as-you-go quotas (before creation):

aliyun maxcompute list-quotas --billing-type payasyougo --region <R>

MUST include --billing-type payasyougo to filter at API level.

When listing all quotas (user request):

aliyun maxcompute list-quotas --billing-type ALL --region <R>

billingType parameter:

  • Valid values: payasyougo, subscription, ALL

  • If not set, defaults to ALL

  • Use payasyougo when checking for existing pay-as-you-go quotas

  • Parse JSON

  • Extract quotaInfoList array

  • Show list → Done

Response field odpsSpecCode enum values:

odpsSpecCodeDescription
OdpsStandardODPS Pay-as-you-go Resource
OdpsSpotODPS Spot/Off-peak Resource (Pay-as-you-go)
OdpsDevDeveloper Resource Type
OdpsPlusStandardSubscription Resource
OdpsPlusHaHigh Availability Resource
OdpsPlusElasticCUODPS Non-reserved Elastic CU Subscription Resource

Quick Reference

See references/related-apis.md for complete CLI command reference and response format details.

Key Points:

  • Use list-quotas --billing-type payasyougo before creating
  • Use query-quota (not get-quota) for querying
  • Use create-quota (kebab-case plugin mode) for creating
  • Always include --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-quota-manage

Task Completion

Output Files — MUST create before finishing:

  1. mkdir -p outputs ran_scripts — ensure directories exist first
  2. Save quota query/list results to outputs/existing_quotas.json
  3. Save a log of all actions performed to ran_scripts/actions_log.txt

IMPORTANT: Always run mkdir -p for any target directory BEFORE writing files. Never assume directories already exist.

Finish with:

  • Summary of what was done
  • Key results (nickname, region, status)
  • Confirm output files were written (outputs/existing_quotas.json, ran_scripts/actions_log.txt)
  • "✅ Complete"

Error Handling

Error CodeWhat to Do
QuotaAlreadyExistsQuota exists → Query it and show details → Task complete
QuotaNotFoundQuota doesn't exist → Inform user
InvalidParameterWrong parameter format → Check with user
ForbiddenNo permission → Direct to Console
INTERNAL_ERRORRetry once or contact support

Cleanup

No Delete API - Must use Console to delete quotas

API Reference

See references/related-apis.md for complete API reference, CLI commands, and response formats.

Best Practices

  1. Always confirm region with user before any operation
  2. For creation: First list to check if quota exists (one per region limit)
  3. If quota exists: Query it for user instead of trying to create
  4. Use query-quota (NOT get-quota) for quota details
  5. For subscription quotas: Direct user to Alibaba Cloud Console

Reference Links

ReferenceDescription
references/related-apis.mdComplete CLI commands and API reference
references/ram-policies.mdRequired RAM permissions
references/verification-method.mdSuccess verification steps
references/acceptance-criteria.mdTesting acceptance criteria
references/cli-installation-guide.mdCLI installation guide

Related Documentation

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

openEuler RPM Packaging

🚨 openEuler 专项 RPM 打包规范。任何涉及 openEuler 打包的场景,都必须读取此技能。**openEuler 规则与通用 RPM 不同**:5 包拆分规则、专用 changelog 格式(Type/ID/SUG/DESC)、openEuler 专用宏、检视原则。不适用于其他发行版。

Registry SourceRecently Updated
General

Tianyi Cloud Game

天翼云游戏搜索与启动。当用户想玩云游戏、搜索游戏、或提到天翼云游戏时使用。支持自然语言匹配游戏并快速启动。

Registry SourceRecently Updated
General

Ugc Ad Script Maker

Creates timed, authentic UGC-style ad scripts with strong hooks, natural product proof, and varied CTAs for TikTok, Reels, Shorts, FB, and Snapchat.

Registry SourceRecently Updated
General

Campaign Angle Spark

Generates and scores unique, relevant campaign angles from product briefs, recommending targeted marketing hooks and test priorities without generic templates.

Registry SourceRecently Updated