{"id":49005,"date":"2023-12-26T10:27:21","date_gmt":"2023-11-08T18:15:51","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/"},"modified":"2024-05-04T15:28:01","modified_gmt":"2024-05-04T07:28:01","slug":"%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/","title":{"rendered":"\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230 Terraform v0.12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b"},"content":{"rendered":"<h2>\u9996\u5148<\/h2>\n<p>\u4e3b\u8981\u53c2\u8003\u5b98\u65b9\u6587\u6863\uff0c\u5347\u7ea7\u4eceTerraform v0.11\u5230v0.12\u7248\u672c\u7684\u5907\u5fd8\u5f55\u5907\u5fd8\u5f55\u3002<\/p>\n<p>\u540c\u65f6\uff0c\u6211\u4eec\u8fdb\u884c\u4e86\u5347\u7ea7\u7684\u662f\u4e00\u4e2a\u6d3e\u751f\u81ea\u6b64\u4ed3\u5e93\u7684\u4ed3\u5e93\u3002<br \/>\nhttps:\/\/github.com\/collectivehealth\/terraform-emr-spark-example<\/p>\n<h2>\u7a0b\u5e8f\u3002<\/h2>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u4f7f\u7528tfenv\u51c6\u5907v0.11.14\u548cv0.12\u7cfb\u5217\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>\u5728terraform 0.12checklist\u4e2d\u8fdb\u884c\u5347\u7ea7\u524d\u7684\u68c0\u67e5\u3002<\/p>\n<p>\u5347\u7ea7\u5230v0.12\u7cfb\u5217\u5e76\u6267\u884cterraform init\u3002<\/p>\n<p>\u4f7f\u7528terraform 0.12upgrade\u8fdb\u884c\u8bed\u6cd5\u66ff\u6362\u3002<\/p>\n<h2>\u6240\u6709\u6b65\u9aa4\u7684\u7b14\u8bb0<\/h2>\n<h3>\u4f7f\u7528tfenv\u6765\u51c6\u5907v0.11.14\u548cv0.12\u7cfb\u5217\u7684\u7248\u672c\u3002<\/h3>\n<p>\u4f7f\u7528tfenv\u80fd\u591f\u8f7b\u677e\u5207\u6362\u7248\u672c\uff0c\u56e0\u6b64\u6211\u4eec\u4f7f\u7528\u8fd9\u4e2a\u5de5\u5177\u3002\u5c06\u94fe\u63a5\u4e3ahttps:\/\/github.com\/tfutils\/tfenv.<\/p>\n<pre class=\"post-pre\"><code>$ tfenv install 0.11.14\r\n$ tfenv install 0.12.6\r\n$ tfenv use 0.11.14\r\n$ tfenv list\r\n  0.12.6\r\n* 0.11.14 (set by \/usr\/local\/Cellar\/tfenv\/1.0.1\/version)\r\n<\/code><\/pre>\n<p>\u53e6\u5916\uff0c\u5c06tf\u6587\u4ef6\u517c\u5bb9\u5230v0.11.14\u7248\u672c\u3002<\/p>\n<h3>\u4f7f\u7528Terraform 0.12\u6e05\u5355\u8fdb\u884c\u5347\u7ea7\u524d\u7684\u68c0\u67e5\u3002<\/h3>\n<p>\u5728v0.11.14\u7248\u672c\u4e2d\uff0c\u6709\u4e00\u4e2a\u540d\u4e3a0.12checklist\u7684\u547d\u4ee4\uff0c\u53ef\u4ee5\u5728\u5347\u7ea7\u5230v0.12\u7cfb\u5217\u4e4b\u524d\u4f7f\u7528\u8be5\u547d\u4ee4\u8fdb\u884c\u9884\u5148\u68c0\u67e5\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform 0.12checklist\r\nAfter analyzing this configuration and working directory, \r\nwe have identified some necessary steps that we recommend you take before upgrading to Terraform v0.12:\r\n\r\n- [ ] Upgrade provider \"aws\" to version 2.40.0 or newer.\r\n\r\n  No currently-installed version is compatible with Terraform 0.12. \r\nTo upgrade, set the version constraint for this provider as follows and then run `terraform init`:\r\n\r\n      version = \"~&gt; 2.40.0\"\r\n\r\n- [ ] Upgrade provider \"random\" to version 2.2.1 or newer.\r\n\r\n  No currently-installed version is compatible with Terraform 0.12. \r\nTo upgrade, set the version constraint for this provider as follows and then run `terraform init`:\r\n\r\n      version = \"~&gt; 2.2.1\"\r\n\r\n- [ ] Upgrade provider \"template\" to version 2.1.2 or newer.\r\n\r\n  No currently-installed version is compatible with Terraform 0.12. \r\nTo upgrade, set the version constraint for this provider as follows and then run `terraform init`:\r\n\r\n      version = \"~&gt; 2.1.2\"\r\n\r\n- [ ] Upgrade provider \"tls\" to version 2.1.1 or newer.\r\n\r\n  No currently-installed version is compatible with Terraform 0.12. \r\nTo upgrade, set the version constraint for this provider as follows and then run `terraform init`:\r\n\r\n      version = \"~&gt; 2.1.1\"\r\n\r\n# Module `\"bootstrap\"`\r\n\r\n# Module `\"emr\"`\r\n\r\n# Module `\"lb\"`\r\n\r\n# Module `\"s3\"`\r\n\r\n# Module `\"sec\"`\r\n\r\n# Module `\"sgs\"`\r\n\r\nTaking these steps before upgrading to Terraform v0.12 will simplify the upgrade process by avoiding syntax errors and other compatibility problems.\r\n<\/code><\/pre>\n<p>\u7531\u4e8e\u672c\u6b21\u66f4\u65b0\u4e2d\u67094\u4e2aProvider\u4e0ev0.12\u7cfb\u5217\u4e0d\u517c\u5bb9\uff0c\u56e0\u6b64\u6309\u7167\u6307\u793a\u66f4\u6539\u4e86\u7248\u672c\u9650\u5236\uff0c\u5e76\u6267\u884c\u4e86terraform init\u3002<br \/>\n\u5f53\u95ee\u9898\u89e3\u51b3\u540e\uff0c\u5c06\u663e\u793a\u4ee5\u4e0b\u6d88\u606f\u3002<\/p>\n<pre class=\"post-pre\"><code>Looks good! We did not detect any problems that ought to be\r\naddressed before upgrading to Terraform v0.12.\r\n\r\nThis tool is not perfect though, so please check the v0.12 upgrade\r\nguide for additional guidance, and for next steps:\r\n    https:\/\/www.terraform.io\/upgrade-guides\/0-12.html\r\n<\/code><\/pre>\n<h3>\u5347\u7ea7\u81f3v0.12\u7248\u672c\u5e76\u6267\u884cterraform init\u3002<\/h3>\n<p>\u4f7f\u7528tfenv\u8fdb\u884c\u7248\u672c\u5207\u6362<\/p>\n<pre class=\"post-pre\"><code>$ tfenv use 0.12.6\r\n$ tfenv list\r\n* 0.12.6 (set by \/usr\/local\/Cellar\/tfenv\/1.0.1\/version)\r\n  0.11.14\r\n<\/code><\/pre>\n<p>\u6267\u884c&#8221;terraform init&#8221;\u547d\u4ee4\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform init\r\nThere are some problems with the configuration, described below.\r\n\r\nThe Terraform configuration must be valid before initialization so that\r\nTerraform can determine which modules and providers need to be installed.\r\n\r\nError: Extraneous label for provider\r\n\r\n  on config.tf line 5, in provider \"aws\" \"aws\":\r\n   5: provider \"aws\" \"aws\" {\r\n\r\nOnly 1 labels (name) are expected for provider blocks.\r\n\r\n\r\nError: Extraneous label for provider\r\n\r\n  on config.tf line 10, in provider \"random\" \"random\":\r\n  10: provider \"random\" \"random\" {\r\n\r\nOnly 1 labels (name) are expected for provider blocks.\r\n\r\n\r\nError: Extraneous label for provider\r\n\r\n  on config.tf line 14, in provider \"template\" \"template\":\r\n  14: provider \"template\" \"template\" {\r\n\r\nOnly 1 labels (name) are expected for provider blocks.\r\n\r\n\r\nError: Extraneous label for provider\r\n\r\n  on config.tf line 18, in provider \"archive\" \"archive\":\r\n  18: provider \"archive\" \"archive\" {\r\n\r\nOnly 1 labels (name) are expected for provider blocks.\r\n\r\n\r\nError: Extraneous label for provider\r\n\r\n  on config.tf line 22, in provider \"tls\" \"tls\":\r\n  22: provider \"tls\" \"tls\" {\r\n\r\nOnly 1 labels (name) are expected for provider blocks.\r\n\r\n\r\nError: Extraneous label for provider\r\n\r\n  on config.tf line 26, in provider \"http\" \"http\":\r\n  26: provider \"http\" \"http\" {\r\n\r\nOnly 1 labels (name) are expected for provider blocks.\r\n\r\n\r\nError: Extraneous label for provider\r\n\r\n  on config.tf line 30, in provider \"local\" \"local\":\r\n  30: provider \"local\" \"local\" {\r\n\r\nOnly 1 labels (name) are expected for provider blocks.\r\n<\/code><\/pre>\n<p>\u7531\u4e8e\u63d0\u4f9b\u8005\u5757\u7684\u4ee3\u7801\u4e0d\u517c\u5bb9\uff0c\u6211\u4eec\u8fdb\u884c\u4e86\u4fee\u6b63\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gd\">-provider \"aws\" \"aws\" {\r\n<\/span><span class=\"gi\">+provider \"aws\" {\r\n<\/span><\/code><\/pre>\n<h3>\u4f7f\u7528Terraform 0.12upgrade\u8fdb\u884c\u8bed\u6cd5\u66ff\u6362\u3002<\/h3>\n<p>\u57280.12\u7248\u672c\u4e2d\uff0c\u6709\u4e00\u4e2a\u540d\u4e3a0.12upgrade\u7684\u547d\u4ee4\uff0c\u53ef\u4ee5\u4f7f\u7528\u8be5\u547d\u4ee4\u5c06\u4ee3\u7801\u8f6c\u6362\u4e3a0.12\u7248\u672c\u7684\u8bed\u6cd5\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform 0.12upgrade\r\n\r\nThis command will rewrite the configuration files in the given directory so\r\nthat they use the new syntax features from Terraform v0.12, and will identify\r\nany constructs that may need to be adjusted for correct operation with\r\nTerraform v0.12.\r\n\r\nWe recommend using this command in a clean version control work tree, so that\r\nyou can easily see the proposed changes as a diff against the latest commit.\r\nIf you have uncommited changes already present, we recommend aborting this\r\ncommand and dealing with them before running this command again.\r\n\r\nWould you like to upgrade the module in the current directory?\r\n  Only 'yes' will be accepted to confirm.\r\n\r\n  Enter a value: \r\n<\/code><\/pre>\n<p>\u8f93\u5165&#8221;\u662f&#8221;\u5c06\u6267\u884c\u91cd\u5199\u64cd\u4f5c\u3002\u5b8c\u6210\u540e\u5c06\u663e\u793a\u4ee5\u4e0b\u6d88\u606f\u3002<\/p>\n<pre class=\"post-pre\"><code>Upgrade complete!\r\n\r\nThe configuration files were upgraded successfully. Use your version control\r\nsystem to review the proposed changes, make any necessary adjustments, and\r\nthen commit.\r\n<\/code><\/pre>\n<p>\u5982\u679c\u5df2\u7ecf\u5b8c\u6210\u5347\u7ea7\uff0c\u5219\u4f1a\u51fa\u73b0\u4ee5\u4e0b\u9519\u8bef\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform 0.12upgrade\r\n\r\nError: Module already upgraded\r\n\r\n  on versions.tf line 3, in terraform:\r\n   3:   required_version = \"&gt;= 0.12\"\r\n\r\nThe module in directory . has a version constraint that suggests it has\r\nalready been upgraded for v0.12. If this is incorrect, either remove this\r\nconstraint or override this heuristic with the -force argument. Upgrading a\r\nmodule that was already upgraded may change the meaning of that module.\r\n<\/code><\/pre>\n<p>\u8fd9\u6b21\u53ef\u80fd\u6ca1\u6709\u9047\u5230\u95ee\u9898\uff0c\u4f46\u662f\u6709\u4e9b\u5730\u65b9\u9700\u8981\u624b\u52a8\u66f4\u6539\u3002<br \/>\n\u6b64\u5916\uff0c0.12 \u7248\u672c\u5347\u7ea7\u547d\u4ee4\u6709\u4ee5\u4e0b\u4e0d\u65b9\u4fbf\u4e4b\u5904\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d5\u30a1\u30a4\u30eb\u672b\u5c3e\u306b\u7a7a\u884c\u304c\u8ffd\u52a0\u3055\u308c\u3066\u3057\u307e\u3046<\/ul>\n<\/li>\n<\/ul>\n<p>https:\/\/github.com\/hashicorp\/terraform\/issues\/21428<\/p>\n<p>\u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306etf\u30d5\u30a1\u30a4\u30eb\u3057\u304b\u5909\u66f4\u3057\u3066\u304f\u308c\u306a\u3044<br \/>\n\u5b9f\u884c\u3057\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306bversions.tf\u304c\u4f5c\u6210\u3055\u308c\u308b<\/p>\n<h2>\u670d\u52a1\u5546\u7684\u5347\u7ea7<\/h2>\n<p>\u901a\u8fc7\u4f7f\u7528 &#8220;terraform init&#8221; \u547d\u4ee4\u52a0\u4e0a &#8220;-upgrade&#8221; \u9009\u9879\uff0c\u53ef\u4ee5\u5c06\u5176\u5347\u7ea7\u5230\u6ee1\u8db3\u7248\u672c\u7ea6\u675f\u7684\u6700\u65b0\u63d0\u4f9b\u5546\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform init -upgrade\r\nUpgrading modules...\r\n- bootstrap in modules\/bootstrap\r\n- emr in modules\/emr\r\n- lb in modules\/lb\r\n- s3 in modules\/s3\r\n- sec in modules\/sec\r\n- sgs in modules\/sgs\r\n\r\nInitializing the backend...\r\n\r\nInitializing provider plugins...\r\n- Checking for available provider plugins...\r\n- Downloading plugin for provider \"archive\" (hashicorp\/archive) 1.3.0...\r\n- Downloading plugin for provider \"tls\" (hashicorp\/tls) 2.1.1...\r\n- Downloading plugin for provider \"http\" (hashicorp\/http) 1.1.1...\r\n- Downloading plugin for provider \"local\" (hashicorp\/local) 1.4.0...\r\n- Downloading plugin for provider \"aws\" (hashicorp\/aws) 2.40.0...\r\n- Downloading plugin for provider \"random\" (hashicorp\/random) 2.2.1...\r\n- Downloading plugin for provider \"template\" (hashicorp\/template) 2.1.2...\r\n<\/code><\/pre>\n<h2>\u8bf7\u4f60\u5728\u8fd9\u91cc\u627e\u5230\u4e00\u79cd\u4e2d\u6587\u7684\u540c\u4e49\u8868\u8fbe\uff1a<\/h2>\n<p>\u53c2\u8003\u4e00\u4e0b<\/p>\n<p>\u7531\u4e8e Terraform 0.12 \u53d1\u5e03\uff0c\u6240\u4ee5\u6211\u8bd5\u7740\u8fdb\u884c\u4e86\u5347\u7ea7\u3002<br \/>\nhttps:\/\/dev.classmethod.jp\/tool\/terraform-upgrade-from-0-11-to-0-12\/<\/p>\n<p>Terraform\u804c\u4eba\u5165\u95e8\uff1a\u5c06\u65e5\u5e38\u8fd0\u7ef4\u4e2d\u5b66\u5230\u7684\u7ecf\u9a8c\u6574\u7406\u68b3\u7406<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u4e3b\u8981\u53c2\u8003\u5b98\u65b9\u6587\u6863\uff0c\u5347\u7ea7\u4eceTerraform v0.11\u5230v0.12\u7248\u672c\u7684\u5907\u5fd8\u5f55\u5907\u5fd8\u5f55\u3002 \u540c\u65f6\uff0c\u6211\u4eec\u8fdb\u884c\u4e86 [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-49005","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230 Terraform v0.12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230-terraform-v0-12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230 Terraform v0.12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u4e3b\u8981\u53c2\u8003\u5b98\u65b9\u6587\u6863\uff0c\u5347\u7ea7\u4eceTerraform v0.11\u5230v0.12\u7248\u672c\u7684\u5907\u5fd8\u5f55\u5907\u5fd8\u5f55\u3002 \u540c\u65f6\uff0c\u6211\u4eec\u8fdb\u884c\u4e86 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230-terraform-v0-12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-08T18:15:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-04T07:28:01+00:00\" \/>\n<meta name=\"author\" content=\"\u65b0, \u97f5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u65b0, \u97f5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/\",\"name\":\"\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230 Terraform v0.12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-11-08T18:15:51+00:00\",\"dateModified\":\"2024-05-04T07:28:01+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230 Terraform v0.12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9\",\"name\":\"\u65b0, \u97f5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g\",\"caption\":\"\u65b0, \u97f5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunxin\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230 Terraform v0.12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230-terraform-v0-12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230 Terraform v0.12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b","og_description":"\u9996\u5148 \u4e3b\u8981\u53c2\u8003\u5b98\u65b9\u6587\u6863\uff0c\u5347\u7ea7\u4eceTerraform v0.11\u5230v0.12\u7248\u672c\u7684\u5907\u5fd8\u5f55\u5907\u5fd8\u5f55\u3002 \u540c\u65f6\uff0c\u6211\u4eec\u8fdb\u884c\u4e86 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230-terraform-v0-12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-11-08T18:15:51+00:00","article_modified_time":"2024-05-04T07:28:01+00:00","author":"\u65b0, \u97f5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u65b0, \u97f5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/","name":"\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230 Terraform v0.12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-11-08T18:15:51+00:00","dateModified":"2024-05-04T07:28:01+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728\u6267\u884c\u300c\u5347\u7ea7\u5230 Terraform v0.12\u300d\u65f6\u7684\u5907\u5fd8\u5f55\u8bb0\u4e8b"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9","name":"\u65b0, \u97f5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g","caption":"\u65b0, \u97f5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunxin\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%89%a7%e8%a1%8c%e3%80%8c%e5%8d%87%e7%ba%a7%e5%88%b0-terraform-v0-12%e3%80%8d%e6%97%b6%e7%9a%84%e5%a4%87%e5%bf%98%e5%bd%95%e8%ae%b0%e4%ba%8b\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/49005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=49005"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/49005\/revisions"}],"predecessor-version":[{"id":99141,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/49005\/revisions\/99141"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=49005"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=49005"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=49005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}