https://www.terraform.io/docs/providers/http/
https://www.terraform.io/docs/providers/http/data_source.html
SYNOPSIS:
data "http" "example" {
url = "https://checkpoint-api.hashicorp.com/v1/check/terraform"
# Optional request headers
request_headers = {
"Accept" = "application/json"
}
}
curlで取ってくるようなデータはこれを使えばいい。
参考:
K8sのリソースオブジェクトを管理できる。
https://www.terraform.io/docs/providers/local/
ローカルのファイルをData Sourceとして読んだり、Resourceとして作成・管理したり。
https://www.terraform.io/docs/providers/local/d/file.html
data "local_file" "foo" {
filename = "${path.module}/foo.bar"
}
Attributes Exported:
content
content_base64
https://www.terraform.io/docs/providers/local/r/file.html
resource "local_file" "foo" {
content = "foo!"
filename = "${path.module}/foo.bar"
file_permission = "0644"
directory_permission = "0755"
}
Arguments:
filename
以外はOptionalfile_permission
, directory_permission
のデフォルトは "0777"
https://www.terraform.io/docs/providers/random/
乱数値の生成などで使える。
生成した値はtfstateに保存され、生成時のパラメータが変わらない限り都度、生成することはない。
Resources:
https://www.terraform.io/docs/providers/template/
Example:
# Template for initial configuration bash script
data "template_file" "init" {
template = "${file("init.tpl")}"
vars {
consul_address = "${aws_instance.consul.private_ip}"
}
}
# Create a web server
resource "aws_instance" "web" {
# ...
user_data = "${data.template_file.init.rendered}"
}