graph LR
Graph["Graph"]
Node_Definitions["Node Definitions"]
Edge_Definitions["Edge Definitions"]
Graph_Disk_Loader["Graph Disk Loader"]
Graph_Retrieval_Service["Graph Retrieval Service"]
Storage_Path_Utility["Storage Path Utility"]
Graph -- "composes" --> Node_Definitions
Graph -- "composes" --> Edge_Definitions
Graph_Disk_Loader -- "instantiates" --> Graph
Graph_Retrieval_Service -- "delegates to" --> Graph_Disk_Loader
Graph_Retrieval_Service -- "queries" --> Storage_Path_Utility
Storage_Path_Utility -- "provides paths to" --> Graph_Retrieval_Service
The Graph Core & Persistence subsystem is responsible for managing the in-memory representation of the IAM graph and handling its persistence, including loading from and saving to various storage formats. It provides the fundamental data structures and operations for graph manipulation.
The primary in-memory data structure representing the IAM graph, composed of nodes and edges. This is the core data model for all graph operations.
Related Classes/Methods:
Defines the abstract and concrete classes for different types of IAM entities (e.g., User, Role, Policy) that serve as nodes within the Graph. This component ensures type safety and proper representation of IAM principals.
Related Classes/Methods:
Defines the abstract and concrete classes for relationships between IAM entities (e.g., AssumesRole, HasPolicy) that serve as edges within the Graph. This component captures the relational aspects of IAM policies.
Related Classes/Methods:
A utility function responsible for deserializing raw graph data from persistent storage (e.g., JSON files) into an in-memory Graph object. It handles the low-level parsing and reconstruction of the graph.
Related Classes/Methods:
A high-level interface that orchestrates the retrieval of an IAM graph, abstracting the underlying loading mechanisms and providing a consistent access point for other components. It acts as a facade for graph loading.
Related Classes/Methods:
principalmapper.graphing.graph_actions.get_existing_graph:68-83principalmapper.graphing.graph_actions.get_graph_from_disk:60-65
A utility responsible for managing and providing standardized file system paths where graph data is stored and retrieved, ensuring consistency across the application's persistence operations.
Related Classes/Methods: