def list(self) -> List[ResourceGroup]:
     rgs = []
     for name in os.listdir(self.path):
         try:
             with open(self.path / str(name) / "resource_group.json", "r", encoding="utf-8") as file:
                 rgs.append(ResourceGroup.deserialize(json.load(file)))
         except FileNotFoundError:
             raise ResourceNotFoundError("Resource group not found") from None
     return rgs
 def create_or_update(self, resource_group_name: str, parameters: Dict[str, Any]) -> ResourceGroup:
     res_group = {
         "id": f"/subscriptions/6c268694-47ab-43ab-b306-3c5514bc4112/resourceGroups/{resource_group_name}",
         "name": resource_group_name,
         "type": "Microsoft.Resources/resourceGroups",
         "properties": {
             "provisioningState": "Succeeded"
         },
     }
     res_group.update(**parameters)
     (self.path / resource_group_name).mkdir(exist_ok=True)
     with open(self.path / resource_group_name / "resource_group.json", "w", encoding="utf-8") as file:
         json.dump(res_group, fp=file, indent=2)
     return ResourceGroup.deserialize(res_group)
 def get(self, name) -> ResourceGroup:
     try:
         with open(self.path / name / "resource_group.json", "r", encoding="utf-8") as file:
             return ResourceGroup.deserialize(json.load(file))
     except FileNotFoundError:
         raise ResourceNotFoundError("Resource group not found") from None