Terraform datasources: http
Datasources so recursos do Terraform que do a possibilidade de buscar e usar informaes definidas fora do Terraform (em outra configurao por exemplo) dentro do seu cdigo.
Nesse post vou mostrar um pouco de um tipo de datasource que pode salvar bastante no dia a dia.
Datasource http
Esse datasource basicamente faz uma requisio GET
em uma dada URL e exporta o body e os headers da resposta como sada.
Exemplo:
Suponha que voc precise criar um security group para uma EC2 na AWS e j adicionar seu endereo IP atual na lista de endereos permitidos, como poderamos fazer?
Usando o datasource http
:
data "http" "myip" { url = "https://api.ipify.org" # Opcional: header da requisio request_headers = { Accept = "application/text" }}output "myip" { description = "Endereo IP" value = data.http.myip.body}
Nesse caso, foi feito um GET
na URL https://api.ipify.org para buscar o IP atual com o header do tipo text, e a sada foi exposta via output.
importante ressaltar que a URL consultada precisa responder 200 OK
e com um Content-Type
do tipo text/*
ou application/json
.
Referncias
Original Link: https://dev.to/tuxpilgrim/terraform-datasources-http-2ok5
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To