huaweicloud-devkit 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/.agents/plugins/marketplace.json +20 -20
  2. package/LICENSE +201 -201
  3. package/README.md +169 -169
  4. package/bin/setup.cjs +7 -7
  5. package/integrations/opencode/commands/huaweicloud-doctor.md +14 -14
  6. package/integrations/opencode/opencode.json +14 -14
  7. package/integrations/opencode/skills/huaweicloud-core/SKILL.md +30 -30
  8. package/package.json +43 -43
  9. package/plugins/huaweicloud-core/.claude-plugin/plugin.json +43 -43
  10. package/plugins/huaweicloud-core/.codex-plugin/plugin.json +42 -42
  11. package/plugins/huaweicloud-core/.cursor-plugin/plugin.json +43 -43
  12. package/plugins/huaweicloud-core/.mcp.json +13 -13
  13. package/plugins/huaweicloud-core/hooks/hooks.json +26 -26
  14. package/plugins/huaweicloud-core/hooks/huaweicloud-safety.py +88 -88
  15. package/plugins/huaweicloud-core/safety/policy.json +85 -85
  16. package/plugins/huaweicloud-core/skills/huawei-apig/SKILL.md +144 -144
  17. package/plugins/huaweicloud-core/skills/huawei-billing/SKILL.md +48 -48
  18. package/plugins/huaweicloud-core/skills/huawei-cbr/SKILL.md +50 -50
  19. package/plugins/huaweicloud-core/skills/huawei-cce/SKILL.md +101 -101
  20. package/plugins/huaweicloud-core/skills/huawei-cloud-eye/SKILL.md +73 -73
  21. package/plugins/huaweicloud-core/skills/huawei-cts/SKILL.md +55 -55
  22. package/plugins/huaweicloud-core/skills/huawei-dds-dcs/SKILL.md +70 -70
  23. package/plugins/huaweicloud-core/skills/huawei-dew/SKILL.md +97 -97
  24. package/plugins/huaweicloud-core/skills/huawei-dew/references/csms-usage.md +29 -29
  25. package/plugins/huaweicloud-core/skills/huawei-dew/references/kms-usage.md +23 -23
  26. package/plugins/huaweicloud-core/skills/huawei-ecs/SKILL.md +131 -131
  27. package/plugins/huaweicloud-core/skills/huawei-ecs/references/create-instance.md +96 -96
  28. package/plugins/huaweicloud-core/skills/huawei-ecs/references/evs.md +31 -31
  29. package/plugins/huaweicloud-core/skills/huawei-ecs/references/flavors.md +28 -28
  30. package/plugins/huaweicloud-core/skills/huawei-ecs/references/troubleshooting.md +52 -52
  31. package/plugins/huaweicloud-core/skills/huawei-functiongraph/SKILL.md +132 -132
  32. package/plugins/huaweicloud-core/skills/huawei-functiongraph/references/apig-event-format.md +58 -58
  33. package/plugins/huaweicloud-core/skills/huawei-functiongraph/references/create-function.md +71 -71
  34. package/plugins/huaweicloud-core/skills/huawei-functiongraph/references/deploy-workflow.md +119 -119
  35. package/plugins/huaweicloud-core/skills/huawei-functiongraph/references/triggers.md +142 -142
  36. package/plugins/huaweicloud-core/skills/huawei-gaussdb/SKILL.md +56 -56
  37. package/plugins/huaweicloud-core/skills/huawei-getting-started/SKILL.md +65 -65
  38. package/plugins/huaweicloud-core/skills/huawei-iam/SKILL.md +111 -111
  39. package/plugins/huaweicloud-core/skills/huawei-modelarts/SKILL.md +65 -65
  40. package/plugins/huaweicloud-core/skills/huawei-obs/SKILL.md +118 -118
  41. package/plugins/huaweicloud-core/skills/huawei-obs/references/bucket-lifecycle.md +26 -26
  42. package/plugins/huaweicloud-core/skills/huawei-obs/references/static-website.md +56 -56
  43. package/plugins/huaweicloud-core/skills/huawei-rds/SKILL.md +181 -181
  44. package/plugins/huaweicloud-core/skills/huawei-smn-dms/SKILL.md +69 -69
  45. package/plugins/huaweicloud-core/skills/huawei-vpc/SKILL.md +78 -78
  46. package/plugins/huaweicloud-core/skills/huawei-vpc/references/network.md +76 -76
  47. package/plugins/huaweicloud-core/skills/huawei-vpc/references/security-group.md +59 -59
  48. package/plugins/huaweicloud-core/skills/huawei-waf-aad/SKILL.md +63 -63
  49. package/plugins/huaweicloud-core/skills/huaweicloud-api-and-sdk/agents/openai.yaml +4 -4
  50. package/plugins/huaweicloud-core/skills/huaweicloud-capability-discovery/SKILL.md +47 -47
  51. package/plugins/huaweicloud-core/skills/huaweicloud-capability-discovery/agents/openai.yaml +4 -4
  52. package/plugins/huaweicloud-core/skills/huaweicloud-cli-and-auth/SKILL.md +127 -127
  53. package/plugins/huaweicloud-core/skills/huaweicloud-cli-and-auth/agents/openai.yaml +4 -4
  54. package/plugins/huaweicloud-core/skills/huaweicloud-core/SKILL.md +93 -93
  55. package/plugins/huaweicloud-core/skills/huaweicloud-core/agents/openai.yaml +4 -4
  56. package/plugins/huaweicloud-core/skills/huaweicloud-core/references/report-issue.md +19 -19
  57. package/plugins/huaweicloud-core/skills/huaweicloud-core/references/select.md +27 -27
  58. package/plugins/huaweicloud-core/skills/huaweicloud-safety/SKILL.md +46 -46
  59. package/plugins/huaweicloud-core/skills/huaweicloud-safety/agents/openai.yaml +4 -4
  60. package/plugins/huaweicloud-core/skills/huaweicloud-troubleshooting/SKILL.md +83 -83
  61. package/plugins/huaweicloud-core/skills/huaweicloud-troubleshooting/agents/openai.yaml +4 -4
  62. package/plugins/huaweicloud-core/src/hcloud-cli.mjs +265 -265
  63. package/plugins/huaweicloud-core/src/mcp-server.mjs +93 -93
  64. package/plugins/huaweicloud-core/src/safety-policy.mjs +289 -289
  65. package/plugins/huaweicloud-core/src/setup-cli.mjs +874 -869
  66. package/plugins/huaweicloud-core/src/tools.mjs +677 -677
