Firefly Documentation Portal
  • Welcome to the Documentation Portal
  • Contacting Firefly support
  • User Guides
    • QuickStart Guide
      • Onboarding
      • Dashboard
      • FAQ
      • Glossary
        • IaC status
    • Exploring the Inventory
    • Compose: Generating new configuration
    • Navigating the IaC Explorer
    • Workflows
      • Guardrails
    • Integrations
      • Integrate your providers and tools
        • Integrate your data sources
          • Integrate PagerDuty
          • Integrate MongoDB Atlas
          • Integrate AWS
            • Integrate AWS using Terraform
            • Integrate AWS using CloudFormation
            • Upgrading AWS integration to event-driven
            • AWS Discovery Status
          • Integrate Google Cloud
            • Integrate Google Cloud using a service account key
            • Integrate Google Cloud using Terraform
            • Google Cloud Discovery Status
          • Integrate Kubernetes
          • Integrate Datadog
          • Integrate New Relic
          • Integrate Okta
          • Integrate GitHub service
          • Integrate Cloudflare
          • Integrate NS1
          • Integrate Microsoft Azure
            • Integrate Microsoft Azure using Terraform
            • Azure Discovery Status
          • Integrate HashiCorp Vault
        • Integrate your IaC remote states
          • Integrate Terraform Cloud
          • Integrate Terraform Enterprise
          • Integrate HashiCorp Consul
          • Integrate remote stacks in Google Cloud Storage
          • Integrate env0
        • Integrate your version control system
          • Integrate GitHub
          • Integrate GitLab
          • Integrate Bitbucket
            • Integrate Bitbucket Data Center
            • Integrate Bitbucket Cloud
          • Integrate AWS CodeCommit
          • Integrate Azure DevOps
        • Send Firefly notifications to your messaging tools
          • Send Firefly notifications to Slack
            • Send notifications to Slack using the Slack App
            • Sending notifications to Slack using a webhook
          • Send Firefly notifications to Microsoft Teams
          • Send Firefly notifications to Torq
          • Send Firefly notifications to webhooks
          • Send Firefly notifications to Opsgenie
          • Send Firefly notifications to PagerDuty
            • Integration Key
            • General Access REST API Key
          • Send Firefly notifications to Google Chat
        • Integrate project management tools
          • Integrate Jira
    • Governance
    • Event-Center
    • How-to Guides
      • Manage assets
        • Codify assets
          • Codify assets to Config Connector
          • Codify assets to Manifest
          • Codify assets to Helm
          • Codify assets to CDK8S
          • Codify assets to Terraform
          • Codify assets to Pulumi
          • Codify assets to CloudFormation
          • Codify assets to CDK
          • Codify assets to Crossplane
          • Codify assets to Ansible
        • Delete unmanaged assets
        • Fix drifts
        • Remove asset Terraform code
        • Excluded drifts
        • IaC-Ignored assets
      • Monitor events
      • Manage notifications
      • Manage user roles
    • Deep Dive articles
      • Disaster recovery
      • Drifts
      • Codification
      • Notifications
      • Governance
      • Event-driven
      • IaC-Ignored assets
  • Appendix
    • Migrating CloudFormation resources to Terraform
    • Terraform Cloud Run Tasks
    • Creating a key pair
    • SSO Configuration
    • Firefly API Documentation
    • Support Matrix
    • Data privacy and AI usage
  • Firefly MCP
  • Firefly Backstage Plugin
Powered by GitBook
On this page

Was this helpful?

  1. User Guides
  2. Integrations
  3. Integrate your providers and tools
  4. Integrate your data sources
  5. Integrate AWS

Integrate AWS using Terraform

PreviousIntegrate AWSNextIntegrate AWS using CloudFormation

Last updated 1 year ago

Was this helpful?

Run the Terraform integration code from a dedicated workspace/state. Do not interfere with Production resource provisioning.

Before you begin

  • Use or later. To check your version of Terraform, run: terraform --version

  • Configure on your workstation. To configure AWS CLI installation, run: aws configure

  • Create IAM user with the roles needed to run AWS

  • Select your AWS region or select all regions

  • To verify you fulfilled these requirements, at your terminal, run the command: cat ~/.aws/credentials && terraform init && terraform --version

Procedure

  1. In Firefly, select Settings > Integrations.

  2. Select Add New > AWS > Terraform.

  3. Enter a descriptive name in Integration Nickname field.

    • (Optional) Select the Event-driven checkbox and select your AWS region(s) OR Select all regions.

    • (Optional) Select S3 Event Notifications of TF State Files, enter your Region and Bucket Names, and select Add.

  4. Select Next.

  5. Copy the details created by the wizard, and paste them into the Terraform code file.

  6. In the directory that contains the provided code, run: terraform init

  7. Run the command: terraform apply

  8. Select Done.

Using the Event-driven method for fetching your IaC stacks ensures that Firefly refreshes your assets in the inventory in near real-time as soon as they change. This method is the optimal choice for maintaining an up-to-date inventory of your assets.

To use the event-driven service, enable CloudTrail in your AWS account.

Select Enable IaC Auto-Discovery to allow Firefly to scan your cloud for new Terraform state files.

By setting up S3 Event Notifications for Terraform State Files, Firefly can monitor updates to your IaC stacks stored in S3 buckets and optimize the IaC status in the system.

Terraform v0.13
Install AWS CLI on your workstation
AWS credentials