| from typing import Optional | |
| from pydantic import BaseModel, Field | |
| class AnalyticdbConfig(BaseModel): | |
| """ | |
| Configuration for connecting to Alibaba Cloud AnalyticDB for PostgreSQL. | |
| Refer to the following documentation for details on obtaining credentials: | |
| https://www.alibabacloud.com/help/en/analyticdb-for-postgresql/getting-started/create-an-instance-instances-with-vector-engine-optimization-enabled | |
| """ | |
| ANALYTICDB_KEY_ID: Optional[str] = Field( | |
| default=None, description="The Access Key ID provided by Alibaba Cloud for API authentication." | |
| ) | |
| ANALYTICDB_KEY_SECRET: Optional[str] = Field( | |
| default=None, description="The Secret Access Key corresponding to the Access Key ID for secure API access." | |
| ) | |
| ANALYTICDB_REGION_ID: Optional[str] = Field( | |
| default=None, | |
| description="The region where the AnalyticDB instance is deployed (e.g., 'cn-hangzhou', 'ap-southeast-1').", | |
| ) | |
| ANALYTICDB_INSTANCE_ID: Optional[str] = Field( | |
| default=None, | |
| description="The unique identifier of the AnalyticDB instance you want to connect to.", | |
| ) | |
| ANALYTICDB_ACCOUNT: Optional[str] = Field( | |
| default=None, | |
| description="The account name used to log in to the AnalyticDB instance" | |
| " (usually the initial account created with the instance).", | |
| ) | |
| ANALYTICDB_PASSWORD: Optional[str] = Field( | |
| default=None, description="The password associated with the AnalyticDB account for database authentication." | |
| ) | |
| ANALYTICDB_NAMESPACE: Optional[str] = Field( | |
| default=None, description="The namespace within AnalyticDB for schema isolation (if using namespace feature)." | |
| ) | |
| ANALYTICDB_NAMESPACE_PASSWORD: Optional[str] = Field( | |
| default=None, | |
| description="The password for accessing the specified namespace within the AnalyticDB instance" | |
| " (if namespace feature is enabled).", | |
| ) | |