■ はじめに
https://dk521123.hatenablog.com/entry/2019/12/09/222057
https://dk521123.hatenablog.com/entry/2023/04/05/000224
の続き。 今回は、Terraform コードの基本的な文法について扱う。
目次
【1】環境リソース 1)リソース - resource 2)データリソース - data 3)モジュール - module 【2】変数 【3】分岐 1)三項演算子
【1】環境リソース
* Terraform の Data Sources / Resource について。
https://qiita.com/masato930/items/f287ef1d088c160a514b
1)リソース - resource
# resource <固有リソース名> <識別子> resource "resource_name" "local_name" { }
例
resource "local_file" "helloworld" { content = "hello world!!!?" filename = "hello.txt" }
2)データリソース - data
* 読み取り専用のリソースで Data Sources を定義すると、Terraform で定義されたリソース情報を参照可能 => 既に作成済みのリソースなどの情報を取得できる => 詳細は、以下の関連記事を参照のこと
Terraform ~ 基本編 / Data Sources ~
https://dk521123.hatenablog.com/entry/2024/01/16/191006
3)モジュール - module
* Terraformのソースコードをテンプレート化し 再利用可能にする仕組み(関数的な) => 詳細は、以下の関連記事を参照のこと
Terraform ~ 基本編 / Module ~
https://dk521123.hatenablog.com/entry/2023/05/19/113544
【2】変数
* 以下の関連記事を参照のこと
Terraform ~ 基本編 / 変数 ~
https://dk521123.hatenablog.com/entry/2023/12/24/173633
【3】分岐
https://qiita.com/arie0703/items/254e2adcade3bbac1156
1)三項演算子
max_retries = local.env == "dev" ? 0 : 3
参考文献
https://blog.symdon.info/posts/1652772791/
https://zenn.dev/sasakiki/articles/3c903edaea1817
https://papix.hatenablog.com/entry/2021/05/13/181826
https://shinbaichi.com/upload-multi-files-for-s3-using-terraform/
関連記事
Terraform ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/04/05/000224
Terraform ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/12/09/222057
Terraform ~ 基本編 / Data Sources ~
https://dk521123.hatenablog.com/entry/2024/01/16/191006
Terraform ~ 基本編 / Module ~
https://dk521123.hatenablog.com/entry/2023/05/19/113544
Terraform ~ local / variable ~
https://dk521123.hatenablog.com/entry/2023/12/24/173633
Terraform ~ tfstate / Backend ~
https://dk521123.hatenablog.com/entry/2023/05/05/004939
Terraform ~ Workspace ~
https://dk521123.hatenablog.com/entry/2024/06/01/144048
Terraform ~ null_resource / terraform_data ~
https://dk521123.hatenablog.com/entry/2024/06/02/222341
Terraform ~ テンプレート ~
https://dk521123.hatenablog.com/entry/2023/05/22/101325
Terraform ~ 条件分岐 ~
https://dk521123.hatenablog.com/entry/2024/08/13/134030
Terraform ~ ループ ~
https://dk521123.hatenablog.com/entry/2024/08/12/231256
Terraform ~ Terraformあれこれ ~
https://dk521123.hatenablog.com/entry/2023/05/15/205352
Terraform ~ provider ~
https://dk521123.hatenablog.com/entry/2024/06/03/001929
Terraform ~ AWS VPC ~
https://dk521123.hatenablog.com/entry/2024/06/22/221012
Terraform ~ AWS S3 ~
https://dk521123.hatenablog.com/entry/2023/04/09/104204
Terraform ~ AWS IAM ~
https://dk521123.hatenablog.com/entry/2023/04/12/214311
Terraform ~ AWS Glue ~
https://dk521123.hatenablog.com/entry/2023/04/08/220411
Terraform ~ AWS KMS ~
https://dk521123.hatenablog.com/entry/2023/05/26/000000
Terraform ~ AWS Secrets Manager ~
https://dk521123.hatenablog.com/entry/2023/04/11/152801
Terraform ~ AWS CloudWatch ~
https://dk521123.hatenablog.com/entry/2023/05/17/123335
Terraform ~ AWS EC2 ~
https://dk521123.hatenablog.com/entry/2023/05/21/003048
Terraform ~ AWS Lambda / 入門編 ~
https://dk521123.hatenablog.com/entry/2024/05/30/010920
Terraform ~ AWS Lambda / あれこれ ~
https://dk521123.hatenablog.com/entry/2024/05/31/005406
Terraform ~ AWS MWAA ~
https://dk521123.hatenablog.com/entry/2023/12/25/000152
Terraform ~ AWS ECR ~
https://dk521123.hatenablog.com/entry/2023/05/23/002314
Terraform ~ AWS CodeArtifact ~
https://dk521123.hatenablog.com/entry/2024/01/26/232109
Terraform ~ AWS MSK ~
https://dk521123.hatenablog.com/entry/2023/05/14/122215
Terraform ~ AWS MSK Connect ~
https://dk521123.hatenablog.com/entry/2023/05/25/000000
AWS MSK Connect 内の 接続情報を設定を考える
https://dk521123.hatenablog.com/entry/2023/06/04/230737
Terraform ~ tag あれこれ ~
https://dk521123.hatenablog.com/entry/2023/06/05/224944
Terraform ~ Docker ~
https://dk521123.hatenablog.com/entry/2023/04/10/193239
Terraform ~ Datadog ~
https://dk521123.hatenablog.com/entry/2023/05/12/000000
Terraform ~ 特定リソースのみデプロイする ~
https://dk521123.hatenablog.com/entry/2023/04/20/172823
Terraform ~ 複数環境へデプロイすることを考える ~
https://dk521123.hatenablog.com/entry/2023/05/06/003645
Terraform ~ 機密情報の扱いを考える ~
https://dk521123.hatenablog.com/entry/2023/05/18/005103
Terraform ~ tfenv / バージョン管理 ~
https://dk521123.hatenablog.com/entry/2023/01/14/000000
Terraform ~ direnv / プロジェクト隔離 ~
https://dk521123.hatenablog.com/entry/2023/01/15/000000