HashiCorp's Terraform is an extremely popular infrastructure provisioning tool. It is great for creating immutable and repeatable infrastructure that can be source controlled for better collaboration and change management. Terraform is a statically compiled binary that can be run from a shell. It is also cross platform and cloud agnostic, making it a great choice for Windows systems administrators. However, many Windows admins would prefer to interface with their systems through PowerShell. This is why Digital Ascension created TFPS (Terraform for PowerShell).
TFPS is a self-contained PowerShell module that includes a PowerShell abstraction layer for the Terraform command line tool. TFPS also includes the Terraform binary so that you do not have to worry about downloading Terraform and adding it to your systems path. With TFPS, setting up your Terraform environment has never been so easy. Simply run
New-TFEnvironment and the Terraform command line tool will be extracted and installed. Here is a video of the TFPS module being used to create a new Terraform environment and apply a Terraform configuration.
TFPS is an open-source project, so feel free to clone the repository and make a pull request if you would like to add some new features.
If you have never worked with Terraform before and would like to know more about how it can benefit you and your organization, I encourage you to consider working with Digital Ascension. We will bring you up to speed on everything Terraform and show how you can effectively use Terraform and TFPS within your environment. Here is the link to our Terraform Configuration offering: https://www.digitalascension.net/products/terraform-configuration.
If you have any questions or comments, please feel free to reach out to luke@digital ascension.net. I look forward to working with you!