Lighthouse Cloud Server Operations
Manage Tencent Cloud Lighthouse instances via tccli CLI.
Your knowledge of tccli parameters and API limits may be outdated.
Always use tccli <service> <action> --help to verify parameters before execution.
Prerequisites
tccli --version
If not installed: pip install tccli
Credential Setup
| Method | Security | Expiry | Recommendation |
|---|---|---|---|
| OAuth browser login | High | Temporary, expires in 2 hours | Recommended |
| AK/SK key pair | Low | Permanent unless revoked | Special cases only |
When the user has not chosen a method, default to OAuth.
OAuth Login (Recommended)
Use script/tccli-oauth-helper.sh for non-interactive OAuth login:
# Step 1: Check credential status
bash script/tccli-oauth-helper.sh --status
# Step 2: Generate authorization URL (if credentials are missing or expired)
bash script/tccli-oauth-helper.sh --get-url
# Step 3: User opens the URL in browser, completes login, and gets a base64 code
# Step 4: Complete login with the code
bash script/tccli-oauth-helper.sh --code "base64_code_from_browser"
# Step 5: Verify
tccli cvm DescribeRegions
Workflow:
- Run
--statusto check existing credentials - If expired/missing, run
--get-url— show the URL to user - User opens URL → logs in → copies the base64 code from browser
- Run
--codewith the base64 code to complete login - Verify with
tccli cvm DescribeRegions
Notes:
- Credentials are temporary (expires in ~2 hours)
- State is valid for 10 minutes after
--get-url - Do NOT use
tccli sts GetCallerIdentityto verify — it does not support OAuth credentials
AK/SK Setup
Only if the user explicitly provides SecretId and SecretKey:
tccli configure set secretId <SecretId>
tccli configure set secretKey <SecretKey>
tccli configure set region ap-guangzhou
Logout
tccli auth logout
Quick Reference
| Task | Command |
|---|---|
| List instances | tccli lighthouse DescribeInstances --region <region> |
| Instance details | tccli lighthouse DescribeInstances --region <region> --InstanceIds '["lhins-xxx"]' |
| Firewall rules | tccli lighthouse DescribeFirewallRules --region <region> --InstanceId lhins-xxx |
| Monitoring data | tccli monitor GetMonitorData --Namespace QCE/LIGHT_HOUSE ... |
| Run remote command | tccli tat RunCommand --region <region> --InstanceIds '["lhins-xxx"]' --Content "..." |
| Snapshots | tccli lighthouse DescribeSnapshots --region <region> |
| Traffic packages | tccli lighthouse DescribeInstancesTrafficPackages --region <region> --InstanceIds '["lhins-xxx"]' |
| Available regions | tccli cvm DescribeRegions |
| Help for any action | tccli lighthouse <Action> --help |
| Get current instance ID | bash script/whoami.sh or bash script/whoami.sh --id |
Scenario Routing
Read the corresponding reference file before executing:
User wants to...
├─ Query / start / stop / reboot instances -> references/instance-management.md
├─ Reset password / view blueprints -> references/instance-management.md
├─ Deploy applications / verify deployment -> references/application-deployment.md
├─ View CPU / memory / bandwidth metrics -> references/monitoring-alerting.md
├─ Set up alarm policies -> references/monitoring-alerting.md
├─ Manage firewall rules -> references/firewall-management.md
├─ Execute commands on instance -> references/remote-command-tat.md
├─ Create / restore snapshots -> references/snapshot-blueprint.md
├─ Create custom images -> references/snapshot-blueprint.md
├─ Check traffic usage -> references/traffic-package.md
├─ Identify current instance (ID / IP) -> bash script/whoami.sh [--id | --ip]
└─ Other operations -> tccli lighthouse --help
Operation Safety
| Risk | Operations | Confirmation |
|---|---|---|
| High | Delete instance, apply snapshot, delete snapshot/blueprint | Double confirm, state irreversibility |
| Medium | Stop/reboot instance, modify firewall, run commands | Single confirm |
| Low | Query, list, describe, help | Execute directly |
Rules:
- Region is required for all operations except
DescribeRegions - Query before modify — always
Describefirst, never blindCreate/Delete - Use real IDs — get InstanceId from
DescribeInstances, never use placeholders - Verify parameters — run
--helpwhen unsure about parameter names or formats - Lighthouse and CVM are separate products — do NOT mix their APIs
- Create means new — when user asks to "create" / "deploy" / "set up" something (e.g., "create a server", "deploy an app"), create a NEW instance by default. Do NOT use existing instances unless the user explicitly specifies an existing instance ID.
Common Regions
| Code | Location |
|---|---|
| ap-beijing | Beijing |
| ap-shanghai | Shanghai |
| ap-guangzhou | Guangzhou |
| ap-chengdu | Chengdu |
| ap-chongqing | Chongqing |
| ap-nanjing | Nanjing |
| ap-hongkong | Hong Kong |
Run tccli cvm DescribeRegions for the full list.
Channel Output Compatibility
Many messaging channels (WeChat, 企业微信, Slack, Teams, Telegram, etc.) apply Markdown rendering or Markdown-to-plain-text conversion before displaying messages. Common transformations that silently corrupt output:
- Paired underscores stripped:
_xxx_→xxx(italic markers) - Paired asterisks stripped:
*xxx*→xxx(bold/italic markers) - Backslash escapes consumed or displayed literally
- URLs with special characters mangled or truncated
This corrupts:
- URLs containing underscores (e.g.,
redirect_url,app_idin OAuth links) - CLI output with underscored identifiers (e.g.,
instance_name,secret_id) - Script output containing underscored fields or special characters
Rules for all channel output:
- URLs: Replace
_(underscore) with%5Fin any URL shown to the user. For example, the OAuth authorization URL parameters likeredirect_url,app_idmust use%5Finstead of_. - CLI / script output: Always wrap output in code blocks (triple backticks) to prevent Markdown interpretation. Prefer code blocks for any multi-line output containing underscores, asterisks, or other Markdown-sensitive characters.
- General text: Avoid bare underscores and asterisks in plain text. Use backtick-wrapped inline code for any identifier containing these characters (e.g.,
instance_name,secret_id). - Links: When providing clickable links, ensure the full URL is inside a code block or use URL-encoding for special characters. Do not rely on Markdown link syntax
[text](url)— the URL may be altered by the channel.
Error Handling
- Check credentials:
tccli cvm DescribeRegions - Verify the region parameter
- Run
tccli lighthouse <Action> --helpto confirm parameter format - Check instance status:
tccli lighthouse DescribeInstances --region <region>