> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Print Variables

export const ComponentMetadata = ({warehouses, unsupportedWarehouses = [], componentType, connectionInputs, connectionOutputs}) => {
  const allWarehouses = [...warehouses.map(w => ({
    name: w,
    supported: true
  })), ...unsupportedWarehouses.map(w => ({
    name: w,
    supported: false
  }))];
  return <div style={{
    background: 'var(--colors-background-light, #f9fafb)',
    border: '1px solid var(--colors-border-default, #e5e7eb)',
    borderRadius: '12px',
    padding: '20px 28px',
    marginBottom: '28px',
    boxShadow: '0 1px 4px rgba(0,0,0,0.10)'
  }}>
      <table style={{
    width: '100%',
    borderCollapse: 'collapse'
  }}>
        <tbody>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle',
    width: '180px'
  }}>Project Availability</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>
              <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    gap: '8px'
  }}>
                {allWarehouses.map((w, i) => <span key={i} style={{
    background: w.supported ? '#dcfce7' : '#fee2e2',
    color: w.supported ? '#15803d' : '#b91c1c',
    border: `1px solid ${w.supported ? '#bbf7d0' : '#fca5a5'}`,
    borderRadius: '9999px',
    padding: '3px 12px',
    fontSize: '0.85rem',
    fontWeight: '500',
    whiteSpace: 'nowrap'
  }}>
                    {w.name} {w.supported ? '✅' : '❌'}
                  </span>)}
              </div>
            </td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Component Type</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>{componentType}</td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Connection Inputs</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>{connectionInputs}</td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Connection Outputs</td>
            <td style={{
    verticalAlign: 'middle'
  }}>{connectionOutputs}</td>
          </tr>
        </tbody>
      </table>
    </div>;
};

<ComponentMetadata warehouses={["Snowflake", "Databricks", "Amazon Redshift", "Google BigQuery"]} componentType="Orchestration, Test" connectionInputs="One" connectionOutputs="Unlimited" />

This orchestration component prints the value that a pipeline or project variable has at that specific point in the pipeline execution. You can add multiple copies of the component at different points, to track how variables change during execution, which may be helpful during pipeline debugging.

The value is printed to the **Message** field in the [Task history](/docs/guides/designer-ui-basics#task-history-panel), as a string surrounded by quotation marks. If you print multiple variables, they are printed to the same message, separated by spaces. If a variable has no assigned value, it will show as an empty string, `""`.

You can configure the component to also print the variable name and an optional text prefix to the name. In this case, the message would look as follows:

`<PREFIX> <NAME 1> = "<VALUE 1>" <PREFIX> <NAME 2> = "<VALUE 2>"`

For a full explanation of variables, read [Project and pipeline variables](/docs/guides/variables).

***

## Properties

<ResponseField name="Name" type="string" required>
  A human-readable name for the component.
</ResponseField>

{/* <!-- param-start:[variablesToPrint] | warehouses: [snowflake, databricks, redshift, bigquery] --> */}

<ResponseField name="Variables to print" type="column editor" required>
  Opens the **Variables to print** dialog, where you can use the drop-down to select the variable whose value will be printed. Click **+** to add additional variables, or **−** to remove one.

  Click the **Text mode** toggle at the bottom of the dialog to open a multi-line editor that lets you add items in a single block. For more information, read [Text mode](/docs/guides/components-overview#text-mode).

  To use grid variables, toggle **Use Grid Variable** on at the bottom of the dialog. For more information, read [Grid variables](/docs/guides/grid-variables).
</ResponseField>

{/* <!-- param-start:[prefixText] | warehouses: [snowflake, databricks, redshift, bigquery] --> */}

<ResponseField name="Prefix text" type="string">
  Optionally, enter a prefix string to be applied to each variable name when it's printed. If you're printing multiple variables, the same prefix will be added to all. **Include variable name** must be set to **Yes**.
</ResponseField>

{/* <!-- param-start:[includeVariableName] | warehouses: [snowflake, databricks, redshift, bigquery] --> */}

<ResponseField name="Include variable name" type="drop-down" required>
  If **Yes**, the name of each variable will be printed along with the value.
</ResponseField>