@@ -1,181 +1,181 @@
1
- ---
2
- name: huawei-rds
3
- description: "Use when creating, configuring, managing, or troubleshooting RDS instances on Huawei Cloud. Covers MySQL, PostgreSQL, SQL Server. Triggers: RDS, MySQL, PostgreSQL, database instance, backup, read replica. NOT for: GaussDB (use huawei-gaussdb), DDS (use huawei-dds-dcs)."
4
- version: 1
5
- ---
6
-
7
- # Huawei Cloud RDS
8
-
9
- **STOP - Do not answer from general knowledge.** Follow the procedure below.
10
-
11
- Always run `hcloud RDS <Operation> --help` before constructing commands to discover exact parameter names and requirements.
12
-
13
- ## Prerequisites
14
-
15
- Before creating an RDS instance, you MUST have:
16
- - A VPC and subnet (see `huawei-vpc`)
17
- - A security group with database port open (MySQL=3306, PostgreSQL=5432, SQL Server=1433)
18
- - Run `hcloud RDS ListFlavors --database_name=<engine> --cli-region=<r>` to get spec codes
19
-
20
- ## KooCLI Command Format
21
-
22
- ```
23
- hcloud RDS <Operation> --cli-region=<region> [--key=value ...]
24
- ```
25
-
26
- | Rule | Detail |
27
- |------|--------|
28
- | Service name | `RDS` (uppercase) |
29
- | Operation | PascalCase: `ListInstances`, `CreateManualBackup` |
30
- | Params | `--key=value` format. JSON params: `--key='{"k":"v"}'` |
31
- | Array params | 1-based: `--instance_ids.1=xxx` |
32
- | Password param | Conflicts with KooCLI system param; pipe `echo \|` to bypass |
33
-
34
- ## Critical Warnings
35
-
36
- | Trap | Why |
37
- |------|-----|
38
- | Engine version immutable | Cannot change MySQL to PostgreSQL in-place |
39
- | Automated backups use OBS | Backup storage incurs separate charges. Set retention period explicitly |
40
- | Storage auto-scaling off by default | Enable before storage runs out or instance goes read-only |
41
- | `--password` conflicts with KooCLI | Non-interactive: `printf "b\n" \| hcloud RDS CreateInstance ...` to select API param. Or use `--cli-jsonInput` |
42
- | Volume type must match flavor | General→CLOUDSSD; Dedicated→CLOUDSSD\|ESSD; ARM→ULTRAHIGH |
43
- | Flavor not in region | Always `ListFlavors` first. Spec codes vary by region |
44
- | Restore creates new instance | No in-place restore. Verify target flavor before restoring |
45
-
46
- ## Instance Management
47
-
48
- ### List
49
- ```bash
50
- hcloud RDS ListInstances --cli-region=<r>
51
- hcloud RDS ListFlavors --database_name=<engine> --cli-region=<r>
52
- hcloud RDS ListDatastores --database_name=<engine> --cli-region=<r>
53
- hcloud RDS ListEngineFlavors --instance_id=<id> --cli-region=<r>
54
- ```
55
-
56
- ### Create Instance
57
- ```bash
58
- hcloud RDS CreateInstance --cli-region=<r> \
59
- --name=<name> \
60
- --datastore.type=<engine> \
61
- --datastore.version=<version> \
62
- --flavor_ref=<flavor-id> \
63
- --volume.type=<vol-type> \
64
- --volume.size=<size> \
65
- --vpc_id=<vpc-id> \
66
- --subnet_id=<subnet-id> \
67
- --security_group_id=<sg-id> \
68
- --availability_zone=<az> \
69
- --charge_info.charge_mode=<mode> \
70
- --password=<pw>
71
- ```
72
-
73
- > `--password` conflicts with a KooCLI system param. Pipe `echo "b\n" |` before the command or use `--cli-jsonInput` (see Critical Warnings).
74
-
75
- | Param | Required | Note |
76
- |-------|----------|------|
77
- | `--name` | Yes | Instance name |
78
- | `--datastore` | Yes | `--datastore.type=<engine> --datastore.version=<version>` |
79
- | `--flavor_ref` | Yes | From `ListFlavors` output |
80
- | `--volume` | Yes | Type matching: General→CLOUDSSD, Dedicated→CLOUDSSD\|ESSD, ARM→ULTRAHIGH |
81
- | `--vpc_id` | Yes | Must exist in target region |
82
- | `--subnet_id` | Yes | Must exist in target region |
83
- | `--security_group_id` | Yes | Must have DB port open |
84
- | `--availability_zone` | Yes | Use AZ code from `NovaListAvailabilityZones` |
85
- | `--charge_info` | No | `--charge_info.charge_mode=<mode>`. Default postPaid (pay-per-use). Run `--help` for options |
86
- | `--password` | Yes | 8-32 chars, uppercase+lowercase+digit+special |
87
- | `--port` | No | Default 3306 (MySQL) / 5432 (PG) / 1433 (SQL Server) |
88
-
89
- ### Modify / Resize
90
- ```bash
91
- hcloud RDS StartInstanceRestartAction --instance_id=<id> --cli-region=<r>
92
- hcloud RDS StartResizeFlavorAction --instance_id=<id> --flavor_ref=<new-id> --cli-region=<r>
93
- hcloud RDS StartInstanceEnlargeVolumeAction --instance_id=<id> --volume_size=<gb> --cli-region=<r>
94
- hcloud RDS StartFailover --instance_id=<id> --cli-region=<r>
95
- hcloud RDS UpdateInstanceAlias --instance_id=<id> --alias=<new-name> --cli-region=<r>
96
- ```
97
-
98
- ### Delete
99
- ```bash
100
- hcloud RDS DeleteInstance --instance_id=<id> --cli-region=<r>
101
- ```
102
-
103
- ## Backup & Recovery
104
-
105
- ```bash
106
- hcloud RDS ShowBackupPolicy --instance_id=<id> --cli-region=<r>
107
- hcloud RDS SetBackupPolicy --instance_id=<id> --backup_policy='{"keep_days":7,"period":"1,2,3,4,5,6,7","start_time":"00:00-01:00"}' --cli-region=<r>
108
- hcloud RDS ListBackups --instance_id=<id> --cli-region=<r>
109
- hcloud RDS CreateManualBackup --instance_id=<id> --name=<name> --cli-region=<r>
110
- hcloud RDS ShowRecoveryTimeWindow --instance_id=<id> --cli-region=<r>
111
- hcloud RDS CreateRestoreInstance --instance_id=<id> --backup_id=<id> --name=<new-name> --flavor_ref=<id> --cli-region=<r>
112
- ```
113
-
114
- > Manual backup deletion is irreversible. Verify backup ID before deleting.
115
-
116
- ## Read Replicas
117
-
118
- ```bash
119
- hcloud RDS CreateReadReplica --replica_of_id=<primary-id> --name=<name> --flavor_ref=<id> --volume.type=<vol-type> --volume.size=<size> --cli-region=<r>
120
- ```
121
-
122
- ## Fault Diagnosis
123
-
124
- ```bash
125
- hcloud RDS ListErrorLogs --instance_id=<id> --start_date=2024-01-01T00:00:00Z --end_date=2024-01-31T23:59:59Z --cli-region=<r>
126
- hcloud RDS ListSlowLogs --instance_id=<id> --start_date=... --end_date=... --cli-region=<r>
127
- hcloud RDS ShowReplicationStatus --instance_id=<id> --cli-region=<r>
128
- hcloud RDS ListInstanceDiagnosis --cli-region=<r>
129
- ```
130
-
131
- ## Connecting
132
-
133
- ```bash
134
- hcloud RDS ListInstances --cli-region=<r> # get private_ips + port
135
- mysql -h <private_ip> -P 3306 -u root -p --ssl-mode=REQUIRED
136
- psql -h <private_ip> -p 5432 -U root -d postgres
137
- ```
138
-
139
- > hcloud does NOT support SQL execution. Use a database client.
140
- > For public access, bind an EIP (see `huawei-vpc`).
141
-
142
- ## Mutating Operations (Require Approval)
143
-
144
- | Operation | Effect |
145
- |-----------|--------|
146
- | `CreateInstance` | New instance (billing starts) |
147
- | `DeleteInstance` | Irreversible data loss |
148
- | `StartResizeFlavorAction` | Brief interruption during switchover |
149
- | `StartInstanceEnlargeVolumeAction` | Online, but irreversible |
150
- | `StartFailover` | Primary-standby switchover |
151
- | `CreateRestoreInstance` | Creates new instance from backup |
152
- | `CreateManualBackup` | Incurs OBS storage charges |
153
- | `DeleteManualBackup` | Irreversible |
154
-
155
- ## Troubleshooting
156
-
157
- | Error | Root Cause -> Fix |
158
- |-------|-------------------|
159
- | Connection refused | SG missing DB port. Add ingress rule |
160
- | Storage full | Manual resize or enable auto-scaling |
161
- | DBS.280241 Invalid storage type | Volume type doesn't match flavor group |
162
- | DBS.280448 Sold out | Try different volume type or AZ |
163
- | Replication lag | Check `ShowReplicationStatus`. Consider read replica |
164
- | Instance stuck BUILDING | Check task status: `hcloud RDS ListTasks` |
165
- | SYS.0403 | SCP policy denies this operation (e.g. security group rules, EIP binding). See `huawei-vpc` troubleshooting |
166
- | EIP.7905 | EIP quota exceeded — cannot create new EIP for public access. See `huawei-vpc` troubleshooting |
167
-
168
- ## Security
169
-
170
- - MUST use security groups, not open 0.0.0.0/0
171
- - MUST enable SSL for connections
172
- - MUST store passwords in DEW/CSMS (see `huawei-dew`)
173
- - SHOULD enable audit logs for compliance
174
- - SHOULD set backup policy with >= 7 day retention
175
-
176
- ## Cross-Skill References
177
-
178
- - VPC/Subnet/Security Group: `huawei-vpc`
179
- - DEW secrets: `huawei-dew`
180
- - EIP for public access: `huawei-vpc`
181
- - OBS for backup storage: `huawei-obs`
1
+ ---
2
+ name: huawei-rds
3
+ description: "Use when creating, configuring, managing, or troubleshooting RDS instances on Huawei Cloud. Covers MySQL, PostgreSQL, SQL Server. Triggers: RDS, MySQL, PostgreSQL, database instance, backup, read replica. NOT for: GaussDB (use huawei-gaussdb), DDS (use huawei-dds-dcs)."
4
+ version: 1
5
+ ---
6
+
7
+ # Huawei Cloud RDS
8
+
9
+ **STOP - Do not answer from general knowledge.** Follow the procedure below.
10
+
11
+ Always run `hcloud RDS <Operation> --help` before constructing commands to discover exact parameter names and requirements.
12
+
13
+ ## Prerequisites
14
+
15
+ Before creating an RDS instance, you MUST have:
16
+ - A VPC and subnet (see `huawei-vpc`)
17
+ - A security group with database port open (MySQL=3306, PostgreSQL=5432, SQL Server=1433)
18
+ - Run `hcloud RDS ListFlavors --database_name=<engine> --cli-region=<r>` to get spec codes
19
+
20
+ ## KooCLI Command Format
21
+
22
+ ```
23
+ hcloud RDS <Operation> --cli-region=<region> [--key=value ...]
24
+ ```
25
+
26
+ | Rule | Detail |
27
+ |------|--------|
28
+ | Service name | `RDS` (uppercase) |
29
+ | Operation | PascalCase: `ListInstances`, `CreateManualBackup` |
30
+ | Params | `--key=value` format. JSON params: `--key='{"k":"v"}'` |
31
+ | Array params | 1-based: `--instance_ids.1=xxx` |
32
+ | Password param | Conflicts with KooCLI system param; pipe `echo \|` to bypass |
33
+
34
+ ## Critical Warnings
35
+
36
+ | Trap | Why |
37
+ |------|-----|
38
+ | Engine version immutable | Cannot change MySQL to PostgreSQL in-place |
39
+ | Automated backups use OBS | Backup storage incurs separate charges. Set retention period explicitly |
40
+ | Storage auto-scaling off by default | Enable before storage runs out or instance goes read-only |
41
+ | `--password` conflicts with KooCLI | Non-interactive: `printf "b\n" \| hcloud RDS CreateInstance ...` to select API param. Or use `--cli-jsonInput` |
42
+ | Volume type must match flavor | General→CLOUDSSD; Dedicated→CLOUDSSD\|ESSD; ARM→ULTRAHIGH |
43
+ | Flavor not in region | Always `ListFlavors` first. Spec codes vary by region |
44
+ | Restore creates new instance | No in-place restore. Verify target flavor before restoring |
45
+
46
+ ## Instance Management
47
+
48
+ ### List
49
+ ```bash
50
+ hcloud RDS ListInstances --cli-region=<r>
51
+ hcloud RDS ListFlavors --database_name=<engine> --cli-region=<r>
52
+ hcloud RDS ListDatastores --database_name=<engine> --cli-region=<r>
53
+ hcloud RDS ListEngineFlavors --instance_id=<id> --cli-region=<r>
54
+ ```
55
+
56
+ ### Create Instance
57
+ ```bash
58
+ hcloud RDS CreateInstance --cli-region=<r> \
59
+ --name=<name> \
60
+ --datastore.type=<engine> \
61
+ --datastore.version=<version> \
62
+ --flavor_ref=<flavor-id> \
63
+ --volume.type=<vol-type> \
64
+ --volume.size=<size> \
65
+ --vpc_id=<vpc-id> \
66
+ --subnet_id=<subnet-id> \
67
+ --security_group_id=<sg-id> \
68
+ --availability_zone=<az> \
69
+ --charge_info.charge_mode=<mode> \
70
+ --password=<pw>
71
+ ```
72
+
73
+ > `--password` conflicts with a KooCLI system param. Pipe `echo "b\n" |` before the command or use `--cli-jsonInput` (see Critical Warnings).
74
+
75
+ | Param | Required | Note |
76
+ |-------|----------|------|
77
+ | `--name` | Yes | Instance name |
78
+ | `--datastore` | Yes | `--datastore.type=<engine> --datastore.version=<version>` |
79
+ | `--flavor_ref` | Yes | From `ListFlavors` output |
80
+ | `--volume` | Yes | Type matching: General→CLOUDSSD, Dedicated→CLOUDSSD\|ESSD, ARM→ULTRAHIGH |
81
+ | `--vpc_id` | Yes | Must exist in target region |
82
+ | `--subnet_id` | Yes | Must exist in target region |
83
+ | `--security_group_id` | Yes | Must have DB port open |
84
+ | `--availability_zone` | Yes | Use AZ code from `NovaListAvailabilityZones` |
85
+ | `--charge_info` | No | `--charge_info.charge_mode=<mode>`. Default postPaid (pay-per-use). Run `--help` for options |
86
+ | `--password` | Yes | 8-32 chars, uppercase+lowercase+digit+special |
87
+ | `--port` | No | Default 3306 (MySQL) / 5432 (PG) / 1433 (SQL Server) |
88
+
89
+ ### Modify / Resize
90
+ ```bash
91
+ hcloud RDS StartInstanceRestartAction --instance_id=<id> --cli-region=<r>
92
+ hcloud RDS StartResizeFlavorAction --instance_id=<id> --flavor_ref=<new-id> --cli-region=<r>
93
+ hcloud RDS StartInstanceEnlargeVolumeAction --instance_id=<id> --volume_size=<gb> --cli-region=<r>
94
+ hcloud RDS StartFailover --instance_id=<id> --cli-region=<r>
95
+ hcloud RDS UpdateInstanceAlias --instance_id=<id> --alias=<new-name> --cli-region=<r>
96
+ ```
97
+
98
+ ### Delete
99
+ ```bash
100
+ hcloud RDS DeleteInstance --instance_id=<id> --cli-region=<r>
101
+ ```
102
+
103
+ ## Backup & Recovery
104
+
105
+ ```bash
106
+ hcloud RDS ShowBackupPolicy --instance_id=<id> --cli-region=<r>
107
+ hcloud RDS SetBackupPolicy --instance_id=<id> --backup_policy='{"keep_days":7,"period":"1,2,3,4,5,6,7","start_time":"00:00-01:00"}' --cli-region=<r>
108
+ hcloud RDS ListBackups --instance_id=<id> --cli-region=<r>
109
+ hcloud RDS CreateManualBackup --instance_id=<id> --name=<name> --cli-region=<r>
110
+ hcloud RDS ShowRecoveryTimeWindow --instance_id=<id> --cli-region=<r>
111
+ hcloud RDS CreateRestoreInstance --instance_id=<id> --backup_id=<id> --name=<new-name> --flavor_ref=<id> --cli-region=<r>
112
+ ```
113
+
114
+ > Manual backup deletion is irreversible. Verify backup ID before deleting.
115
+
116
+ ## Read Replicas
117
+
118
+ ```bash
119
+ hcloud RDS CreateReadReplica --replica_of_id=<primary-id> --name=<name> --flavor_ref=<id> --volume.type=<vol-type> --volume.size=<size> --cli-region=<r>
120
+ ```
121
+
122
+ ## Fault Diagnosis
123
+
124
+ ```bash
125
+ hcloud RDS ListErrorLogs --instance_id=<id> --start_date=2024-01-01T00:00:00Z --end_date=2024-01-31T23:59:59Z --cli-region=<r>
126
+ hcloud RDS ListSlowLogs --instance_id=<id> --start_date=... --end_date=... --cli-region=<r>
127
+ hcloud RDS ShowReplicationStatus --instance_id=<id> --cli-region=<r>
128
+ hcloud RDS ListInstanceDiagnosis --cli-region=<r>
129
+ ```
130
+
131
+ ## Connecting
132
+
133
+ ```bash
134
+ hcloud RDS ListInstances --cli-region=<r> # get private_ips + port
135
+ mysql -h <private_ip> -P 3306 -u root -p --ssl-mode=REQUIRED
136
+ psql -h <private_ip> -p 5432 -U root -d postgres
137
+ ```
138
+
139
+ > hcloud does NOT support SQL execution. Use a database client.
140
+ > For public access, bind an EIP (see `huawei-vpc`).
141
+
142
+ ## Mutating Operations (Require Approval)
143
+
144
+ | Operation | Effect |
145
+ |-----------|--------|
146
+ | `CreateInstance` | New instance (billing starts) |
147
+ | `DeleteInstance` | Irreversible data loss |
148
+ | `StartResizeFlavorAction` | Brief interruption during switchover |
149
+ | `StartInstanceEnlargeVolumeAction` | Online, but irreversible |
150
+ | `StartFailover` | Primary-standby switchover |
151
+ | `CreateRestoreInstance` | Creates new instance from backup |
152
+ | `CreateManualBackup` | Incurs OBS storage charges |
153
+ | `DeleteManualBackup` | Irreversible |
154
+
155
+ ## Troubleshooting
156
+
157
+ | Error | Root Cause -> Fix |
158
+ |-------|-------------------|
159
+ | Connection refused | SG missing DB port. Add ingress rule |
160
+ | Storage full | Manual resize or enable auto-scaling |
161
+ | DBS.280241 Invalid storage type | Volume type doesn't match flavor group |
162
+ | DBS.280448 Sold out | Try different volume type or AZ |
163
+ | Replication lag | Check `ShowReplicationStatus`. Consider read replica |
164
+ | Instance stuck BUILDING | Check task status: `hcloud RDS ListTasks` |
165
+ | SYS.0403 | SCP policy denies this operation (e.g. security group rules, EIP binding). See `huawei-vpc` troubleshooting |
166
+ | EIP.7905 | EIP quota exceeded — cannot create new EIP for public access. See `huawei-vpc` troubleshooting |
167
+
168
+ ## Security
169
+
170
+ - MUST use security groups, not open 0.0.0.0/0
171
+ - MUST enable SSL for connections
172
+ - MUST store passwords in DEW/CSMS (see `huawei-dew`)
173
+ - SHOULD enable audit logs for compliance
174
+ - SHOULD set backup policy with >= 7 day retention
175
+
176
+ ## Cross-Skill References
177
+
178
+ - VPC/Subnet/Security Group: `huawei-vpc`
179
+ - DEW secrets: `huawei-dew`
180
+ - EIP for public access: `huawei-vpc`
181
+ - OBS for backup storage: `huawei-obs`
@@ -1,69 +1,69 @@
1
- ---
2
- name: huawei-smn-dms
3
- description: "Use when creating or managing SMN topics/subscriptions/messages or DMS Kafka/RabbitMQ/RocketMQ queues on Huawei Cloud. Triggers: SMN, DMS, notification, message queue, Kafka, RabbitMQ, RocketMQ, topic, subscription. NOT for: APIG (use huawei-apig), FunctionGraph triggers (use huawei-functiongraph)."
4
- version: 1
5
- ---
6
-
7
- # Huawei Cloud SMN / DMS
8
-
9
- **STOP - Do not answer from general knowledge.** Follow the procedure below.
10
-
11
- Always run `hcloud SMN <Operation> --help` or `hcloud DMS <Operation> --help` before constructing commands.
12
-
13
- ## Overview
14
-
15
- Domain expertise for SMN (Simple Message Notification) and DMS (Distributed Message Service). SMN is used for notifications and alerts. DMS covers Kafka, RabbitMQ, and RocketMQ instances.
16
-
17
- ## SMN
18
-
19
- ## Critical Warnings
20
-
21
- | Trap | Why |
22
- |------|-----|
23
- | Subscription confirmation | HTTP/HTTPS subscriptions need endpoint ping-back confirmation |
24
- | Email subscription delay | Email subscriptions require user to click confirmation link |
25
- | SMS charge per message | Template SMS incurs per-delivery charges |
26
-
27
- ### Common Workflows
28
-
29
- | Task | Operation |
30
- |------|-----------|
31
- | List topics | `ListTopics --cli-region=<r> --project_id=<p>` |
32
- | Create topic | `CreateTopic --cli-region=<r> --project_id=<p>` |
33
- | Add subscription | `AddSubscription --cli-region=<r> --project_id=<p>` |
34
- | List subscriptions | `ListSubscriptions --cli-region=<r> --project_id=<p>` |
35
- | Create message template | `CreateMessageTemplate --cli-region=<r> --project_id=<p>` |
36
- | Publish message | `PublishMessage --cli-region=<r> --project_id=<p>` |
37
- | Delete topic | `DeleteTopic --cli-region=<r> --project_id=<p>` |
38
-
39
- ## DMS
40
-
41
- ### Service Types
42
-
43
- | Type | KooCLI Service |
44
- |------|---------------|
45
- | Kafka | `hcloud DMS` |
46
- | RabbitMQ | `hcloud DMS` |
47
- | RocketMQ | `hcloud DMS` |
48
-
49
- ### Common Workflows
50
-
51
- | Task | Operation |
52
- |------|-----------|
53
- | List instances | `ListInstances --cli-region=<r> --project_id=<p>` |
54
- | Create Kafka instance | `CreateInstance --cli-region=<r> --project_id=<p>` |
55
- | List Kafka topics | `ListTopics --cli-region=<r> --project_id=<p>` |
56
-
57
- Discover exact parameters with `--help` before executing any command.
58
-
59
- ## Troubleshooting
60
-
61
- | Error | Fix |
62
- |-------|-----|
63
- | Subscription not confirmed | SMN subscriptions need endpoint/user confirmation |
64
- | DMS instance creation fails | Check VPC/subnet availability and engine version |
65
-
66
- ## Cross-Skill References
67
-
68
- - **CES alarms**: See `huawei-cloud-eye` for SMN-based alarm notifications
69
- - **VPC**: See `huawei-vpc` for DMS instance networking
1
+ ---
2
+ name: huawei-smn-dms
3
+ description: "Use when creating or managing SMN topics/subscriptions/messages or DMS Kafka/RabbitMQ/RocketMQ queues on Huawei Cloud. Triggers: SMN, DMS, notification, message queue, Kafka, RabbitMQ, RocketMQ, topic, subscription. NOT for: APIG (use huawei-apig), FunctionGraph triggers (use huawei-functiongraph)."
4
+ version: 1
5
+ ---
6
+
7
+ # Huawei Cloud SMN / DMS
8
+
9
+ **STOP - Do not answer from general knowledge.** Follow the procedure below.
10
+
11
+ Always run `hcloud SMN <Operation> --help` or `hcloud DMS <Operation> --help` before constructing commands.
12
+
13
+ ## Overview
14
+
15
+ Domain expertise for SMN (Simple Message Notification) and DMS (Distributed Message Service). SMN is used for notifications and alerts. DMS covers Kafka, RabbitMQ, and RocketMQ instances.
16
+
17
+ ## SMN
18
+
19
+ ## Critical Warnings
20
+
21
+ | Trap | Why |
22
+ |------|-----|
23
+ | Subscription confirmation | HTTP/HTTPS subscriptions need endpoint ping-back confirmation |
24
+ | Email subscription delay | Email subscriptions require user to click confirmation link |
25
+ | SMS charge per message | Template SMS incurs per-delivery charges |
26
+
27
+ ### Common Workflows
28
+
29
+ | Task | Operation |
30
+ |------|-----------|
31
+ | List topics | `ListTopics --cli-region=<r> --project_id=<p>` |
32
+ | Create topic | `CreateTopic --cli-region=<r> --project_id=<p>` |
33
+ | Add subscription | `AddSubscription --cli-region=<r> --project_id=<p>` |
34
+ | List subscriptions | `ListSubscriptions --cli-region=<r> --project_id=<p>` |
35
+ | Create message template | `CreateMessageTemplate --cli-region=<r> --project_id=<p>` |
36
+ | Publish message | `PublishMessage --cli-region=<r> --project_id=<p>` |
37
+ | Delete topic | `DeleteTopic --cli-region=<r> --project_id=<p>` |
38
+
39
+ ## DMS
40
+
41
+ ### Service Types
42
+
43
+ | Type | KooCLI Service |
44
+ |------|---------------|
45
+ | Kafka | `hcloud DMS` |
46
+ | RabbitMQ | `hcloud DMS` |
47
+ | RocketMQ | `hcloud DMS` |
48
+
49
+ ### Common Workflows
50
+
51
+ | Task | Operation |
52
+ |------|-----------|
53
+ | List instances | `ListInstances --cli-region=<r> --project_id=<p>` |
54
+ | Create Kafka instance | `CreateInstance --cli-region=<r> --project_id=<p>` |
55
+ | List Kafka topics | `ListTopics --cli-region=<r> --project_id=<p>` |
56
+
57
+ Discover exact parameters with `--help` before executing any command.
58
+
59
+ ## Troubleshooting
60
+
61
+ | Error | Fix |
62
+ |-------|-----|
63
+ | Subscription not confirmed | SMN subscriptions need endpoint/user confirmation |
64
+ | DMS instance creation fails | Check VPC/subnet availability and engine version |
65
+
66
+ ## Cross-Skill References
67
+
68
+ - **CES alarms**: See `huawei-cloud-eye` for SMN-based alarm notifications
69
+ - **VPC**: See `huawei-vpc` for DMS instance networking