From edc69c7823a93e4a527c98dc3836eba865824116 Mon Sep 17 00:00:00 2001 From: Alex Trull Date: Tue, 15 Apr 2025 22:06:43 +0200 Subject: [PATCH 1/2] enforcing http2 --- modules/synthetics/main.tf | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/synthetics/main.tf b/modules/synthetics/main.tf index 56305eb..711c678 100644 --- a/modules/synthetics/main.tf +++ b/modules/synthetics/main.tf @@ -139,6 +139,7 @@ resource "datadog_synthetics_test" "default" { # headers is in a separate `request_headers` block below host = lookup(req.value, "host", null) # httpVersion input is missing from all documentation, but seen in API output + http_version = lookup(req.value, "http_version", null) message = lookup(req.value, "message", null) # metadata input is missing. # See https://github.com/DataDog/terraform-provider-datadog/issues/2155 @@ -360,7 +361,7 @@ resource "datadog_synthetics_test" "default" { disable_cors = lookup(opts.value, "disable_cors", lookup(opts.value, "disableCors", null)) disable_csp = lookup(opts.value, "disable_csp", lookup(opts.value, "disableCsp", null)) follow_redirects = lookup(opts.value, "follow_redirects", false) - http_version = lookup(opts.value, "http_version", lookup(opts.value, "httpVersion", null)) + http_version = lookup(opts.value, "http_version", "http2") ignore_server_certificate_error = lookup(opts.value, "ignore_server_certificate_error", lookup(opts.value, "ignoreServerCertificateError", null)) initial_navigation_timeout = lookup(opts.value, "initial_navigation_timeout", lookup(opts.value, "initialNavigationTimeout", null)) min_failure_duration = lookup(opts.value, "min_failure_duration", null) @@ -456,8 +457,9 @@ resource "datadog_synthetics_test" "default" { # follow_redirects = lookup(req.value, "follow_redirects", null) # headers is in a separate `request_headers` block below host = lookup(req.value, "host", null) - # httpVersion input is missing from all documentation, but seen in API output - message = lookup(req.value, "message", null) + # httpVersion input is missing from all documentation, but seen in API output. + http_version = "http2" # options_list isn't respected + message = lookup(req.value, "message", null) # metadata input is missing. # See https://github.com/DataDog/terraform-provider-datadog/issues/2155 method = lookup(req.value, "method", null) From aea259be3b17f4b0040642e2a76d88c3b8ecd47a Mon Sep 17 00:00:00 2001 From: Alex Trull Date: Tue, 15 Apr 2025 22:37:48 +0200 Subject: [PATCH 2/2] allow null and camel case version of httpVersion --- modules/synthetics/main.tf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/synthetics/main.tf b/modules/synthetics/main.tf index 711c678..b62a890 100644 --- a/modules/synthetics/main.tf +++ b/modules/synthetics/main.tf @@ -139,7 +139,7 @@ resource "datadog_synthetics_test" "default" { # headers is in a separate `request_headers` block below host = lookup(req.value, "host", null) # httpVersion input is missing from all documentation, but seen in API output - http_version = lookup(req.value, "http_version", null) + http_version = lookup(req.value, "http_version", lookup(req.value, "httpVersion", null)) message = lookup(req.value, "message", null) # metadata input is missing. # See https://github.com/DataDog/terraform-provider-datadog/issues/2155 @@ -361,7 +361,7 @@ resource "datadog_synthetics_test" "default" { disable_cors = lookup(opts.value, "disable_cors", lookup(opts.value, "disableCors", null)) disable_csp = lookup(opts.value, "disable_csp", lookup(opts.value, "disableCsp", null)) follow_redirects = lookup(opts.value, "follow_redirects", false) - http_version = lookup(opts.value, "http_version", "http2") + http_version = lookup(opts.value, "http_version", lookup(opts.value, "httpVersion", null)) ignore_server_certificate_error = lookup(opts.value, "ignore_server_certificate_error", lookup(opts.value, "ignoreServerCertificateError", null)) initial_navigation_timeout = lookup(opts.value, "initial_navigation_timeout", lookup(opts.value, "initialNavigationTimeout", null)) min_failure_duration = lookup(opts.value, "min_failure_duration", null) @@ -458,7 +458,8 @@ resource "datadog_synthetics_test" "default" { # headers is in a separate `request_headers` block below host = lookup(req.value, "host", null) # httpVersion input is missing from all documentation, but seen in API output. - http_version = "http2" # options_list isn't respected + http_version = lookup(req.value, "http_version", lookup(req.value, "httpVersion", null)) # options_list isn't respected yet as of 2025-04-15 + message = lookup(req.value, "message", null) # metadata input is missing. # See https://github.com/DataDog/terraform-provider-datadog/issues/2155