Terraform plugin for managing Google Cloud Platform resources through infrastructure-as-code.
The Terraform Google provider is an official plugin that enables Terraform to manage resources on Google Cloud Platform. It translates Terraform configuration into API calls to create, update, and delete GCP services like VMs, databases, and storage buckets. This allows teams to treat their cloud infrastructure as version-controlled code that can be automated and reproduced consistently.
DevOps engineers, cloud architects, and infrastructure teams using Google Cloud Platform who want to manage their infrastructure through Terraform's infrastructure-as-code approach.
As an officially maintained provider by both Google and HashiCorp, it offers reliable, up-to-date support for GCP services with the full power of Terraform's state management and planning capabilities. The separate beta provider allows early access to new GCP features while maintaining stability in production environments.
Terraform Provider for Google Cloud Platform
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Jointly maintained by Google and HashiCorp engineering teams, ensuring high reliability, timely updates, and alignment with GCP's release cycles, as noted in the README.
Supports a wide range of GCP services including Compute Engine, Cloud Storage, and Kubernetes Engine, enabling full infrastructure-as-code management for most GCP needs.
Offers a separate google-beta provider for accessing preview and beta GCP features, allowing early adoption while keeping stable configurations isolated.
Integrates seamlessly with Terraform's state management to track resource states, ensuring consistency and predictability in infrastructure deployments.
Development is handled via magic-modules, meaning direct changes to this repository are overwritten, adding a layer of abstraction and slowing community contributions.
The provider doesn't upgrade automatically; users must run 'terraform init -upgrade' to update, risking outdated installations and potential configuration drift if neglected.
Using the separate google-beta provider can complicate configurations and increase maintenance overhead, especially when mixing stable and beta resources.
Requires full adoption of Terraform's ecosystem and learning curve, which may be overkill for teams with simpler infrastructure needs or existing non-Terraform toolchains.