instantiate_stack_profile
Create a stack DRAFT from a stack profile - on the current cluster, or on another cluster in this organisation via target_cluster_id (the 'move this stack to cluster X' flow: snapshot with create_stack_profile, then instantiate on the target). Nothing is deployed: the result is a saved draft visible on that cluster's Stacks page. A cross-cluster target requires the user to hold ai.execute and stacks.write on the target cluster, and the target must be confirmed with the user before calling (list_clusters shows the candidates). Required parameters (from get_stack_profile) must be provided as name/value pairs. For secret-type parameters, NEVER pass or ask for a raw secret value - pass a ${SECRET_SLOT:} sentinel from the user's slot catalog; the sentinel is stored at the declared encrypted path in the draft and resolved from Vault only when the stack deploys, so the value never appears in the draft or this chat. A missing or expired slot fails the call. If the user has no slot, tell them to instantiate from the portal where the value can be entered securely. Raw secret-looking values are rejected. After instantiating on the current cluster, load the draft with load_draft_from_database to review or edit it, and only deploy via apply_stack_changes when the user asks. A cross-cluster draft is reviewed and applied on the target cluster - this session cannot deploy there.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Profile version to instantiate. Defaults to the profile's current version (the pinned version, which can be older than latest after a rollback). | |
| cluster_id | Yes | Ankra cluster id (UUID) the call targets. Discover ids with list_clusters. | |
| parameters | No | Values for the profile's parameters. Required parameters must all be provided. | |
| profile_id | No | UUID of the profile to instantiate. Alternative to profile_name. | |
| profile_name | No | Name of the profile to instantiate. Alternative to profile_id. | |
| new_stack_name | No | Name for the new stack. Defaults to the profile's stack name; auto-renamed on conflict. | |
| target_cluster_id | No | Optional UUID of another cluster in the organisation to create the draft on. Defaults to the current cluster. Requires ai.execute and stacks.write on the target cluster. |