|
9 | 9 | from databricks.labs.blueprint.parallel import Threads |
10 | 10 | from databricks.labs.blueprint.tui import Prompts |
11 | 11 | from databricks.sdk import WorkspaceClient |
12 | | -from databricks.sdk.errors import NotFound, ResourceDoesNotExist, PermissionDenied |
| 12 | +from databricks.sdk.errors import NotFound, PermissionDenied |
13 | 13 | from databricks.sdk.service.catalog import Privilege |
14 | 14 | from databricks.sdk.service.compute import Policy |
15 | 15 | from databricks.sdk.service.sql import SetWorkspaceWarehouseConfigRequestSecurityPolicy |
@@ -155,7 +155,7 @@ def save_uc_compatible_roles(self): |
155 | 155 | def load_uc_compatible_roles(self, *, resource_type: AWSResourceType | None = None) -> list[AWSRoleAction]: |
156 | 156 | try: |
157 | 157 | role_actions = self._installation.load(list[AWSRoleAction], filename=self.UC_ROLES_FILE_NAME) |
158 | | - except ResourceDoesNotExist: |
| 158 | + except NotFound: |
159 | 159 | self.save_uc_compatible_roles() |
160 | 160 | role_actions = self._installation.load(list[AWSRoleAction], filename=self.UC_ROLES_FILE_NAME) |
161 | 161 | if resource_type: |
@@ -236,7 +236,11 @@ def _get_role_access_task(self, arn: str, role_name: str): |
236 | 236 |
|
237 | 237 | def _identify_missing_paths(self): |
238 | 238 | external_locations = self._locations.external_locations_with_root() |
239 | | - compatible_roles = self.load_uc_compatible_roles() |
| 239 | + try: |
| 240 | + compatible_roles = self.load_uc_compatible_roles() |
| 241 | + except NotFound: |
| 242 | + logger.warning(f"{self.UC_ROLES_FILE_NAME} not found.") |
| 243 | + compatible_roles = [] |
240 | 244 | missing_paths = set() |
241 | 245 | for external_location in external_locations: |
242 | 246 | matching_role = False |
|
0 commit comments