# Stack output resolver

Stack output resolver reads the parameter value from a stack output of another stack configured within the same Takomo project. The source stack automatically becomes the target stack's dependency. Takomo reads the output value using the credentials associated with the source stack.

{% hint style="info" %}
If you need to read outputs of stacks that are not configured in the same Takomo project, you can use the [external stack output resolver](/parameter-resolvers/built-in-parameter-resolvers.md#external-stack-output-resolver).
{% endhint %}

### Properties

Here are the properties of the stack output resolver:

| Key          | Required | Type    | Description                                                                  |
| ------------ | -------- | ------- | ---------------------------------------------------------------------------- |
| resolver     | yes      | string  | Resolver name, this must be **stack-output**.                                |
| stack        | yes      | string  | Stack path of the source stack. Can be an absolute or a relative stack path. |
| output       | yes      | string  | Name of the stack output whose value is read.                                |
| confidential | no       | boolean | Conceal the resolved parameter value from logs, defaults to **false**        |
| immutable    | no       | boolean | Mark the parameter as immutable, defaults to **false**                       |

### Example

Say, we have two stacks: **vpc.yml** and **security-groups.yml**. The former creates a VPC and exposes its id in the stack outputs with a name **VpcId**, and the latter uses the VPC id to create some security groups.

The directory structure looks like this:

```bash
.
├─ stacks
│  ├─ vpc.yml
│  └─ security-groups.yml
└─ templates
   ├─ vpc.yml
   └─ security-groups.yml
```

In **security-groups.yml** stack configuration we use the **stack-output** resolver to read the value for the **VpcId** parameter like so:

{% code title="stacks/security-groups.yml" %}

```yaml
parameters:
  VpcId:
    resolver: stack-output
    stack: /vpc.yml
    output: MyVpcId
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.takomo.io/parameter-resolvers/built-in-parameter-resolvers/stack-output-resolver.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
