HashiCorp、「Terraform 1.8」を一般提供–プロバイダー定義関数を追加
今回は「HashiCorp、「Terraform 1.8」を一般提供–プロバイダー定義関数を追加」についてご紹介します。
関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
HashiCorpは米国時間4月10日、「HashiCorp Terraform 1.8」を一般提供した。同バージョンは現在、ダウンロードが可能。「Terraform Cloud」でも利用できるようになっている。Terraformの拡張性と柔軟性と向上することを目的に、プロバイダー定義関数とリソースタイプ間でのリファクタリングという2つの機能が追加された。
プロバイダー定義関数は、プロバイダー内でカスタム関数を構築し、Terraformの機能を拡張できるようにする。入力検証条件、出力値、ローカル値、データソース、リソースブロックなど、あらゆるTerraformの式で使用が可能だという。チェックやテストで利用もできる(独自の検証シナリオに対応するカスタムアサーションを記述するため、より複雑なビジネスロジックが一般的に必要になる)。プロバイダー定義関数を呼び出すには、provider::<provider_name>::<function_name>([arguments])という構文を使用する。
最初の関数のセットは、Amazon Web Services(AWS)、Google Cloud、Kubernetesプロバイダーで利用できる。「Visual Studio Code」向けHashiCorp Terraform拡張はプロバイダー定義関数向けに構文ハイライトとオートコンプリートもサポートしている。
Terraform 1.8では、リソースタイプ間でのリファクタリングがサポートされた。これにより、サポートされているリソースをリソースタイプ間で移動することがより早くエラーが発生しにくい新しい方法で可能になったと同社は述べる。
コードのリファクタリングは、大規模な構成を複数のモジュールに分割したり、単にリソース名を変更したりするために一般的に使われる。Terraformでは、既存のリソースの状態を保持しながらリファクタリング操作をサポートするため、「Terraform 1.1」で導入された「moved block」とterraform state mvコマンドという2つの仕組みを提供している。しかし、リファクタリングにはリソースタイプの変更を含むものもあり、リソースを破壊することなく状態から手動で取り除き、コードを更新し、新しいリソースタイプを再度インポートするという複数の手順が必要だったという。
リソースタイプ間でのリファクタリングのユースケースとしては、買収やブランド変更後のプロバイダーの名前変更、リソースをより特定のタイプに分割、サービスの名前変更やバージョン管理されたリソースなどのAPIの変更、プロバイダー間の移動を同社は挙げる。
プロバイダーは、どのリソースをタイプ間でリファクタリングできるかを宣言することでこの機能に対するサポートを追加できる。