# Essential_V2 Service Plan Scenario Cases

These scenarios cover the Essential_V2 service plan by reusing the existing NG v1beta2 API flows. Shared resource pool cases are intentionally excluded.

| Case | File | Reference | Coverage |
| --- | --- | --- | --- |
| Region discovery | `essential_v2_region.yaml` | `ng_region.yaml` | Lists regions and cloud providers with `servicePlan=Essential_V2`. |
| Cluster CRUD | `essential_v2_cluster_crud_steps.yaml` | `ng_cluster_crud_steps.yaml` | Creates, gets, lists, updates, waits for DNS/private link readiness, and deletes an Essential_V2 TiDB. |
| Reset password | `essential_v2_reset_password.yaml` | extracted from public connection flow | Creates an Essential_V2 TiDB, waits for ACTIVE, resets root password, and deletes it. |
| Public connection | `essential_v2_public_connection.yaml` | `ng_public_connection.yaml` | Gets, enables, updates, disables public connection settings and verifies SQL connectivity. |
| Private endpoint | `essential_v2_private_endpoint.yaml` | `ng_private_endpoint.yaml` | Gets private link service, creates cloud VPC endpoint, creates/lists/gets/deletes private endpoint connection, and cleans up cloud endpoint. |
| Backup and restore | `essential_v2_cluster_backup_restore.yaml` | `ng_cluster_backup_restore.yaml` | Validates backup settings/policies/backups, restores to a new Essential_V2 TiDB, verifies connectivity, and cleans up source/restore clusters. |
| PITR restore | `essential_v2_cluster_pitr_restore.yaml` | `ng_cluster_pitr_restore.yaml` | Writes data, lists backups, restores by time, verifies restored Essential_V2 cluster, and cleans up. |
| Import | `essential_v2_cluster_imports.yaml` | `ng_cluster_imports.yaml` | Checks import source/connectivity, creates import tasks, covers cancel/list/get flows, verifies imported data, and deletes the cluster. |
| Export S3 | `essential_v2_cluster_exports_s3.yaml` | `ng_cluster_exports_s3.yaml` | Writes data, creates exports to S3, covers list/get/cancel/delete export flows, and deletes the cluster. |
| Log redaction | `essential_v2_log_redaction.yaml` | `ng_log_redaction.yaml` | Gets and updates log redaction policy for an Essential_V2 TiDB. |
| DB audit log | `essential_v2_db_auditlog.yaml` | `ng_db_auditlog.yaml` | Enables public access, configures audit log config/rules, verifies log output, and cleans up. |
| Multi-instance API key operations | `essential_v2_api_key_multi_instance_operation.yaml` | `ng_api_key_muti_instance_operation.yaml` | Creates two Essential_V2 TiDBs and validates multi-instance API key scoped operations. |
| Private endpoint RBAC 403 | `essential_v2_rbac_openapi_private_endpoint_service_403.yaml` | `ng_rbac_openapi_private_endpoint_service_403.yaml` | Verifies forbidden access for private endpoint operations against an Essential_V2 TiDB. |

Excluded:

- `SharedPoolService_*`
- `sharedPoolId`
- shared pool quota, scale, HPA behavior, apply, and delete flows
- regional shared pool scenario files
