Skip to main content
Amplication Blueprints let you define more than just a resource’s base configuration. By adding properties and establishing relationships between different Blueprints, you can enforce architectural standards and create dynamic, interconnected software systems. This approach lets organizations ensure that all resources, whether services, infrastructure definitions, or apps, conform to a unified architectural blueprint.

Why Properties & Relations Matter

  • Enforce Standard Fields
    Codify mandatory fields like compliance flags, observability settings, or region configurations so they’re automatically included in every new resource.
  • Create Meaningful Connections
    Model interdependencies across microservices, databases, and infrastructure components. This helps your team understand and navigate a complex ecosystem with clarity and can be used to generate context-aware code and keep consistent settings across services.
  • Propagate Updates & Governance
    Changing a property in a blueprint automatically notifies or updates the dependent resources, keeping everything in sync.

Blueprint Properties

Properties are customizable fields or attributes that every instance of a Blueprint has access to. They let you capture metadata and configurations that need to remain uniform across your organization.

Define Your Property Structure

Specify the name, type, and possible default values for each property. Examples: environmentType (Production, Staging), region (us-east, eu-west).

Set Default Values

Predefine standard defaults. For instance, you might enforce a default region or logging format to ensure uniformity across all services.

Attach Properties to Your Blueprint

Once configured, these properties automatically appear whenever a resource is instantiated from the Blueprint.
Properties can be as granular or as broad as needed. You might include security flags, database connection parameters, or even labeling conventions like naming prefixes to maintain consistency.

Blueprint Relations

Relations define how two or more Blueprints link to each other. These relationships inform code generation via plugins so your team automatically get resource configurations that reflect real dependencies. For example:

Microservice ↔ Database

Ensure each microservice references the correct DB configuration by linking “Service Blueprints” to “PostgreSQL” or “MongoDB” Blueprints.

Infrastructure ↔ Application

Connect Terraform or Helm configuration Blueprints to your microservice Blueprints, aligning deployment processes with each service.
Let’s explore how relations work in the Blueprint system.
Determine which Blueprints rely on or inform each other. Common examples: an API service depending on an authentication service, a front end linked to a particular back end.
Within your Blueprint configuration, add a relation that references the target Blueprint. This can be one-to-one or one-to-many, depending on how many resources typically interact.
When defining a relationship field, you can enable the “Limit selection to the same project” option. When checked, this setting restricts the selection of related resources to those within the same project as the parent resource. This ensures that relationships are confined to the project’s scope, maintaining organizational integrity and preventing cross-project dependencies.
Amplication uses these relationships during code generation via private plugins. For example, if a service has a “database” relation, the generated code includes connection strings, schema references, or environment variables automatically.
If your architecture includes multiple layers, like an Angular front-end Blueprint, a Java back-end Blueprint, and a MongoDB database Blueprint, Amplication can chain these relationships to ensure consistent references at every layer.

Example Use Cases

Security & Compliance by Default

Enforce compliance attributes (e.g., encryption modes, data residency) as required properties. Any new resource inherits these automatically.

Auto-Connect Frontend & Backend

By relating your React Front-End Blueprint to a Node.js Service Blueprint, you can pre-generate API endpoints, environment variables, or stubs that make integration more efficient.

Streamlined Infrastructure Setup

Use properties to specify environment (dev, staging, production) and link your Terraform or Helm Blueprints to relevant microservice resources. Developers don’t have to guess the correct infrastructure or configuration because it’s baked in.

Next Steps

Now that you understand how to configure Properties and establish Relations in Blueprints, you’re ready to create a more robust, standardized environment for your organization. With Blueprint Properties & Relations, your resources become first-class citizens of a unified, well-governed architecture. This ensures consistency, reduces repeated work, and gives you the centralized oversight needed to scale confidently.
I