-
Notifications
You must be signed in to change notification settings - Fork 0
Blueprint Assignment
Important
Blueprint assignment is a preview feature and may change. It is only applied when preview mode is turned on
(see Configuration). Otherwise, ensure_blueprints declarations are ignored and iructl prints a warning.
Warning
ensure_blueprints is additive only. Deleting an entry will not unassign the resource from the Blueprint.
Any resource (a profile, script, or app) can declare the Blueprints it should be assigned to by adding an
ensure_blueprints list to its info file. On push and sync (with preview mode turned on), iructl assigns the
resource to each declared Blueprint. iructl does not create or manage Blueprints, so the names and UUIDs you declare
must already exist in your Iru tenant.
Each entry has a blueprint and an optional node:
| Field | Required | Description |
|---|---|---|
blueprint |
Yes | The name or UUID of the Blueprint to assign to. Names are matched case-insensitively and resolved to a UUID at push time. An unresolvable name is reported as a failed assignment. |
node |
No | The UUID of an Assignment Map node to assign at. Omit node to assign at the Blueprint's root node. |
ensure_blueprints:
- blueprint: 550e8400-e29b-41d4-a716-446655440000
node: 660e8400-e29b-41d4-a716-446655440000
- blueprint: Production Macs # a Blueprint name, assigned at the root nodeTip
An entry that only needs the Blueprint name or UUID (a root-node assignment) can be written as a bare string; iructl expands it to
{ blueprint: <name-or-uuid> }.
ensure_blueprints:
- Production Macs
- 550e8400-e29b-41d4-a716-446655440000Assignment runs on every push and sync, including when a resource's content is unchanged. Use --dry-run (with
preview mode on) to list the assignments a run would attempt without applying them.
After a push or sync, iructl prints a Blueprint assignments section: an Assignment Summary of newly
assigned and failed pairs, and a Skipped Assignment Summary of pairs that were already assigned. A node shown as
- means the assignment was added to the Blueprint's root node.
Blueprint assignments
Assignment Summary
Library Item Blueprint Node Status Detail
─────────────────────────────────────────────────────────────────────────────────────────────────
Wi-Fi Production Macs - assigned
FileVault Engineering 660e8400-e29b-41d4-a716-446655440000 failed [404] Node not found
| Symptom | Cause | What to do |
|---|---|---|
Unable to get ID for blueprint '<name>' |
The Blueprint name doesn't exist in your tenant, or is misspelled. | Confirm the name in the Iru web app. Names match case-insensitively but must otherwise be exact. |
[404] Node not found |
The node UUID isn't a valid Assignment Map node for that Blueprint. |
Copy the node UUID from the Iru web app, or omit node to assign at the root. |
| Network or timeout errors |
iructl couldn't reach the API to resolve a name or perform the assignment. |
Re-run the command. The pair is recorded as failed but the rest of the run continues. |
Getting Started
Working with Resources
- Populating Your Local Repository
- Editing Resources
- Self Service
- Pushing and Syncing
- Listing and Showing Resources
- Deleting Resources
- Blueprint Assignment
Reference
Python API Client