def _enumerate_resources()

in azext_edge/edge/providers/orchestration/clone.py [0:0]


    def _enumerate_resources(self):
        enumerated_map: dict = {}

        def _enumerator(rcontainer_map: Dict[str, ResourceContainer]):
            for resource in rcontainer_map:
                target_rcontainer = rcontainer_map[resource]
                if isinstance(target_rcontainer, ResourceContainer):
                    if "id" not in target_rcontainer.resource_state:
                        continue
                    parsed_id = parse_resource_id(target_rcontainer.resource_state["id"].lower())
                    key = f"{parsed_id['namespace']}/{parsed_id['type']}"
                    if "resource_type" in parsed_id and parsed_id["resource_type"] != parsed_id["type"]:
                        key += f"/{parsed_id['resource_type']}"

                    items: list = enumerated_map.get(key, [])
                    items.append(parsed_id)
                    enumerated_map[key] = items
                if isinstance(target_rcontainer, DeploymentContainer):
                    _enumerator(target_rcontainer.rcontainer_map)

        _enumerator(self.rcontainer_map)
        return enumerated_map