

Google Cloud Platform上に、Cloud Armorを作成するために、  
<https://runble1.com/gcp-terraform-cloud-armor/>を参考に、  
次のようなTerraformファイル(*.tf)を作成し、実行したところ、

[code]

    terraform {
      required_version = "~> 1.3.6" # Terraformのバージョン（指定したバージョン以外エラーとなる）
      required_providers {
        google = {
          source  = "hashicorp/google"
          version = "~> 3.5.0" # Providerのバージョン
        }
      }
    }
    
    provider "google" {
      credentials = file("../xxxx-xxxx.json")
      project     = "xxxxx-999999"
      region      = "asia-northeast1"
    }
    
    # Armor
    resource "google_compute_security_policy" "test_policy" {
      name = "xxxx-devxxxx-armor-01"
    
      rule {
        action = "deny(403)"
        match {
          expr {
            expression = "request.path.matches('/auth/realms/master/*')"
          }
        }
        preview  = false
        priority = 0
      }
    }
    
[/code]

以下のような、matchブロック内にexprは記述できない旨のエラーが発生しました。  
エラーを解消するには、どのようにすればよいでしょうか。  
（どこを調べれば手がかりが得られるでしょうか？）

[code]

    (venv) sasaki@kXXXXXXXXX:~/workspace/terraform-dp/terraform_test$ terraform plan
    ╷
    │ Error: Unsupported block type
    │
    │   on main.tf line 25, in resource "google_compute_security_policy" "test_policy":
    │   25:       expr {
    │
    │ Blocks of type "expr" are not expected here.
    
[/code]

OSは、WSL2のUbuntu 20.04.5 LTS (Focal Fossa)  
Terraformのバージョンは、v1.3.6  
GCPプロバイダのバージョンは、registry.terraform.io/hashicorp/google v3.5.0  
です。

[![画像の説明をここに入力](https://i.stack.imgur.com/8N8NM.png)](https://i.stack.imgur.com/8N8NM.png)


CC BY-SA 4.0
2022-12-08T07:09:22.723
92636
2022-12-08T23:45:28.203
2022-12-08T23:45:28.203
53109
53109
question
google-cloud terraform
Terraformで、GCPのArmorを作成する方法について