{"id":2322,"date":"2025-03-24T08:47:41","date_gmt":"2025-03-23T23:47:41","guid":{"rendered":"https:\/\/dexall.co.jp\/articles\/?p=2322"},"modified":"2025-03-24T08:48:04","modified_gmt":"2025-03-23T23:48:04","slug":"%e3%80%90%e4%bf%9d%e5%ad%98%e7%89%88%e3%80%91terraform-docs%e3%81%ae%e5%ae%8c%e5%85%a8%e3%82%ac%e3%82%a4%e3%83%89%ef%bc%9a%e8%87%aa%e5%8b%95%e3%83%89%e3%82%ad%e3%83%a5%e3%83%a1%e3%83%b3%e3%83%88","status":"publish","type":"post","link":"https:\/\/dexall.co.jp\/articles\/?p=2322","title":{"rendered":"\u3010\u4fdd\u5b58\u7248\u3011Terraform Docs\u306e\u5b8c\u5168\u30ac\u30a4\u30c9\uff1a\u81ea\u52d5\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u4f5c\u6210\u3067\u5de5\u6570\u309250%\u524a\u6e1b\u3059\u308b7\u3064\u306e\u65b9\u6cd5"},"content":{"rendered":"\n<div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>116<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>121<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>128<\/b><br \/>\n    <div id=\"toc_container\" class=\"sgb-toc--bullets js-smooth-scroll\" data-dialog-title=\"\u76ee\u6b21\">\n      <p class=\"toc_title\">\u76ee\u6b21 <\/p>\n      <ul class=\"toc_list\">  <li class=\"first\">    <a href=\"#i-0\">Terraform Docs \u3068\u306f\uff1f\u81ea\u52d5\u4f5c\u6210\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u691c\u8a0e\u7684\u306a\u30c4\u30fc\u30eb<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-1\">\u30a4\u30f3\u30d5\u30e9\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u4f5c\u6210\u306e\u8ab2\u984c\u3092\u89e3\u6c7a\u3059\u308bTerraform Docs<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-2\">Terraform Docs\u304c\u9078\u3070\u308c\u308b3\u3064\u306e\u7406\u7531<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-3\">Terraform Docs\u306e\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\uff1a10\u5206\u3067\u59cb\u3081\u308b\u81ea\u52d5\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u751f\u6210<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-4\">Terraform Docs\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u624b\u9806<\/a>      <\/li>      <li>        <a href=\"#i-5\">\u57fa\u672c\u7684\u306a\u30b3\u30de\u30f3\u30c9\u3068\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u66f8\u304d\u65b9<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-6\">\u521d\u3081\u3066\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u751f\u6210\uff1a\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u4ed8\u304d\u89e3\u8aac<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-7\">Terraform Docs \u306e\u5b9f\u8df5\u7684\u306a\u6d3b\u7528\u65b9\u6cd5\uff1a\u73fe\u5834\u3067\u4f7f\u3048\u308b 7 \u3064\u306e\u30c6\u30af\u30cb\u30c3\u30af<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-8\">\u30ab\u30b9\u30bf\u30e0\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f7f\u7528\u3057\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30d6\u30e9\u30f3\u30c9\u5316<\/a>      <\/li>      <li>        <a href=\"#i-9\">\u30e2\u30b8\u30e5\u30fc\u30eb\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u81ea\u52d5\u751f\u6210\u3068\u7ba1\u7406<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-10\">CI\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3078\u306e\u7d44\u307f\u8fbc\u307f\u65b9<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-11\">Terraform Docs\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff1a\u52b9\u7387\u3092\u6700\u5927\u5316\u3059\u308b\u5b9f\u88c5\u65b9\u6cd5<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-12\">\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u69cb\u9020\u306e\u8a2d\u8a08\u30d1\u30bf\u30fc\u30f3<\/a>      <\/li>      <li>        <a href=\"#i-13\">\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u3068\u306e\u9023\u643a\u65b9\u6cd5<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-14\">\u30c1\u30fc\u30e0\u958b\u767a\u306b\u304a\u3051\u308b\u6d3b\u7528\u306e\u30b3\u30c4<\/a>      <\/li>    <\/ul>  <\/li>  <li class=\"last\">    <a href=\"#i-15\">\u3088\u304f\u3042\u308b\u30c8\u30e9\u30d6\u30eb\u3068\u89e3\u6c7a\u65b9\u6cd5\uff1a\u5b9f\u52d9\u3067\u906d\u9047\u3059\u308b5\u3064\u306e\u8ab2\u984c<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-16\">\u751f\u6210\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u69cb\u9020\u304c\u5d29\u308c\u308b\u554f\u984c\u306e\u5bfe\u51e6\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-17\">\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u6642\u306e\u30a8\u30e9\u30fc\u5bfe\u5fdc<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-18\">\u5927\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316<\/a>      <\/li>    <\/ul>  <\/li><\/ul>\n      <a href=\"#\" class=\"sgb-toc-button js-toc-button\" rel=\"nofollow\" data-open-dialog=\"true\"><i class=\"fa fa-list\"><\/i><span class=\"sgb-toc-button__text\">\u76ee\u6b21\u3078<\/span><\/a>\n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\">Terraform Docs \u3068\u306f\uff1f\u81ea\u52d5\u4f5c\u6210\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u691c\u8a0e\u7684\u306a\u30c4\u30fc\u30eb<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Terraform Docs\u306f\u3001Terraform\u30b3\u30fc\u30c9\u304b\u3089\u81ea\u52d5\u7684\u306b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u751f\u6210\u3059\u308b\u305f\u3081\u306e\u30c4\u30fc\u30eb\u3067\u3059\u3002Infrastructure as Code\uff08IaC\uff09\u306e\u5b9f\u8df5\u306b\u304a\u3044\u3066\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u4f5c\u6210\u306f\u91cd\u8981\u3067\u3042\u308a\u306a\u304c\u3089\u3001\u591a\u304f\u306e\u30c1\u30fc\u30e0\u306b\u3068\u3063\u3066\u8ca0\u62c5\u3068\u306a\u3063\u3066\u3044\u308b\u4f5c\u696d\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-1\">\u30a4\u30f3\u30d5\u30e9\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u4f5c\u6210\u306e\u8ab2\u984c\u3092\u89e3\u6c7a\u3059\u308bTerraform Docs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f93\u6765\u306e\u30a4\u30f3\u30d5\u30e9\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u4f5c\u6210\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8ab2\u984c\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3057\u305f\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u624b\u52d5\u66f4\u65b0\u306b\u3088\u308b\u5de5\u6570\u306e\u5897\u5927<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30b3\u30fc\u30c9\u5909\u66f4\u306e\u305f\u3073\u306b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u66f4\u65b0\u3059\u308b\u5fc5\u8981\u6027<\/li>\n\n\n\n<li>\u66f4\u65b0\u5fd8\u308c\u306b\u3088\u308b\u4e0d\u6574\u5408\u306e\u767a\u751f<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u7d71\u4e00\u6027\u7dad\u6301<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30c1\u30fc\u30e0\u30e1\u30f3\u30d0\u30fc\u9593\u3067\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5f62\u5f0f\u306e\u63fa\u308c<\/li>\n\n\n\n<li>\u30ec\u30d3\u30e5\u30fc\u6642\u306e\u52b9\u7387\u4f4e\u4e0b<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u3068\u306e\u9023\u643a<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30b3\u30fc\u30c9\u3068\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u540c\u671f\u7dad\u6301\u306e\u96e3\u3057\u3055<\/li>\n\n\n\n<li>\u5909\u66f4\u5c65\u6b74\u306e\u8ffd\u8de1\u306b\u304a\u3051\u308b\u624b\u9593<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Terraform Docs\u306f\u3001\u3053\u308c\u3089\u306e\u8ab2\u984c\u306b\u5bfe\u3057\u3066\u81ea\u52d5\u5316\u3055\u308c\u305f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-2\">Terraform Docs\u304c\u9078\u3070\u308c\u308b3\u3064\u306e\u7406\u7531<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5b8c\u5168\u306a\u81ea\u52d5\u5316\u306b\u3088\u308b\u5de5\u6570\u524a\u6e1b<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Terraform\u30b3\u30fc\u30c9\u304b\u3089\u81ea\u52d5\u7684\u306b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u751f\u6210<\/li>\n\n\n\n<li>\u5909\u66f4\u306e\u90fd\u5ea6\u3001\u5373\u5ea7\u306b\u53cd\u6620\u304c\u53ef\u80fd<\/li>\n\n\n\n<li>\u5e73\u574750%\u4ee5\u4e0a\u306e\u5de5\u6570\u524a\u6e1b\u3092\u5b9f\u73fe<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4e00\u8cab\u6027\u306e\u3042\u308b\u6587\u66f8\u69cb\u9020<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6a19\u6e96\u5316\u3055\u308c\u305f\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u9069\u7528<\/li>\n\n\n\n<li>\u30e2\u30b8\u30e5\u30fc\u30eb\u9593\u306e\u7d71\u4e00\u3055\u308c\u305f\u8aac\u660e\u30b9\u30bf\u30a4\u30eb<\/li>\n\n\n\n<li>\u30c1\u30fc\u30e0\u5168\u4f53\u3067\u306e\u53ef\u8aad\u6027\u5411\u4e0a<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u67d4\u8edf\u306a\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u6027<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u72ec\u81ea\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4f5c\u6210\u304c\u53ef\u80fd<\/li>\n\n\n\n<li>\u591a\u69d8\u306a\u51fa\u529b\u5f62\u5f0f\uff08Markdown, HTML\u7b49\uff09<\/li>\n\n\n\n<li>CI\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3068\u306e\u5bb9\u6613\u306a\u7d71\u5408<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u969b\u306e\u73fe\u5834\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u7279\u5fb4\u3092\u6d3b\u304b\u3057\u3066\u3001\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3\u306e\u5909\u66f4\u7ba1\u7406\u3084\u30c1\u30fc\u30e0\u30b3\u30e9\u30dc\u30ec\u30fc\u30b7\u30e7\u30f3\u306e\u52b9\u7387\u5316\u306b\u6d3b\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5177\u4f53\u7684\u306a\u5c0e\u5165\u624b\u9806\u3068\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-3\">Terraform Docs\u306e\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\uff1a10\u5206\u3067\u59cb\u3081\u308b\u81ea\u52d5\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u751f\u6210<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-4\">Terraform Docs\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u624b\u9806<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Terraform Docs\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u8907\u6570\u306e\u65b9\u6cd5\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u4ee5\u4e0b\u306b\u4e3b\u8981\u306a\u65b9\u6cd5\u3092\u793a\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Homebrew\u3092\u4f7f\u7528\u3059\u308b\u65b9\u6cd5\uff08macOS\uff09<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Homebrew\u3092\u4f7f\u7528\u3057\u305f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\nbrew install terraform-docs<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30d0\u30a4\u30ca\u30ea\u3092\u76f4\u63a5\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u65b9\u6cd5\uff08Linux\/Windows\uff09<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Linux\u306e\u5834\u5408\ncurl -Lo terraform-docs.tar.gz https:\/\/github.com\/terraform-docs\/terraform-docs\/releases\/download\/v0.16.0\/terraform-docs-v0.16.0-$(uname)-amd64.tar.gz\ntar -xzf terraform-docs.tar.gz\nchmod +x terraform-docs\nsudo mv terraform-docs \/usr\/local\/bin\/<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Docker\u7d4c\u7531\u3067\u306e\u5229\u7528<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker pull quay.io\/terraform-docs\/terraform-docs:latest\ndocker run quay.io\/terraform-docs\/terraform-docs:latest version<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-5\">\u57fa\u672c\u7684\u306a\u30b3\u30de\u30f3\u30c9\u3068\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u66f8\u304d\u65b9<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Terraform Docs\u306e\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u306f\u975e\u5e38\u306b\u30b7\u30f3\u30d7\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u57fa\u672c\u7684\u306a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u751f\u6210<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306eTerraform\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u751f\u6210\nterraform-docs markdown .\n\n# \u7279\u5b9a\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u6307\u5b9a\u3057\u3066\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u751f\u6210\nterraform-docs markdown .\/modules\/vpc<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\uff08.terraform-docs.yml\uff09\u306e\u4f5c\u6210<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># .terraform-docs.yml\nformatter: \"markdown\"\n\nversion: \"&gt;= 0.14.0\"\n\nheader-from: main.tf\nfooter-from: \"\"\n\nsections:\n  show:\n    - requirements\n    - providers\n    - modules\n    - inputs\n    - outputs\n\noutput:\n  file: \"README.md\"\n  mode: inject\n  template: |-\n    &lt;!-- BEGIN_TF_DOCS --&gt;\n    {{ .Content }}\n    &lt;!-- END_TF_DOCS --&gt;<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u51fa\u529b\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u6307\u5b9a<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># markdown\u30c6\u30fc\u30d6\u30eb\u5f62\u5f0f\u3067\u51fa\u529b\nterraform-docs markdown table .\n\n# JSON\u5f62\u5f0f\u3067\u51fa\u529b\nterraform-docs json .\n\n# YAML\u5f62\u5f0f\u3067\u51fa\u529b\nterraform-docs yaml .<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-6\">\u521d\u3081\u3066\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u751f\u6210\uff1a\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u4ed8\u304d\u89e3\u8aac<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306e\u4f7f\u7528\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u4ee5\u4e0b\u306f\u5178\u578b\u7684\u306aTerraform\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u69cb\u6210\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># main.tf\nvariable \"vpc_name\" {\n  description = \"Name of the VPC\"\n  type        = string\n}\n\nvariable \"cidr_block\" {\n  description = \"CIDR block for the VPC\"\n  type        = string\n  default     = \"10.0.0.0\/16\"\n}\n\nresource \"aws_vpc\" \"main\" {\n  cidr_block = var.cidr_block\n\n  tags = {\n    Name = var.vpc_name\n    Environment = var.environment\n  }\n}\n\noutput \"vpc_id\" {\n  description = \"The ID of the VPC\"\n  value       = aws_vpc.main.id\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30b3\u30fc\u30c9\u306b\u5bfe\u3057\u3066Terraform Docs\u3092\u5b9f\u884c\u3059\u308b\u3068\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">terraform-docs markdown table .<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u6574\u5f62\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304c\u751f\u6210\u3055\u308c\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">## Requirements\n\n| Name | Version |\n|------|---------|\n| terraform | &gt;= 0.13.0 |\n| aws | &gt;= 3.0.0 |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| vpc_name | Name of the VPC | `string` | n\/a | yes |\n| cidr_block | CIDR block for the VPC | `string` | `\"10.0.0.0\/16\"` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| vpc_id | The ID of the VPC |<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u3092\u7fd2\u5f97\u3059\u308b\u3053\u3068\u3067\u3001\u4ee5\u964d\u306e\u3088\u308a\u9ad8\u5ea6\u306a\u6d3b\u7528\u65b9\u6cd5\u3078\u3068\u30b9\u30c6\u30c3\u30d7\u30a2\u30c3\u30d7\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5b9f\u8df5\u7684\u306a\u6d3b\u7528\u65b9\u6cd5\u3068\u30c6\u30af\u30cb\u30c3\u30af\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-7\">Terraform Docs \u306e\u5b9f\u8df5\u7684\u306a\u6d3b\u7528\u65b9\u6cd5\uff1a\u73fe\u5834\u3067\u4f7f\u3048\u308b 7 \u3064\u306e\u30c6\u30af\u30cb\u30c3\u30af<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-8\">\u30ab\u30b9\u30bf\u30e0\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f7f\u7528\u3057\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30d6\u30e9\u30f3\u30c9\u5316<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u7d44\u7e54\u72ec\u81ea\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30b9\u30bf\u30a4\u30eb\u3092\u9069\u7528\u3059\u308b\u305f\u3081\u306e\u30ab\u30b9\u30bf\u30e0\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u6d3b\u7528\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30ab\u30b9\u30bf\u30e0\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4f5c\u6210\u4f8b<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># custom-template.tmpl\n---\n{{ .Header }}\n\n## \u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3\u6982\u8981\n{{ .Inputs }}\n\n## \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u8981\u4ef6\n{{ .Requirements }}\n\n## \u69cb\u6210\u8981\u7d20\n{{ .Modules }}\n\n## \u51fa\u529b\u5024\n{{ .Outputs }}\n\n---\n\u6700\u7d42\u66f4\u65b0\u65e5: {{ datetime \"2006-01-02\" }}<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u9069\u7528\u30b3\u30de\u30f3\u30c9<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">terraform-docs markdown --config custom-template.tmpl .<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-9\">\u30e2\u30b8\u30e5\u30fc\u30eb\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u81ea\u52d5\u751f\u6210\u3068\u7ba1\u7406<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5927\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u7ba1\u7406\u3092\u52b9\u7387\u5316\u3059\u308b\u65b9\u6cd5\u3067\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30e2\u30b8\u30e5\u30fc\u30eb\u69cb\u9020\u306e\u6a19\u6e96\u5316<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">modules\/\n  \u251c\u2500\u2500 vpc\/\n  \u2502   \u251c\u2500\u2500 main.tf\n  \u2502   \u251c\u2500\u2500 variables.tf\n  \u2502   \u251c\u2500\u2500 outputs.tf\n  \u2502   \u2514\u2500\u2500 README.md\n  \u251c\u2500\u2500 ecs\/\n  \u2502   \u251c\u2500\u2500 main.tf\n  \u2502   \u251c\u2500\u2500 variables.tf\n  \u2502   \u251c\u2500\u2500 outputs.tf\n  \u2502   \u2514\u2500\u2500 README.md\n  \u2514\u2500\u2500 rds\/\n      \u251c\u2500\u2500 main.tf\n      \u251c\u2500\u2500 variables.tf\n      \u251c\u2500\u2500 outputs.tf\n      \u2514\u2500\u2500 README.md<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u4e00\u62ec\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u751f\u6210\u30b9\u30af\u30ea\u30d7\u30c8<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#!\/bin\/bash\nfor module in .\/modules\/*\/; do\n    echo \"Generating docs for ${module}\"\n    terraform-docs markdown table \"${module}\" &gt; \"${module}README.md\"\ndone<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-10\">CI\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3078\u306e\u7d44\u307f\u8fbc\u307f\u65b9<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">GitHubActions\u3092\u4f7f\u7528\u3057\u305f\u81ea\u52d5\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u751f\u6210\u306e\u4f8b\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># .github\/workflows\/terraform-docs.yml\nname: Generate terraform docs\non:\n  push:\n    branches:\n      - main\n    paths:\n      - '**.tf'\n\njobs:\n  docs:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions\/checkout@v2\n      with:\n        ref: ${{ github.event.pull_request.head.ref }}\n\n    - name: Render terraform docs\n      uses: terraform-docs\/gh-actions@v1.0.0\n      with:\n        working-dir: .\n        output-file: README.md\n        output-method: inject\n        config-file: .terraform-docs.yml\n\n    - name: Commit changes\n      uses: stefanzweifel\/git-auto-commit-action@v4\n      with:\n        commit_message: \"docs: Update terraform docs\"\n        file_pattern: README.md<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u8df5\u7684\u306a\u30c6\u30af\u30cb\u30c3\u30af4-7:<\/p>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>\u5909\u6570\u306e\u30b0\u30eb\u30fc\u30d7\u5316\u3068\u69cb\u9020\u5316<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># variables.tf\n# \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a\u30b0\u30eb\u30fc\u30d7\nvariable \"network\" {\n  description = \"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u95a2\u9023\u306e\u8a2d\u5b9a\"\n  type = object({\n    vpc_cidr = string\n    subnets  = map(string)\n    enable_nat = bool\n  })\n}\n\n# \u30bf\u30b0\u8a2d\u5b9a\u30b0\u30eb\u30fc\u30d7\nvariable \"tags\" {\n  description = \"\u30ea\u30bd\u30fc\u30b9\u5171\u901a\u306e\u30bf\u30b0\u8a2d\u5b9a\"\n  type = map(string)\n}<\/pre>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li><strong>\u6761\u4ef6\u4ed8\u304d\u30ea\u30bd\u30fc\u30b9\u751f\u6210\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5316<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># conditional.tf\nvariable \"enable_monitoring\" {\n  description = \"\u76e3\u8996\u6a5f\u80fd\u3092\u6709\u52b9\u306b\u3059\u308b\u304b\u3069\u3046\u304b\"\n  type        = bool\n  default     = false\n}\n\n# \u3053\u306e\u30ea\u30bd\u30fc\u30b9\u306f\u6761\u4ef6\u4ed8\u304d\u3067\u4f5c\u6210\u3055\u308c\u308b\u3053\u3068\u3092\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u660e\u8a18\nresource \"aws_cloudwatch_log_group\" \"monitoring\" {\n  count = var.enable_monitoring ? 1 : 0\n  name  = \"\/aws\/monitoring\"\n}<\/pre>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li><strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8a2d\u5b9a\u306e\u53ef\u8996\u5316<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># security.tf\nresource \"aws_security_group\" \"example\" {\n  # \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30b0\u30eb\u30fc\u30d7\u306e\u30eb\u30fc\u30eb\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u8a18\u8ff0\n  # terraform-docs\u304c\u81ea\u52d5\u7684\u306b\u3053\u308c\u3089\u306e\u30b3\u30e1\u30f3\u30c8\u3092\u62fe\u3044\u307e\u3059\n  ingress {\n    description = \"\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u7528\u30dd\u30fc\u30c8\"\n    from_port   = 8080\n    to_port     = 8080\n    protocol    = \"tcp\"\n    cidr_blocks = [\"10.0.0.0\/16\"]\n  }\n}<\/pre>\n\n\n\n<ol start=\"7\" class=\"wp-block-list\">\n<li><strong>\u4f9d\u5b58\u95a2\u4fc2\u306e\u660e\u78ba\u5316<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># dependencies.tf\n# \u30e2\u30b8\u30e5\u30fc\u30eb\u9593\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u660e\u793a\u7684\u306b\u8a18\u8ff0\nmodule \"vpc\" {\n  source = \".\/modules\/vpc\"\n}\n\nmodule \"ecs\" {\n  source = \".\/modules\/ecs\"\n  vpc_id = module.vpc.vpc_id  # \u4f9d\u5b58\u95a2\u4fc2\u304c\u660e\u78ba\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u7ba1\u7406\u3057\u3084\u3059\u304f\u3001\u7406\u89e3\u3057\u3084\u3059\u3044\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u5b9f\u8df5\u7684\u306a\u30c6\u30af\u30cb\u30c3\u30af\u3092\u6700\u5927\u9650\u6d3b\u7528\u3059\u308b\u305f\u3081\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-11\">Terraform Docs\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff1a\u52b9\u7387\u3092\u6700\u5927\u5316\u3059\u308b\u5b9f\u88c5\u65b9\u6cd5<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-12\">\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u69cb\u9020\u306e\u8a2d\u8a08\u30d1\u30bf\u30fc\u30f3<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u52b9\u7387\u7684\u306a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u7ba1\u7406\u306e\u305f\u3081\u306e\u8a2d\u8a08\u30d1\u30bf\u30fc\u30f3\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30e2\u30b8\u30e5\u30e9\u30fc\u69cb\u9020\u306e\u63a1\u7528<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u63a8\u5968\u3055\u308c\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u9020\n.\n\u251c\u2500\u2500 environments\/\n\u2502   \u251c\u2500\u2500 dev\/\n\u2502   \u2502   \u2514\u2500\u2500 main.tf\n\u2502   \u2514\u2500\u2500 prod\/\n\u2502       \u2514\u2500\u2500 main.tf\n\u251c\u2500\u2500 modules\/\n\u2502   \u251c\u2500\u2500 networking\/\n\u2502   \u2502   \u251c\u2500\u2500 README.md\n\u2502   \u2502   \u251c\u2500\u2500 main.tf\n\u2502   \u2502   \u251c\u2500\u2500 variables.tf\n\u2502   \u2502   \u2514\u2500\u2500 outputs.tf\n\u2502   \u2514\u2500\u2500 compute\/\n\u2502       \u251c\u2500\u2500 README.md\n\u2502       \u251c\u2500\u2500 main.tf\n\u2502       \u251c\u2500\u2500 variables.tf\n\u2502       \u2514\u2500\u2500 outputs.tf\n\u2514\u2500\u2500 .terraform-docs.yml<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u6a19\u6e96\u5316\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30d8\u30c3\u30c0\u30fc<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/**\n * # \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30e2\u30b8\u30e5\u30fc\u30eb\n * \n * \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u57fa\u672c\u7684\u306aVPC\u3068\u30b5\u30d6\u30cd\u30c3\u30c8\u3092\u69cb\u7bc9\u3057\u307e\u3059\u3002\n * \n * ## \u7279\u5fb4\n * - \u30de\u30eb\u30c1AZ\u69cb\u6210\n * - \u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\/\u30d1\u30d6\u30ea\u30c3\u30af\u30b5\u30d6\u30cd\u30c3\u30c8\n * - NAT\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\uff08\u30aa\u30d7\u30b7\u30e7\u30f3\uff09\n *\/\n\nlocals {\n  module_name = \"networking\"\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-13\">\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u3068\u306e\u9023\u643a\u65b9\u6cd5<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Git Hooks\u306e\u6d3b\u7528<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#!\/bin\/bash\n# .git\/hooks\/pre-commit\n\n# Terraform Docs\u306e\u5b9f\u884c\u3068\u30d0\u30fc\u30b8\u30e7\u30f3\u30c1\u30a7\u30c3\u30af\nif ! command -v terraform-docs &amp;&gt; \/dev\/null; then\n    echo \"terraform-docs \u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u305b\u3093\"\n    exit 1\nfi\n\n# \u5909\u66f4\u3055\u308c\u305fTerraform\u30d5\u30a1\u30a4\u30eb\u3092\u542b\u3080\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u66f4\u65b0\ngit diff --cached --name-only | grep '\\.tf$' | while read file; do\n    dir=$(dirname \"$file\")\n    terraform-docs markdown table \"$dir\" &gt; \"$dir\/README.md\"\n    git add \"$dir\/README.md\"\ndone<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30d0\u30fc\u30b8\u30e7\u30f3\u30bf\u30b0\u3068\u306e\u9023\u52d5<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># .terraform-docs.yml\nversion: \"&gt;= 0.16.0\"\n\nformatter: \"markdown table\"\n\ncontent: |-\n  # ${moduleTitle}\n\n  Version: ${moduleVersion}\n\n  ## \u6982\u8981\n  ${modulePurpose}\n\n  ## \u5909\u66f4\u5c65\u6b74\n  ${changeLog}\n\nsort:\n  enabled: true\n  by: required\n\noutput:\n  file: \"README.md\"\n  mode: inject<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-14\">\u30c1\u30fc\u30e0\u958b\u767a\u306b\u304a\u3051\u308b\u6d3b\u7528\u306e\u30b3\u30c4<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30ec\u30d3\u30e5\u30fc\u30d7\u30ed\u30bb\u30b9\u306e\u81ea\u52d5\u5316<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># .github\/workflows\/pr-check.yml\nname: Pull Request Checks\n\non:\n  pull_request:\n    paths:\n      - '**.tf'\n      - '**.hcl'\n\njobs:\n  docs-check:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v2\n\n      - name: Check Documentation\n        run: |\n          # \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u751f\u6210\n          terraform-docs markdown . &gt; docs_new.md\n\n          # \u65e2\u5b58\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3068\u6bd4\u8f03\n          if ! diff docs_new.md README.md &gt; \/dev\/null; then\n            echo \"\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304c\u6700\u65b0\u3067\u306f\u3042\u308a\u307e\u305b\u3093\"\n            echo \"terraform-docs markdown . \u3092\u5b9f\u884c\u3057\u3066\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u66f4\u65b0\u3057\u3066\u304f\u3060\u3055\u3044\"\n            exit 1\n          fi<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u54c1\u8cea\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u54c1\u8cea\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\n\n- [ ] \u5fc5\u9808\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u8aac\u660e\u304c\u660e\u78ba\u304b\n- [ ] \u4f9d\u5b58\u95a2\u4fc2\u304c\u660e\u793a\u3055\u308c\u3066\u3044\u308b\u304b\n- [ ] \u4f7f\u7528\u4f8b\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u304b\n- [ ] \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4e0a\u306e\u6ce8\u610f\u70b9\u304c\u8a18\u8f09\u3055\u308c\u3066\u3044\u308b\u304b\n- [ ] \u30b3\u30b9\u30c8\u306b\u95a2\u3059\u308b\u60c5\u5831\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u304b<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u52b9\u7387\u7684\u306a\u30ca\u30ec\u30c3\u30b8\u5171\u6709<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u30e2\u30b8\u30e5\u30fc\u30eb\u30ab\u30bf\u30ed\u30b0\u306e\u4f5c\u6210<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># catalog\/main.tf\nmodule \"catalog\" {\n  source = \".\/modules\/catalog\"\n\n  modules = {\n    networking = {\n      path        = \"..\/modules\/networking\"\n      description = \"\u57fa\u672c\u7684\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u69cb\u6210\u3092\u63d0\u4f9b\"\n      owner       = \"networkteam@example.com\"\n      usage       = \"dev\/networking\/README.md\"\n    }\n    compute = {\n      path        = \"..\/modules\/compute\"\n      description = \"EC2\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u7ba1\u7406\u7528\u30e2\u30b8\u30e5\u30fc\u30eb\"\n      owner       = \"computeteam@example.com\"\n      usage       = \"dev\/compute\/README.md\"\n    }\n  }\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u9069\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30c1\u30fc\u30e0\u5168\u4f53\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u7ba1\u7406\u52b9\u7387\u304c\u5927\u5e45\u306b\u5411\u4e0a\u3057\u3001\u9577\u671f\u7684\u306a\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u6027\u3082\u78ba\u4fdd\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5b9f\u969b\u306e\u904b\u7528\u3067\u767a\u751f\u3057\u304c\u3061\u306a\u554f\u984c\u3068\u305d\u306e\u89e3\u6c7a\u65b9\u6cd5\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-15\">\u3088\u304f\u3042\u308b\u30c8\u30e9\u30d6\u30eb\u3068\u89e3\u6c7a\u65b9\u6cd5\uff1a\u5b9f\u52d9\u3067\u906d\u9047\u3059\u308b5\u3064\u306e\u8ab2\u984c<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-16\">\u751f\u6210\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u69cb\u9020\u304c\u5d29\u308c\u308b\u554f\u984c\u306e\u5bfe\u51e6\u6cd5<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>UTF-8\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u554f\u984c<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u554f\u984c\u306e\u4f8b\nterraform-docs markdown . &gt; README.md\n# \u65e5\u672c\u8a9e\u304c\u6587\u5b57\u5316\u3051\u3059\u308b\n\n# \u89e3\u6c7a\u65b9\u6cd5\nexport LANG=ja_JP.UTF-8\nterraform-docs markdown . &gt; README.md<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Markdown\u30c6\u30fc\u30d6\u30eb\u306e\u6574\u5f62\u5d29\u308c<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># .terraform-docs.yml\nformatter: \"markdown table\"\n\nsettings:\n  anchor: true\n  color: true\n  default: true\n  escape: true\n  indent: 2\n  required: true\n  sensitive: true\n  type: true<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-17\">\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u6642\u306e\u30a8\u30e9\u30fc\u5bfe\u5fdc<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u69cb\u6587\u30a8\u30e9\u30fc<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\n{{ .Inputs }}  # \u6b63\u3057\u3044\n{{ inputs }}   # \u8aa4\u308a\uff1a\u30c9\u30c3\u30c8\u304c\u5fc5\u8981\n\n# \u30c7\u30d0\u30c3\u30b0\u30e2\u30fc\u30c9\u3067\u306e\u5b9f\u884c\nterraform-docs markdown --debug .<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30ab\u30b9\u30bf\u30e0\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u30c7\u30d0\u30c3\u30b0<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># template-debug.tmpl\n{{- define \"debug\" -}}\nAvailable variables:\n{{- range $key, $value := . }}\n{{ printf \"- %s: %v\" $key $value }}\n{{- end }}\n{{- end -}}\n\n{{ template \"debug\" . }}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-18\">\u5927\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584\u7b56<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u4e26\u5217\u51e6\u7406\u306b\u3088\u308b\u9ad8\u901f\u5316\nfind . -type f -name \"*.tf\" -exec dirname {} \\; | sort -u | xargs -P 4 -I {} terraform-docs markdown {}\n\n# \u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u6d3b\u7528\nterraform-docs markdown . --cache-dir=\/tmp\/tf-docs-cache<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306e\u6700\u9069\u5316<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># .terraform-docs.yml\nsettings:\n  read-comments: true  # \u30b3\u30e1\u30f3\u30c8\u8aad\u307f\u8fbc\u307f\u3092\u5236\u9650\n  treat-as-code: []    # \u30b3\u30fc\u30c9\u6271\u3044\u3059\u308b\u62e1\u5f35\u5b50\u3092\u5236\u9650<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3088\u304f\u3042\u308b\u554f\u984c\u3068\u305d\u306e\u5bfe\u51e6\u6cd5\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30d0\u30fc\u30b8\u30e7\u30f3\u975e\u4e92\u63db\u306e\u554f\u984c<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u30d0\u30fc\u30b8\u30e7\u30f3\u30c1\u30a7\u30c3\u30af\u30b9\u30af\u30ea\u30d7\u30c8\n#!\/bin\/bash\nrequired_version=\"0.16.0\"\ncurrent_version=$(terraform-docs --version | cut -d' ' -f3)\n\nif [[ $(echo -e \"$required_version\\n$current_version\" | sort -V | head -n1) != \"$required_version\" ]]; then\n    echo \"terraform-docs \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u53e4\u3044\u3067\u3059\uff08$current_version\uff09\"\n    echo \"\u30d0\u30fc\u30b8\u30e7\u30f3 $required_version \u4ee5\u4e0a\u304c\u5fc5\u8981\u3067\u3059\"\n    exit 1\nfi<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u554f\u984c<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u4fee\u6b63\u30b9\u30af\u30ea\u30d7\u30c8\nfind . -name \"README.md\" -type f -exec chmod 644 {} \\;<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>CI\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3067\u306e\u81ea\u52d5\u5316\u306e\u5931\u6557<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u7528\u306eGitHub Actions\u8a2d\u5b9a\nname: Terraform Docs Debug\n\non:\n  workflow_dispatch:\n  pull_request:\n    paths:\n      - '**.tf'\n\njobs:\n  debug:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v2\n\n      - name: Setup Debug Environment\n        run: |\n          echo \"terraform-docs version:\"\n          terraform-docs --version\n\n          echo \"\u30b7\u30b9\u30c6\u30e0\u60c5\u5831:\"\n          uname -a\n\n          echo \"\u30d5\u30a1\u30a4\u30eb\u69cb\u9020:\"\n          tree .\n\n          echo \"\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u78ba\u8a8d:\"\n          cat .terraform-docs.yml || echo \"\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306a\u3057\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u554f\u984c\u306b\u5bfe\u3059\u308b\u5bfe\u51e6\u6cd5\u3092\u77e5\u3063\u3066\u304a\u304f\u3053\u3068\u3067\u3001Terraform Docs\u306e\u904b\u7528\u3092\u3088\u308a\u5b89\u5b9a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u30c1\u30fc\u30e0\u5185\u3067\u77e5\u898b\u3092\u5171\u6709\u3057\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u751f\u6210\u30d7\u30ed\u30bb\u30b9\u3092\u7d99\u7d9a\u7684\u306b\u6539\u5584\u3057\u3066\u3044\u304f\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Warning: Undefined array key &#8220;is_admin&#8221; in \/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/ &#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-2322","post","type-post","status-publish","format-standard","category-aws","nothumb"],"_links":{"self":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/2322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2322"}],"version-history":[{"count":1,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/2322\/revisions"}],"predecessor-version":[{"id":2323,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/2322\/revisions\/2323"}],"wp:attachment":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}