Terraformのmodule句はimport
例
code:tf
module "webserver_cluster" {
source = "../../../modules/services/webserver-cluster"
cluster_name = "webserver-prod"
}
他の言語のメンタルモデルだとmoduleの宣言にしか見えなく、真逆なので紛らわしいmrsekut.icon
上記の"webserver_cluster"の部分
モジュール呼び出しに付ける任意の名前
リソース名の prefix にもよく使われる
source
moduleのソース場所
色々指定できる
localのfile path
Github等のURL
code:tf
source = "github.com/foo/modules//services/webserver-cluster?ref=v0.0.1"
リポジトリ名と//ディレクトリの境界は二重スラッシュ
?ref=はgitのタグ
S3 bucketsなど
その他の引数
module側がvariableにしているのに呼び出し側が指定していないとエラーになる
ここは静的解析が効くようだmrsekut.icon