Skip to Scheduled Dates
Course Overview
Get hands-on and use Terraform to automate the Fortinet FortiOS and FortiGate NGFWs products. Students will learn to manage various aspects of config, such as data interfaces and security policies with Terraform. All lessons focus on best practice techniques, including interacting with git, GitHub or GitLab, and writing prompts for AI LLM tools to generate relevant solutions.
Who Should Attend
- Fortinet FortiOS and FortiGate Administrators
- Security Engineers
- DevOps Engineers
- System and Cloud Administrators
- Network Engineers and Developers
- Terraform Developers
- Go Programmers
Course Objectives
- Overview of Terraform providers for FortiOS and FortiGate
- Setting state and change operations with Terraform on FortiOS and FortiGate
- Unlocking the Terraform Registry to deliver solutions for Fortinet products
- HCL Formatting
- Creating Terraform config files
- Recommendations for credential management best practices
- Version controlling code with Git
- CI / CD Pipeline Scenarios common across Industry (GitHub Actions, GitLab, Terraform Cloud, and more)
- AI LLM prompt engineering for generating Terraform solutions
Course Outline
Lecture + Lab: Large Language Model toolkit for AI Solution Assistance
Introduction to Terraform
- Lecture: Terraform Course Map
- Lecture: Introduction to Terraform
Software Control Management
- Lecture + Lab: SCM Option #1 - GitHub
- Lecture + Lab: SCM Option #2 - GitLab
Up and Running
- Lecture + Lab: Terraform Install
- Lecture: Special Considerations for FortiOS and FortiGate
Terraform Modules
- Lecture: Terraform HCL Syntax
- Lecture + Lab: Up and Running with Terraform
- Lecture + Lab: Terraform Variables
- Lecture + Lab: Output Values
- Lecture: Avoid the :latest Tag
fortios Provider
- Lecture: Terraform Providers
- Lecture + Lab: FortiOS and FortiGate on the Terraform Registry
- Lecture: Terraform and Fortinet Interaction
- Lecture + Lab: Installing the fortios Provider
- Lecture + Lab: Managing State with fortios Provider
- Lecture: Terraform Data Sources
- Lecture + Lab: fortios Data Sources
Beyond Basics
- Lecture: Credential Management Options for FortiOS and FortiGate Interactions
- Lecture + Lab: Terraform CLI Workspaces
- Lecture + Lab: Handling Errors on from Fortinet Providers
- Lecture: Resources - replace vs taint
- Lecture + Lab: Dynamic Operations with Functions
- Lecture: Short-cutting Solutions for Fortinet with Terraform Modules
- Lecture + Lab: Creating a Terraform Module
- Lecture + Lab: Dynamic Provisioning with tfvars Files
- Lecture + Lab: Data Sources and HTTP Provider
Loops
- Lecture: for_each
- Lecture + Lab: Looping Constructs - for_each
Provisioning
- Lecture + Lab: Creating Delays
- Lecture + Lab: Terraform - templatefile Function
Dynamic Blocks
- Lecture + Lab: Dynamic Blocks
FortiGate VM and Clouds
- Lecture: fortios - FortiGate-VM on AWS with Terraform
- Lecture: fortios - FortiGate-VM on Azure with Terraform
Generative AI LLM Toolkits
- Lecture + Lab: Creating prompts for AI LLM tools to Generate Fortinet Terraform Code
- Lecture + Lab: Testing Terraform Solutions Generated by AI
Expanding on fortios Provider (OPTIONAL)
- Lecture: fortios - FortiGate AntiVirus
- Lecture: fortios - FortiGate WebFilter
- Lecture: fortios - FortiGate VPN
- Lecture: fortios - FortiGate Rules
- Lecture: fortios - FortiGate NSX-T
Terraform Cloud (OPTIONAL)
- Lecture + Lab: Terraform Cloud and Terraform Enterprise
- Lecture + Lab: Triggering Cloud Builds via Git Commits
Industry Scenarios (OPTIONAL)
- Lecture: Common Workflows and Pipelines for Automating Security Platforms
- Lecture + Lab: GitHub Actions - Terraform
Terraform Review
- Lecture: HashiCorp Terraform Study Guide