Skip to main content

Typedefs

Typedefs are JSON schema definitions that specify the structure, attributes, and relationships of different asset types in Atlan. They serve as the foundation for how your data assets are represented, structured, and related within Atlan's metadata layer.

When you build a connector app for Atlan, you create a bridge between your data source and Atlan's metadata layer. Typedefs are the schemas that define how your incoming metadata is structured in Atlan's ecosystem.

Every piece of metadata you send to Atlanβ€”whether it's a table, column, database, or custom assetβ€”must conform to a typedef. Without proper typedefs, Atlan won't accept your data.

Core components​

Every typedef you create consists of four key components that work together to define your asset structure:

🏷️

Attributes

Properties that define your asset with required and optional fields

  • Required fields (mandatory for asset existence)
  • Optional fields (additional metadata)
  • Defined data types with validation
πŸ”—

Relationships

Bidirectional connections between assets

  • Parent-to-child relationships
  • Child-to-parent relationships
  • Automatic bidirectional enforcement
πŸ“š

Super types

Inheritance from existing typedefs

  • Automatic attribute inheritance
  • Behavior inheritance
  • Consistent patterns across connectors
πŸ†”

Unique identifiers

Structured patterns for asset identification

  • qualifiedName from Referenceable
  • Location and characteristics
  • Instance differentiation

Why typedefs matter​

Typedefs are the foundation of your connector app. Invest time in designing them well, and the rest of your development shall flow more smoothly. Your future self and your users shall thank you for creating clear, consistent, and well-structured asset definitions.

Typedefs hierarchy​

Atlan's typedef architecture follows a strong principle of inheritance that promotes reusability and consistency. Rather than starting from scratch when defining your assets, you inherit from existing typedefs that provide established functionality.

This inheritance approach means you build on Atlan's established patterns rather than reinventing them. It ensures your connector integrates with Atlan's existing features and maintains consistency across the platform.

How inheritance works​

At the top of the hierarchy sits the Referenceable type, the super type that provides the essential qualifiedName attribute. This attribute is crucial because Atlan uses qualifiedNames to uniquely identify assets based on their characteristics.

Your connector app development involves three primary layers that work together to create a complete solution:

  1. Models & Type Definitions: The schemas (typedefs) that define your asset structure and relationships
  2. Application: Your Python code that fetches and transforms metadata from source systems
  3. Workflow Orchestration: YAML files that define UI components and automated processes

Typedefs form the foundation layerβ€”everything else builds on top of them.

QualifiedNames follow a structured pattern like this: default/snowflake/1234567890/DB/SCHEMA/TABLE.

The inheritance chain flows downward through increasingly specific types:

πŸ“‹ Referenceable
β”œβ”€β”€ πŸ”— qualifiedName attribute
└── πŸ“¦ Asset
β”œβ”€β”€ 🏷️ base for all tangible data assets
└── πŸ—„οΈ SQL
β”œβ”€β”€ πŸ“Š queryCount attribute
β”œβ”€β”€ πŸ‘₯ queryUserCount attribute
└── πŸ†• your_custom_table
└── ✨ inherits all attributes from above types

What inheritance provides​

When you inherit from more specific super types like SQL, your custom asset types automatically receive properties like queryCount and queryUserCount without you having to define them explicitly.

This inheritance chain creates a consistent structure across different connectors. For detailed information on attributes and relationships, refer to the Referenceable, Asset and SQL typedefs.

See also​