This website is originally written in the Czech language. Most content is machine (AI) translated into English. The translation may not be exact and may contain errors.
Infrastructure as Code - Terraform
Infrastructure as Code (IaC) tools allow you to define, deploy, and manage infrastructure in a declarative (or imperative) way using configuration files. We describe the resources (servers, networks, storage, etc.) in a text file that defines the desired state. The tool ensures that the real environment matches the definition. For now, we will focus on the Terraform tool.
Terraform and VMware Cloud Director Provider for Beginners
Terraform is an Infrastructure as Code (IaC) tool that allows you to define, deploy, and manage infrastructure in a declarative manner using configuration files. We can use it to create, for example, vApps, VMs, and networks. We will describe the basics of using Terraform, specifically focusing on working with VMware Cloud Director (VCD) cloud infrastructure. We will use the official Terraform Provider for VMware Cloud Director.
08.02.2026 | Samuraj - Petr Bouška | VMware admin | 2 268x | Comments [0]
Terraform and VMware Cloud Director - Guest Customization Script
Following the introductory overview of Terraform and the VMware Cloud Director provider, we will now look at the Guest OS Customization feature. It enables automated OS configuration of a newly deployed virtual machine. We will focus on the ability to run a custom script as part of the customization. The script can contain variables defined in Terraform, which are dynamically substituted during VM creation. The result is an automated and parameterized VM deployment from a template.
18.02.2026 | | VMware admin | 1 592x | Comments [0]
Terraform and VMware Cloud Director - Creating Multiple VMs
If we want to use Terraform to manage virtual infrastructure, in practice we may have dozens, hundreds, or even more resources of the same type. Typically these are virtual machines (VMs). We want their configuration (description) to be clear and well-scalable. In this article, we will look at some basic options. We will use variables, the map and object data types, and the for_each meta-argument within a resource.
21.02.2026 | | VMware admin | 1 243x | Comments [0]
Terraform and VMware Cloud Director - Importing Existing Resources (VMs)
The principle of Terraform is that it creates (or destroys) defined objects. It stores information in a state file (State) and uses it to detect the difference between the current and desired state. Resources created this way can be modified or destroyed by changing the configuration. If we want to use Terraform to modify resources that were created in a different way, we must import them into Terraform. This is not entirely straightforward. In the example, we will import all VMs from a specific vApp.
25.02.2026 | | VMware admin | 2 276x | Comments [0]
Terraform Configuration FortiGate with FortiOS - Firewall Policy
We will look at the options for using Terraform to automate the deployment and management of FortiGate devices. Fortinet provides a FortiOS Terraform Provider that enables management of FortiGate and FortiManager through Infrastructure as Code principles. We will demonstrate the basic connection configuration to a device and a practical example of creating a simple firewall policy using declarative configuration.
03.03.2026 | | Fortinet admin | 2 084x | Comments [2]
Terraform and FortiGate with FortiOS - DNS Server Records
Continuing the description of using Terraform (an Infrastructure as Code tool) with the Fortinet FortiOS Provider for automated FortiGate configuration. In this article, we will try creating records on a DNS server running on FortiGate. We will describe a more complex situation where we first import the current configuration and then add new records. There is also an issue with the order of loaded records, which are nested objects of the DNS database. We will handle record sorting, so we will use an alternative option of generating the existing configuration.
05.03.2026 | | Fortinet admin | 1 046x | Comments [0]