|
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