🐕
Terraform公式リファレンスのArgument Referenceが見づらいので自分なりに「これなら見やすいかも?」と思ったこと
結論
必須のパラメータをとりあえず入れて、terraform plan してみる。
背景
Terraformでresourceを作るときにいろいろパラメータを入れていきますが、
そもそも何が指定できるんだっけ?となりがち。
そんな時、大体は公式リファレンスとかマネジメントコンソールを参照しますね。
例:VPCを作るときに指定できるパラメータ
しかし、公式リファレンスはなぜか順序がごちゃごちゃしていて見づらい。
2,3個ならまだいいんですけど、
Optionalなものを含め10個以上とかあるようなリソースだとツライ。
せめて何故アルファベット順にしてくれなかったのか???
とプリプリしながらterraform plan を打ったら、
+ resource "aws_vpc" "vpc" {
+ arn = (known after apply)
+ assign_generated_ipv6_cidr_block = false
+ cidr_block = "192.168.0.0/16"
+ default_network_acl_id = (known after apply)
+ default_route_table_id = (known after apply)
+ default_security_group_id = (known after apply)
+ dhcp_options_id = (known after apply)
+ enable_classiclink = (known after apply)
+ enable_classiclink_dns_support = (known after apply)
+ enable_dns_hostnames = true
+ enable_dns_support = true
+ id = (known after apply)
+ instance_tenancy = "default"
+ ipv6_association_id = (known after apply)
+ ipv6_cidr_block = (known after apply)
+ ipv6_cidr_block_network_border_group = (known after apply)
+ main_route_table_id = (known after apply)
+ owner_id = (known after apply)
+ tags = {
中略
あ、アルファベット順で整理されて同じような情報が出てくる。と気づきました。
パラメータによってはConflict(どちらかしか選べない、片方を選ぶと片方は表示されない)とか、あるパラメータを指定しないとそもそも表示されてないものあるので、丸呑みは出来ませんが、
公式リファレンス”だけ”みるより、2つを照らし合わせてみたほうが個人的にはスッキリ読めそう。
慣れてきたら公式だけでもいけるのかもしれない。
そのあと「えーと、これはどういう設定なのかな」とかを公式リファレンスで読んでいけばいい感じ。
2022/3/14 追記
ちなみにRequired(必須)なパラメータが記述されてないでplanすると、きちんと、「これ足りてないですけど!」と怒ってくれるので、とりあえずplanしてみるといいかもしれない。
│ Error: Missing required argument
│
│ on rds.tf line 58, in resource "aws_db_instance" "db-instance":
│ 58: resource "aws_db_instance" "db-instance" {
│
│ The argument "instance_class" is required, but no definition was found.
planで言わなかったくせに、apply時に言ってくることもある。先に言えよ。
│ Error: provider.aws: aws_db_instance: : "password": required field is not set
│
│ with aws_db_instance.db-instance,
│ on rds.tf line 58, in resource "aws_db_instance" "db-instance":
│ 58: resource "aws_db_instance" "db-instance" {
│
╵
Discussion