Blueprints
Overview
Blueprints are declarative cluster definitions. They describe the Stack, host groups, components, and configuration that Ambari uses to create a cluster through its REST API. They do not require the interactive cluster-install wizard.

The Blueprint defines reusable topology; the cluster template binds that topology to registered hosts and starts an asynchronous Ambari request.
The 3.1 implementation compiles Stack telemetry.json and other service metadata before assigning components. Current Stack examples are under the BIGTOP 3.2.0, 3.3.0, and 3.4.0 resources; do not assume HDP 2.x examples or a published 3.1 Stack.
Create And Register A Blueprint
- Prepare Ambari Server and register every Agent host. Confirm the hosts are visible through the Ambari API.
- Create a JSON document with
Blueprintsandhost_groups.Blueprints.stack_nameandBlueprints.stack_versionselect an installed Stack; each host group names its components. - Register it with
POST /api/v1/blueprints/:blueprintName. The request body is the Blueprint document. Topology validation is enabled by default;validate_topology=falseis an explicit escape hatch for validation failures and should be used only when the topology is understood. - Create a cluster template with
blueprint,host_groups, optionalconfigurations, and optionalcredentials/security. Map physical FQDNs, or usehost_countandhost_predicateto select eligible hosts. - Create the cluster with
POST /api/v1/clusters/:clusterName. The asynchronous response supplies a/requestsURL for progress.
The cluster template may include config_recommendation_strategy: NEVER_APPLY, ONLY_STACK_DEFAULTS_APPLY, ALWAYS_APPLY, or ALWAYS_APPLY_DONT_OVERRIDE_CUSTOM_VALUES. Recommendations are produced by Stack Advisor and can override custom values according to the selected strategy.
Host Groups And Configuration
host_groups are the unit for component placement. A host group requires name and components; the template maps it to hosts with fqdn, or to host_count plus an optional host_predicate. The predicate uses the standard Ambari host query syntax, such as Hosts/cpu_count=4.
Configuration precedence is Stack defaults, Blueprint cluster scope, Blueprint host-group scope, template cluster scope, then template host-group scope. Required properties without defaults must be supplied before the relevant operation; a missing required property produces a client error identifying the property.
For monitoring-enabled services, keep the Stack descriptors and effective component configuration consistent. Component telemetry endpoints, ports, protocol policy, and authentication are resolved by Server from the installed Stack rather than accepted as arbitrary request URLs. See monitoring deployment for the VictoriaMetrics service workflow.
API And Source References
Blueprint creation uses the Ambari REST resources above. The current Stack and blueprint resources are in the pinned BIGTOP Stack source. Assignment compilation is implemented by TelemetryAssignmentCompiler.