Условный настраиваемый ответ на ошибку CloudFront в Terraform

Я использую TF 0.11.14 для управления распределениями Cloud Front в нескольких средах для наших приложений.

Я хотел бы внести изменения в определенное распределение CF и добавить настраиваемый ответ об ошибке только в том случае, если данная переменная существует в файле variables.tf

Мне интересно, как я могу это сделать?

Ниже представлена ​​переменная, которую я определил в моем файле variables.tf.

variable "spa" {
  type        = "string"
  default     = ""
  description = "if spa is enable, Cloudfront will have the routing of the custom pages/endpoints in  client by modifying the Error Pages"
}

Ниже приведены конфигурации TF, которые я пробовал.

Я попытался установить счетчик для включения / отключения ресурса только для custom_error_response, однако это не удается со следующей ошибкой.

  custom_error_response = {
        count                 = "${var.spa == "enable" ?1:0 }"
        error_caching_min_ttl = 0
        error_code            = 404
        response_code         = 200
        response_page_path    = "index.html"
      }
    }

module.nightly-client.aws_cloudfront_distribution.cf: custom_error_response.0: неверный или неизвестный ключ: count

Я также пробовал следующий способ, включив все подресурсы custom_error_response

  custom_error_response = {
    error_caching_min_ttl = "${var.spa == "enable" ? 0:0 }"
    error_code            = "${var.spa == "enable"? 404:0}"
    response_code         = "${var.spa == "enable" ? 200:0}"
    response_page_path    = "${var.spa == "enable" ? "/index.html":""}"
  }
}

Вышеуказанное не работает и выдает ошибки, потому что http-код для ложной оценки недействителен.

  • aws_cloudfront_distribution.cf: ошибка обновления CloudFront Distribution (E2WYMYBXQLZC0Z): InvalidArgument: параметр ErrorCode недействителен. код состояния: 400, идентификатор запроса: 61cabc92-6aee-44c8-ba4d-e7ff619682ac

0 ответов

Другие вопросы по тегам