Blueprints are predefined, reusable deployment units created to represent common or custom infrastructure patterns (for example, EC2-based workloads, ECS Fargate, JMeter setups, and web servers). The intent is to allow users to deploy infrastructure without writing IaC from the ground up, while retaining control over parameters, permissions, and target environments. 


A blueprint in the Service Catalog is an Infrastructure‑as‑Code (IaC) package that defines a complete deployable workload. Blueprints use either AWS CloudFormation or Terraform templates and come in two forms: built-in templates provided by MontyCloud for common workloads, or custom blueprints uploaded by customers or MSPs using their own CloudFormation or Terraform code. 

The Blueprint Structure 

Each blueprint encapsulates the following components:

Infrastructure Code

  • The actual CloudFormation or Terraform code that defines AWS resources.

  • The full code is visible within the blueprint view. This code is immutable for built‑in blueprints; users cannot directly modify them but can reference or recreate similar logic in a custom blueprint. 

Parameters

  • Inputs required by the IaC template (e.g., instance type, VPC, subnet, environment name).

  • Parameters are provided when the blueprint is launched and affect how the execution behaves. 

Permissions (IAM roles)

  • Each blueprint defines or references IAM permissions required for deployment.

  • Permissions determine whether the template can successfully create, modify, or delete AWS resources in the target account.

  • Existing roles can be reused, or new roles can be created during blueprint setup. 

Project Assignment

  • Blueprints are assigned to projects.

  • Only users within assigned projects can execute the blueprint.

  • A single blueprint can be assigned to multiple projects, controlling scope and access.