Skip to content

Public API and compatibility

Section 19 · From docs/INVENTORY_INTERNALS.md on GitHub

Kept stable across 0.6.x (breaking them needs a minor version bump and a changelog entry):

  • cloudg.inventory exports and their constructor signatures: AWSDeepInventoryCollector(session, region="us-east-1", account_id=None, tagging_sweep=True, **options), AzureDeepInventoryCollector(credential, subscription_id, graph_client_factory=None, use_resource_graph=True), GCPDeepInventoryCollector(project_id, credentials=None, **options), InventoryMapper(config, tagging_sweep=None), RelationshipLinker(assets, materialize_external=True), DependencyGraph(assets, edges, include_hierarchy=False), discover_organization(session, control_tower=True, home_region=None).
  • InventoryResult fields, methods and the exported file formats (reference).
  • Module paths that were split keep re-exporting the old names (for example cloudg.inventory.mapper re-exports InventoryResult, cloudg.inventory.linker re-exports IdentifierIndex, cloudg.inventory.aws_deep re-exports the task catalog), declared in each module's __all__.
  • Options are validated: unknown keyword options raise TypeError rather than being ignored.

Internal (may change without notice): anything prefixed with _, the per-package module layout under aws_services/, azure_graph/ and gcp_relations/, and the exact metadata keys of each asset type.