Terraform-HCL基礎構文
2581 ワード
HCL Syntax
resource "aws_vpc" "main" {
cidr_block = var.base_cidr_block
}
<BLOCK TYPE> "<BLOCK LABEL>" "<BLOCK LABEL>" {
# Block body
<IDENTIFIER> = <EXPRESSIONS> # Argument
}
最初の命令=Block Type2番目の命令=BlockタイプでサポートされているLabel(1つまたは0つ以上)
ex)resource「リソースタイプ」「リソース名」
キー値形式の変数値を指定します.
ex) cidr_block = var.base_cidr_block
TerraformがサポートするBlockタイプ
terraform, provider, resource, data, module, local, variable, output
Terraformファイル構造
ディレクトリ内にあります.tfファイルを作成する場合、tfファイルはHCL構文に従います.JSON拡張子をjsonとして使用することもできます.
Terraformを使用してinit、plan、applyコマンドを発行する場合は、現在のユーザーのディレクトリにあります.tfファイルと.tf.jsonファイルが検索されますが、サブディレクトリは参照されません.
tfファイルを作成する場合は、常にエンコードをUTF-8に設定する必要があります.
tfファイルを持つディレクトリをモジュールと呼びます.
モジュールはRootモジュールとChildモジュールに分けられる.
上の図に示すように、ディレクトリにa,b,cディレクトリ(モジュール)があり、cモジュールがa,bモジュールをインポートすると言うと、cはterraformapplyを実行し、cというワークスペースがルートモジュールとなり、cが使用するa,bモジュールがchildモジュールとなる.
ただし、cでterraformapplyを使用するのではなく、aでterraformapplyを使用すると、aはルートモジュールになります.
ArgumentsとBlock
BlockのLabelを作成する場合、このLabelの値はIdentifierと呼ばれ、いくつかの制限があります.
Identifierで入力できる値は、文字列、数字、-の4種類です.
しかし、Identifierは最初は数字を入力できませんでした.
Style Conventions
terraform fmt -diff
Terraform fmt-diffコマンドを使用すると、会議の必要に応じてtfファイルに記述されたコードを変更できます.
Reference
この問題について(Terraform-HCL基礎構文), 我々は、より多くの情報をここで見つけました https://velog.io/@hyun6ik/Terraform-HCL-기초문법テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol