まず、Terraformの設定ファイルであるmain.tf
を開きます。ここで、プロビジョナーを定義しているリソースブロックを見つけます。プロビジョナーは、provisioner
ブロック内に定義されています。
例えば、以下のような設定があるとします:
resource "aws_instance" "example" {
# リソースの設定
provisioner "local-exec" {
command = "echo Provisioning..."
}
}
この場合、local-exec
プロビジョナーが使用されています。プロビジョナーの設定には、on_failure
パラメータがあります。このパラメータを使用して、プロビジョナーが失敗した場合の動作を制御することができます。
例えば、on_failure
パラメータをcontinue
に設定すると、プロビジョナーが失敗してもapplyは成功します。以下のように設定します:
resource "aws_instance" "example" {
# リソースの設定
provisioner "local-exec" {
command = "echo Provisioning..."
on_failure = "continue"
}
}
このようにすることで、プロビジョナーが失敗してもapplyは継続されます。ただし、プロビジョナーが失敗した場合でも、適切なエラーハンドリングやリカバリー処理を実装することが重要です。
以上が、Terraformのプロビジョナーの失敗時にapplyが失敗しないようにする方法です。この方法を使用することで、プロビジョナーの失敗によってリソースの作成や構成が中断されることなく、Terraformの処理を継続することができます。