|
9 | 9 | from jsonschema.exceptions import ValidationError
|
10 | 10 |
|
11 | 11 | from helm_values_manager.backends.simple import SimpleValueBackend
|
| 12 | +from helm_values_manager.models.config_metadata import ConfigMetadata |
12 | 13 | from helm_values_manager.models.path_data import PathData
|
13 | 14 | from helm_values_manager.models.value import Value
|
14 | 15 | from helm_values_manager.utils.logger import HelmLogger
|
@@ -65,7 +66,11 @@ def _validate_schema(cls, data: dict) -> None:
|
65 | 66 | raise
|
66 | 67 |
|
67 | 68 | def add_config_path(
|
68 |
| - self, path: str, description: Optional[str] = None, required: bool = False, sensitive: bool = False |
| 69 | + self, |
| 70 | + path: str, |
| 71 | + description: str = ConfigMetadata.DEFAULT_DESCRIPTION, |
| 72 | + required: bool = ConfigMetadata.DEFAULT_REQUIRED, |
| 73 | + sensitive: bool = ConfigMetadata.DEFAULT_SENSITIVE, |
69 | 74 | ) -> None:
|
70 | 75 | """
|
71 | 76 | Add a new configuration path.
|
@@ -135,7 +140,8 @@ def validate(self) -> None:
|
135 | 140 | Validate the configuration.
|
136 | 141 |
|
137 | 142 | Raises:
|
138 |
| - ValueError: If validation fails. |
| 143 | + ValueError: If validation fails (e.g., missing release name) |
| 144 | + ValidationError: If JSON schema validation fails |
139 | 145 | """
|
140 | 146 | if not self.release:
|
141 | 147 | raise ValueError("Release name is required")
|
@@ -191,9 +197,9 @@ def from_dict(cls, data: dict) -> "HelmValuesConfig":
|
191 | 197 | for config_item in data.get("config", []):
|
192 | 198 | path = config_item["path"]
|
193 | 199 | metadata = {
|
194 |
| - "description": config_item.get("description"), |
195 |
| - "required": config_item.get("required", False), |
196 |
| - "sensitive": config_item.get("sensitive", False), |
| 200 | + "description": config_item.get("description", ConfigMetadata.DEFAULT_DESCRIPTION), |
| 201 | + "required": config_item.get("required", ConfigMetadata.DEFAULT_REQUIRED), |
| 202 | + "sensitive": config_item.get("sensitive", ConfigMetadata.DEFAULT_SENSITIVE), |
197 | 203 | }
|
198 | 204 | path_data = PathData(path, metadata)
|
199 | 205 | config._path_map[path] = path_data
|
|
0 commit comments