🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Terraform

Terraformは、インフラ構築のためのツールです。AWS/DigitalOcean/GoogleCloudといった様々なインフラに対応。インフラ構成のコード管理や変更の作業などの手間を自動化し、インフラ構築の効率化を図ることができます。

Q&A

解決済

1回答

492閲覧

【terraform】variableについて理解できません

narururu

総合スコア172

Terraform

Terraformは、インフラ構築のためのツールです。AWS/DigitalOcean/GoogleCloudといった様々なインフラに対応。インフラ構成のコード管理や変更の作業などの手間を自動化し、インフラ構築の効率化を図ることができます。

0グッド

0クリップ

投稿2020/11/26 06:52

編集2020/11/26 07:36

解決したい課題

variableについて理解する。

コード

modules/ec2/aws_instance.tf

provider "aws" {} variable "service" {} variable "env" {} output "hoge_private_ip" { value = "${aws_instance.hoge.private_ip}" } resource "aws_instance" "hoge" { tags { Name = "hoge-${var.service}-${var.env}" service = "${var.service}" env = "${var.env}" } }

services/myapp/production/main.tf

module "app" { source = "../../../modules/ec2" service = "myapp" env = "production" } module "foo" { source = "../../../modules/bar" ip = "${module.app.hoge_private_ip}" }

modules/bar/bar.tf

variable "ip" {}

参考URL

https://qiita.com/minamijoyo/items/1f57c62bed781ab8f4d7

resourceコードに記載されているenvはvariable "env" {}のことだと思いますが、
{}に何も記載がないので、実際にresourceコードのenvには何を設定しているのか理解できません。
variableは変数ということは分かりますが、出力させたい値はどこにあるのか、上記の構文について意味が分からないです。
初心者でよくわかっていません。どなたかアドバイスくださると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

variable foo {} とすると terraform apply 時に foo の値をどうするか聞かれるようになります。variable foo { default = 42 } としておくと foo には 42 がデフォルトで入ります。いずれの場合もコマンドラインのオプションや module の読み込みなどによって上書きすることができます。試しに main.tfenv = "production" を消して実行すると挙動がわかるでしょう。

投稿2020/12/13 08:10

A_kirisaki

総合スコア2853

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

narururu

2020/12/13 09:15

ご回答ありがとうございます。A_kirisakiさん☺ variableについて、理解できました。 ご丁寧に解説してくださりありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問