HashiCorp Certified: Terraform Associate 問題集

HashiCorp Certified: Terraform Associate (004) 試験対策公式 Exam Objectives(Terraform Associate 004・Terraform 1.12)準拠

HashiCorp Certified: Terraform Associateの日本語問題集。全180問に解説つき。模擬試験は60問・60分です。

試験の概要(問題数・試験時間・出題範囲と配点)を見る

HashiCorp Certified: Terraform Associate 無料問題 4 / 10 ・ 分野3: Core Terraform workflow

ある作業ディレクトリには子モジュールがすでにインストールされている。そのうち1つのモジュールの source に新しいコードが出たので、チームは terraform init をもう一度実行したが、インストール済みの写しは変わらなかった。init のリファレンスは、どうするよう書いているか。

  1. validate で各モジュールの写しを新しくする。init はインストール済みのものに触れないため
  2. terraform init -reconfigure を実行する。モジュールを一からインストールし直す
  3. terraform init -upgrade を実行する。モジュールを、手に入る最新の source に更新する
  4. terraform init -get=false を実行する。モジュールの source を強制的にダウンロードする
正解と解説を見る

正解: C

正解の理由
「Child Module Installation」の節は、init の間に構成の中の module ブロックが探され、参照されているモジュールのソースコードが source 引数にある場所から取ってこられると書いている。モジュールがインストール済みの状態で init をもう一度実行すると、前回の init の後に構成へ足されたモジュールのソースはインストールされるが、インストール済みのモジュールは変わらない。これを変えるには -upgrade を使う。-upgrade はすべてのモジュールを、手に入る最新のソースコードに更新する。General Options の一覧も -upgrade を、モジュールとプラグインをそれぞれのインストールの手順の中でアップグレードするオプションとして同じように説明している。つまりオプションを付けない再実行は、新しい module ブロックを取り込み、既存のものはそのままにする。

違う選択肢
「terraform init -get=false を実行する。モジュールの source を強制的にダウンロードする」… -get=false はその逆で、子モジュールのインストールを省く。リファレンスは、作業ディレクトリがすでに子モジュールとともに初期化されているときにだけ使うよう勧めている。
「terraform init -reconfigure を実行する。モジュールを一からインストールし直す」… -reconfigure は init のバックエンドのオプションで、子モジュールのインストールの手順とは関係が無い。
「validate で各モジュールの写しを新しくする。init はインストール済みのものに触れないため」… source 引数にある場所からモジュールのソースコードを取ってくるのは、init の Child Module Installation の手順の仕事で、新しい module ブロックもそこでインストールされる。validate はその役を持たない。

init の再実行とモジュール
新しい module ブロック: オプションの無い init でインストールされる。インストール済みのモジュール: -upgrade を付けたときに更新される。

HashiCorp Certified: Terraform Associateの演習アプリ(無料10問・全問は購入で)へ

問題集(note)を見る