Terraform Module

For users who prefer infrastructure-as-code, we provide an official Terraform module that automates the entire Snowflake Intelligence agent setup.

Why Use Terraform?

The Terraform module offers several advantages over manual SQL setup:

  • Version Control: Track infrastructure changes in git

  • Reproducibility: Easily replicate setup across environments

  • 99.9% Automation: Only 2 SQL commands needed after terraform apply

  • Type Safety: Wrapper functions with proper SQL types included

  • Easy Updates: Upgrade to new versions with a simple version change

Quick Start

module "euno_agent" {
  source = "github.com/euno-ai/terraform-euno-snowflake-intelligence"

  # Required
  euno_api_key    = var.euno_api_key
  euno_account_id = var.euno_account_id
  warehouse_name  = "YOUR_WAREHOUSE"  # Required - Snowflake warehouse for agent execution
}

Then run:

After apply, run these two SQL commands in Snowflake:

That's it! Your Euno agent is ready to use.

Full Documentation

For complete documentation including:

  • All configuration variables

  • Customization options

  • Architecture details

  • Troubleshooting

See the module's README on GitHub:

https://github.com/euno-ai/terraform-euno-snowflake-intelligencearrow-up-right

Prerequisites

  • Snowflake account with ACCOUNTADMIN role access

  • Terraform >= 1.5.0

  • Euno API credentials (API key and Account ID)

  • Snowflake compute warehouse (required - no default)

What Gets Created

The Terraform module creates:

Component
Count
Notes

Database & Schema

1

SNOWFLAKE_INTELLIGENCE.AGENTS by default

Network Rule

1

Egress to Euno API Gateway

API Integration

1

Google API Gateway authentication

External Functions

12

For interacting with Euno v2 API

Wrapper Functions

12

Type-safe SQL wrappers

Role

1

EUNO_AGENT_USER with all permissions

Agent Procedure

1

Creates the agent with one call

Choosing Between Terraform and SQL Setup

Aspect
Terraform Module
Manual SQL Setup

Best for

Teams with IaC practices

Quick one-time setup

Version control

Built-in

Manual

Customization

Via variables

Edit SQL directly

Updates

Change version, re-apply

Re-run updated script

State management

Terraform handles it

Manual tracking

Support

Last updated