【问题标题】:terraform - define aws api gateway request parameters from file?terraform - 从文件中定义 aws api 网关请求参数?
【发布时间】:2023-03-10 03:28:01
【问题描述】:

我想通过使用文件来参数化 aws-api_gateway_method 中的 request_parameters 值

所以改变:

resource "aws_api_gateway_method" "get" {
  rest_api_id = var.api-id
  resource_id = aws_api_gateway_resource.resource.id
  http_method = "GET"
  request_validator_id = aws_api_gateway_request_validator.validator.id
  request_parameters = { 
    "method.request.querystring.Name" = true 
  }
}

进入

resource "aws_api_gateway_method" "get" {
  rest_api_id = var.api-id
  resource_id = aws_api_gateway_resource.resource.id
  http_method = "GET"
  request_validator_id = aws_api_gateway_request_validator.validator.id
  request_parameters = file(var.request-parameters-file)

}

我用 .txt 文件尝试过,但由于值需要是 map(bool),所以出现错误。很公平,但是如何参数化这个字段以使我能够在模块中使用资源?

我使用了一个 map(bool) 类型的变量,并传递了一个对于简单的情况是可以的,但在更复杂的情况下会变得混乱。有没有更好的办法?

【问题讨论】:

    标签: amazon-web-services parameter-passing terraform api-gateway


    【解决方案1】:

    您可以将 request_parameters 表示为 json,然后使用 jsondecode

    例如:

    有一个文件request_parameters.json,内容为:

    {"method.request.querystring.Name": true }
    

    然后在您的aws_api_gateway_method 资源中:

    request_parameters = jsondecode(file("request_parameters.json"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-19
      • 2019-12-05
      • 1970-01-01
      • 2019-03-13
      • 2023-04-06
      • 2020-09-30
      • 2022-12-13
      • 2017-08-03
      相关资源
      最近更新 更多