graph LR
principalmapper_graphing_gathering["principalmapper.graphing.gathering"]
principalmapper_common_org_trees["principalmapper.common.org_trees"]
principalmapper_graphing_EdgeGenerators["principalmapper.graphing.EdgeGenerators"]
principalmapper_graphing_gathering -- "obtains data from" --> principalmapper_common_org_trees
principalmapper_graphing_gathering -- "invokes" --> principalmapper_graphing_EdgeGenerators
principalmapper_graphing_EdgeGenerators -- "provides edges to" --> principalmapper_graphing_gathering
The principalmapper system's core functionality revolves around constructing a comprehensive graph representation of AWS environments. The principalmapper.graphing.gathering component serves as the central orchestrator, initiating the data collection process. It first obtains foundational organizational hierarchy data from principalmapper.common.org_trees. Subsequently, gathering invokes various specialized modules within principalmapper.graphing.EdgeGenerators to identify and generate specific types of relationships (edges) between nodes based on AWS service configurations. Finally, these generated edges are provided back to the gathering component, which integrates them to form the complete relational graph.
This component acts as the central orchestrator for the entire data ingestion and graph construction process. It initiates data collection from various AWS services, coordinates the integration of this data into the graph, fetches policies, identifies nodes, and updates administrative statuses. It is crucial for managing the overall flow of data transformation into the graph model.
Related Classes/Methods:
This component is responsible for constructing and managing the AWS Organizations tree. It provides the essential hierarchical organizational context, which is critical for understanding account structures, policy inheritance, and cross-account relationships within the generated graph. Its output is a foundational dataset for the gathering component.
Related Classes/Methods:
This is a conceptual grouping of specialized modules, each dedicated to identifying and generating specific types of edges (relationships) within the graph based on configurations and policies of their respective AWS services. These modules act as dedicated processors for different AWS resource types (e.g., IAM, EC2, Lambda), defining the connections and relationships between nodes that form the relational backbone of the graph.
Related Classes/Methods:
principalmapper.graphing.iam_edgesprincipalmapper.graphing.ec2_edgesprincipalmapper.graphing.lambda_edgesprincipalmapper.graphing.cross_account_edgesprincipalmapper.graphing.autoscaling_edgesprincipalmapper.graphing.cloudformation_edgesprincipalmapper.graphing.codebuild_edgesprincipalmapper.graphing.sagemaker_edgesprincipalmapper.graphing.ssm_edgesprincipalmapper.graphing.sts_edges