Estoy tratando de crear un método POST usando terraform en la URL de la puerta de enlace raíz api, como https://somehash.execute-api.us-east-1.amazonaws.com/dev , que incluiría el escenario. Aquí hay parte del plan de terraformación de preocupación:
resource "aws_api_gateway_rest_api" "api" { name = "submit-dev-gateway-api" } resource "aws_api_gateway_resource" "resource" { rest_api_id = "${aws_api_gateway_rest_api.api.id}" parent_id = "${aws_api_gateway_rest_api.api.root_resource_id}" path_part = "submit" } resource "aws_api_gateway_method" "post_form" { rest_api_id = "${aws_api_gateway_rest_api.api.id}" resource_id = "${aws_api_gateway_resource.resource.id}" http_method = "POST" authorization = "NONE" } ... Intenté cambiar path_part a "/" pero no funcionó. No pude crear un recurso aws_api_gateway_method sin aws_api_gateway_resource. Puedo crear un POST en la raíz manualmente sin terraformar que se ve así: 
Cuando uso el plan de terraformación anterior, obtengo esto: 
¿Cómo creo POST en la raíz con terraform?
El "recurso raíz" se crea automáticamente como parte de la creación de una API REST de API Gateway. En Terraform, la identificación de ese recurso raíz se expone como el atributo root_resource_id de la instancia de recurso de la API REST.
Debido a que ese recurso se crea implícitamente como parte de la API, no necesitamos un recurso separado para él. En cambio, podemos simplemente adjuntar métodos (y los otros objetos posteriores necesarios) directamente a ese recurso raíz existente:
resource "aws_api_gateway_rest_api" "api" { name = "submit-dev-gateway-api" } resource "aws_api_gateway_method" "post_form" { rest_api_id = aws_api_gateway_rest_api.api.id resource_id = aws_api_gateway_rest_api.api.root_resource_id http_method = "POST" authorization = "NONE" }Debe verificar path_part . Tratar
path_part = "{submit}"El argumento path_part contendrá una cadena que representa la ruta del punto final. Leer más ruta_parte