HashiCorpはTerraform Googleプロバイダーのバージョン6.0をリリースし、クラウドインフラ管理と開発者のワークフローを改善する重要なアップデートを提供した。このリリースでは、Terraformで作成されたリソースの自動ラベリング、ネーミングの柔軟性の拡張、非推奨機能の削除が導入されている。また、Google IDの取り扱いと外部リソースのIAMバインディングを簡素化する。
GoogleとHashiCorpは、クラウドインフラのデプロイを改善し、開発者のエクスペリエンスを向上させることにフォーカスした新しい統合を開発するために協力している。今年、両社はコミュニティからのフィードバックを優先し、要望の多かった機能をGoogle Cloudプロバイダーに組み込み、進化するユーザーのニーズに対応した。
Googleプロバイダーのバージョン5.16.0では、新しいgoog-terraform-provisioned = true
ラベルが導入され、ユーザーはgcloudやGCPコンソールのような他のツールを使う時にTerraformで作成されたリソースを簡単に識別できるようになった。当初、このラベルは手動で有効にする必要があった。しかし、バージョン6.0のリリースにより、このラベルはデフォルトで新しく作成された全てのリソースに自動的に適用されるようになった。この動作は、必要であればプロバイダの設定によってオフにできる。デフォルト・ラベルを使用したくないユーザーは、プロバイダー・ブロック設定でadd_terraform_attribution_label
オプションをfalseに設定することにより、このラベルを無効にできる。
provider"google" { add_terraform_attribution_label = false}
さらに、Terraform 1.8ではカスタムプロバイダ関数のサポートが追加され、Terraformのコンフィギュレーション内で呼び出すことができるようになった。今年初め、Google Cloudプロバイダーはプロバイダー定義関数を導入し、ユーザーはTerraformが管理していないリソースIDからリージョン、ゾーン、名前、プロジェクトを簡単に取得できるようになった。これらの関数は、Terraform以外で管理されているリソースにIAMバインディングを追加する際のGoogle IDの解析もサポートし、プロセスをさらに簡素化する。
resource "google_cloud_run_service_iam_member" "example_run_invoker" { { member = "user:jan.kowalski@mail.com" role = "run.invoker" service = provider::google::name_from_id(var.cloud_run_service_id) location = provider::google::location_from_id(var.cloud_run_service_id) project = provider::google::project_from_id(var.cloud_run_service_id) }
バージョン6.0リリースでは、Riccardo Albertazzi氏によって報告された、複数のリソースにおけるname_prefix
のデフォルトの動作に関する問題が修正された。ユーザー定義のname_prefix
の最大長を37文字から54文字に増やした。37文字より長い接頭辞の場合、プロバイダはより短い接尾辞を付加するようになり、リソースの命名に柔軟性がもたらされた。
バージョン6.0では、Terraform Googleプロバイダーは、名前が変更されたりGoogleがサポートしなくなった様々な非推奨のリソースやプロパティを削除した。このメジャーリリースは、時間の経過とともに古くなった要素の蓄積に対処するものである。動作の変更と削除されたプロパティの完全なリストはGoogle Provider 6.0アップグレードガイドに記載されている。