モジュール内リソースの参照値は必ずoutputで公開し依存関係を明示する

ルール

Always expose reference values for resources within modules through outputs to make dependencies explicit

(モジュール内リソースの参照値は必ずoutputで公開し、依存関係を明示する)

解説

あるモジュール内で作成されたリソースの値を他のモジュールやリソースで使用する際は、outputブロックを通じて利用させます。 言い方を変えると、dataブロックやARNのハードコーディングを用いるコーディングは、保守性を落とすため避けるべきです。

サンプルコード

# outputで参照値を明示的に公開
# modules/networking/outputs.tf
output "vpc_id" {
  description = "The ID of the VPC"
  value       = aws_vpc.main.id
}

参考リンク

Show Text to Share
モジュール内リソースの参照値は必ずoutputで公開し依存関係を明示する
https://www.tricrow.com/infrastructure/development-guidline/module_design.output_dependency.html
この記事を書いた人
T.Nakamura
T.Nakamura
SRE | セキュリティ前提の設計・運用・監査対応(PCI DSS) | ドキュメント整備と仕組み化で開発・運用を整えます | AWS SAP / 日商簿記一級フォローはこちら

カテゴリ

タグ