{"id":48308,"date":"2023-02-12T09:24:30","date_gmt":"2023-03-28T07:32:55","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/"},"modified":"2024-04-29T14:15:07","modified_gmt":"2024-04-29T06:15:07","slug":"%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/","title":{"rendered":"\u4f7f\u7528OCI\u8fdb\u884cTerraform\u7684\u914d\u7f6e"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u6839\u636eOCI\u624b\u518c\u7684\u53c2\u8003\uff0c\u5c06\u8fdb\u884cTerraform\u914d\u7f6e\u3002<br \/>\n\u4e3a\u4e86\u786e\u8ba4\u64cd\u4f5c\uff0c\u5c06\u663e\u793a\u53ef\u7528\u57df\u5217\u8868\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>Terraform \u7684\u914d\u7f6e\u5bf9\u8c61\u662f\u5df2\u5b89\u88c5 OCI CLI \u7684 Oracle Linux \u5b9e\u4f8b\u3002<\/p>\n<pre class=\"post-pre\"><code>$ cat \/etc\/oracle-release \r\nOracle Linux Server release 8.8\r\n$ oci -v\r\n3.23.2\r\n<\/code><\/pre>\n<h1>\u5b89\u88c5Terraform (Terraform installation)<\/h1>\n<p>\u8bf7\u70b9\u51fb\u6b64URL\uff0c\u786e\u8ba4Terraform\u7684\u6700\u65b0\u7248\u672c\u3002<br \/>\n\u8fd9\u6b21\u6211\u4eec\u5c06\u4f7f\u75281.6.2\u7248\u672c\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u4e0b\u8f7d\u6863\u6848\u3002<\/p>\n<pre class=\"post-pre\"><code>$ wget https:\/\/releases.hashicorp.com\/terraform\/1.6.2\/terraform_1.6.2_linux_amd64.zip\r\n--2023-11-01 05:30:16--  https:\/\/releases.hashicorp.com\/terraform\/1.6.2\/terraform_1.6.2_linux_amd64.zip\r\nResolving releases.hashicorp.com (releases.hashicorp.com)... 13.224.181.83, 13.224.181.111, 13.224.181.15, ...\r\nConnecting to releases.hashicorp.com (releases.hashicorp.com)|13.224.181.83|:443... connected.\r\nHTTP request sent, awaiting response... 200 OK\r\nLength: 24738688 (24M) [application\/zip]\r\nSaving to: \u2018terraform_1.6.2_linux_amd64.zip\u2019\r\n\r\nterraform_1.6.2_linux_amd64.zip             100%[==========================================================================================&gt;]  23.59M  --.-KB\/s    in 0.09s   \r\n\r\n2023-11-01 05:30:16 (277 MB\/s) - \u2018terraform_1.6.2_linux_amd64.zip\u2019 saved [24738688\/24738688]\r\n<\/code><\/pre>\n<p>\u89e3\u538b\u6587\u4ef6\u5e76\u79fb\u52a8\u5230\u76f8\u5e94\u7684\u6587\u4ef6\u5939\u4e2d\uff0c\u7136\u540e\u786e\u8ba4\u7248\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code>$ unzip -q terraform_1.6.2_linux_amd64.zip \r\n$ sudo mv terraform \/usr\/local\/bin\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>$ terraform -v\r\nTerraform v1.6.2\r\non linux_amd64\r\n<\/code><\/pre>\n<h1>\u521b\u5efaRSA\u5bc6\u94a5<\/h1>\n<p>\u7531\u4e8e\u5df2\u7ecf\u5728OCI CLI\u5b89\u88c5\u540e\u8fdb\u884c\u4e86\u8bbe\u7f6e\uff0c\u56e0\u6b64\u7701\u7565\u5df2\u521b\u5efa\u7684\u90e8\u5206\u3002<\/p>\n<pre class=\"post-pre\"><code>$ ls -l ~\/.oci\r\ntotal 12\r\n-rw-------. 1 opc opc  299 Nov  1 03:55 config\r\n-rw-------. 1 opc opc 1703 Nov  1 03:57 oci_api_key.pem\r\n-rw-rw-r--. 1 opc opc  451 Nov  1 03:56 oci_api_key_public.pem\r\n<\/code><\/pre>\n<h1>\u521b\u5efa\u914d\u7f6e\u6587\u4ef6<\/h1>\n<h2>\u8a2d\u5b9a\u8ba4\u8bc1<\/h2>\n<p>\u521b\u5efa\u4e00\u4e2a\u76ee\u5f55\uff0c\u5e76\u521b\u5efaprovider.tf\u6587\u4ef6\u3002<br \/>\n\u6b64\u6587\u4ef6\u5c06\u7528\u4e8e\u5b9e\u4f8b\u6388\u6743\u5230OCI\u7684\u8ba4\u8bc1\u3002<\/p>\n<pre class=\"post-pre\"><code>$ mkdir tf-provider\r\n$ cd tf-provider\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"nx\">provider<\/span> <span class=\"s2\">\"oci\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"nx\">tenancy_ocid<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;tenancy-ocid&gt;\"<\/span>\r\n  <span class=\"nx\">user_ocid<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;user-ocid&gt;\"<\/span> \r\n  <span class=\"nx\">private_key_path<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;rsa-private-key-path&gt;\"<\/span>\r\n  <span class=\"nx\">fingerprint<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;fingerprint&gt;\"<\/span>\r\n  <span class=\"nx\">region<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;region-identifier&gt;\"<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<h2>\u8bbe\u7f6e\u6570\u636e\u6e90<\/h2>\n<p>\u8fd9\u662f\u4e00\u4e2a\u7528\u4e8e\u914d\u7f6e\u901a\u8fc7Terraform\u521b\u5efa\u548c\u83b7\u53d6\u6570\u636e\u7684\u8bbe\u7f6e\u6587\u4ef6\u3002<br \/>\n\u5728\u8fd9\u91cc\uff0c\u5c06\u663e\u793a\u5728provider.tf\u4e2d\u6307\u5b9a\u7684\u533a\u57df\u7684\u53ef\u7528\u57df\u3002<br \/>\n\u7531\u4e8e\u6ca1\u6709\u79df\u6237\u7ea7\u522b\u7684\u6743\u9650\uff0c\u9700\u8981\u6307\u5b9a\u81ea\u5df1\u7684\u90e8\u95e8OCID\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nx\">data<\/span> <span class=\"s2\">\"oci_identity_availability_domains\"<\/span> <span class=\"s2\">\"ads\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"nx\">compartment_id<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;tenancy-ocid&gt;\"<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<h2>\u8bbe\u5b9a\u529f\u7387<\/h2>\n<p>\u8bbe\u5b9a\u8f93\u51fa\u6570\u636e\u7684\u683c\u5f0f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c1\"># Output the \"list\" of all availability domains.<\/span>\r\n<span class=\"nx\">output<\/span> <span class=\"s2\">\"all-availability-domains-in-your-tenancy\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"nx\">value<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">data<\/span><span class=\"p\">.<\/span><span class=\"nx\">oci_identity_availability_domains<\/span><span class=\"p\">.<\/span><span class=\"nx\">ads<\/span><span class=\"p\">.<\/span><span class=\"nx\">availability_domains<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u6211\u5df2\u7ecf\u521b\u5efa\u4e86\u4e09\u4e2a\u914d\u7f6e\u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>$ ls -l\r\ntotal 12\r\n-rw-rw-r--. 1 opc opc 155 Nov  1 05:57 availability-domains.tf\r\n-rw-rw-r--. 1 opc opc 176 Nov  1 05:59 outputs.tf\r\n-rw-rw-r--. 1 opc opc 356 Nov  1 05:44 provider.tf\r\n<\/code><\/pre>\n<h1>\u6267\u884cTerraform<\/h1>\n<h2>\u521d\u59cb<\/h2>\n<p>\u8fdb\u884c\u521d\u59cb\u5316\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform init\r\n\r\nInitializing the backend...\r\n\r\nInitializing provider plugins...\r\n- Finding latest version of hashicorp\/oci...\r\n- Installing hashicorp\/oci v5.18.0...\r\n- Installed hashicorp\/oci v5.18.0 (signed by HashiCorp)\r\n\r\nTerraform has created a lock file .terraform.lock.hcl to record the provider\r\nselections it made above. Include this file in your version control repository\r\nso that Terraform can guarantee to make the same selections by default when\r\nyou run \"terraform init\" in the future.\r\n\r\n\u2577\r\n\u2502 Warning: Additional provider information from registry\r\n\u2502 \r\n\u2502 The remote registry returned warnings for registry.terraform.io\/hashicorp\/oci:\r\n\u2502 - For users on Terraform 0.13 or greater, this provider has moved to oracle\/oci. Please update your source in required_providers.\r\n\u2575\r\n\r\nTerraform has been successfully initialized!\r\n\r\nYou may now begin working with Terraform. Try running \"terraform plan\" to see\r\nany changes that are required for your infrastructure. All Terraform commands\r\nshould now work.\r\n\r\nIf you ever set or change modules or backend configuration for Terraform,\r\nrerun this command to reinitialize your working directory. If you forget, other\r\ncommands will detect it and remind you to do so if necessary.\r\n<\/code><\/pre>\n<p>\u867d\u7136\u6210\u529f\u4e86\uff0c\u4f46\u51fa\u73b0\u4e86\u8b66\u544a\u3002<br \/>\n\u63d0\u4f9b\u8005\u5efa\u8bae\u66f4\u6362\u4e3a Oracle \u63d0\u4f9b\u7684\u6ce8\u518c\u8868\uff0c\u800c\u4e0d\u662f Hashicorp \u7684\u6ce8\u518c\u8868\u3002<\/p>\n<p>\u5728provider.tf\u4e2d\u8ffd\u52a0\u5185\u5bb9\u540e\uff0c\u518d\u6b21\u8fdb\u884c\u521d\u59cb\u5316\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nx\">provider<\/span> <span class=\"s2\">\"oci\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"nx\">tenancy_ocid<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;tenancy-ocid&gt;\"<\/span>\r\n  <span class=\"nx\">user_ocid<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;user-ocid&gt;\"<\/span> \r\n  <span class=\"nx\">private_key_path<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;rsa-private-key-path&gt;\"<\/span>\r\n  <span class=\"nx\">fingerprint<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;fingerprint&gt;\"<\/span>\r\n  <span class=\"nx\">region<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"&lt;region-identifier&gt;\"<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"c1\">## \u8ffd\u8a18<\/span>\r\n<span class=\"nx\">terraform<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"nx\">required_providers<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"nx\">oci<\/span> <span class=\"p\">=<\/span> <span class=\"p\">{<\/span>\r\n      <span class=\"nx\">source<\/span>  <span class=\"p\">=<\/span> <span class=\"s2\">\"oracle\/oci\"<\/span>\r\n    <span class=\"p\">}<\/span>\r\n  <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n<span class=\"c1\">## \u3053\u3053\u307e\u3067<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>$ terraform init\r\n\r\nInitializing the backend...\r\n\r\nInitializing provider plugins...\r\n- Finding latest version of oracle\/oci...\r\n- Installing oracle\/oci v5.18.0...\r\n- Installed oracle\/oci v5.18.0 (signed by a HashiCorp partner, key ID 1533A49284137CEB)\r\n\r\nPartner and community providers are signed by their developers.\r\nIf you'd like to know more about provider signing, you can read about it here:\r\nhttps:\/\/www.terraform.io\/docs\/cli\/plugins\/signing.html\r\n\r\nTerraform has made some changes to the provider dependency selections recorded\r\nin the .terraform.lock.hcl file. Review those changes and commit them to your\r\nversion control system if they represent changes you intended to make.\r\n\r\nTerraform has been successfully initialized!\r\n\r\nYou may now begin working with Terraform. Try running \"terraform plan\" to see\r\nany changes that are required for your infrastructure. All Terraform commands\r\nshould now work.\r\n\r\nIf you ever set or change modules or backend configuration for Terraform,\r\nrerun this command to reinitialize your working directory. If you forget, other\r\ncommands will detect it and remind you to do so if necessary.\r\n<\/code><\/pre>\n<p>\u67e5\u770b\u65e5\u5fd7\u53d1\u73b0\u8fd9\u6b21\u6ca1\u6709\u8b66\u544a\u3002<\/p>\n<blockquote><p>\u521d\u59cb\u5316\u63d0\u4f9b\u5546\u63d2\u4ef6&#8230;<br \/>\n&#8211; \u67e5\u627e hashicorp\/oci \u7684\u6700\u65b0\u7248\u672c&#8230;<br \/>\n&#8211; \u5b89\u88c5 hashicorp\/oci v5.18.0&#8230;<br \/>\n&#8211; \u5df2\u6210\u529f\u5b89\u88c5 hashicorp\/oci v5.18.0\uff08\u7531HashiCorp\u7b7e\u540d\uff09\u3002<\/p>\n<p>\u5f00\u59cb\u521d\u59cb\u5316\u63d0\u4f9b\u5546\u63d2\u4ef6&#8230;<br \/>\n&#8211; \u67e5\u627e hashicorp\/oci \u7684\u6700\u65b0\u7248\u672c&#8230;<br \/>\n&#8211; \u6b63\u5728\u5b89\u88c5 hashicorp\/oci v5.18.0&#8230;<br \/>\n&#8211; \u6210\u529f\u5b89\u88c5 hashicorp\/oci v5.18.0\uff08\u7ecfHashiCorp\u7b7e\u540d\uff09\u3002<\/p><\/blockquote>\n<p>\u53ef\u4ee5<\/p>\n<blockquote><p>\u521d\u59cb\u5316\u63d0\u4f9b\u5546\u63d2\u4ef6&#8230;<br \/>\n&#8211; \u67e5\u627eoracle\/oci\u7684\u6700\u65b0\u7248\u672c&#8230;<br \/>\n&#8211; \u5b89\u88c5oracle\/oci v5.18.0&#8230;<br \/>\n&#8211; \u5b89\u88c5\u4e86oracle\/oci v5.18.0\uff08\u7531HashiCorp\u5408\u4f5c\u4f19\u4f34\u7b7e\u540d\uff0c\u5bc6\u94a5ID\u4e3a1533A49284137CEB\uff09<\/p><\/blockquote>\n<p>\u5df2\u7ecf\u53d1\u751f\u4e86\u53d8\u5316\u3002<\/p>\n<h2>\u8ba1\u5212<\/h2>\n<p>\u521b\u5efa\u6267\u884c\u8ba1\u5212\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform plan\r\ndata.oci_identity_availability_domains.ads: Reading...\r\ndata.oci_identity_availability_domains.ads: Read complete after 1s [id=IdentityAvailabilityDomainsDataSource-23752778]\r\n\r\nChanges to Outputs:\r\n  + all-availability-domains-in-your-tenancy = [\r\n      + {\r\n          + compartment_id = \"ocid1.compartment.oc1..aaaaaaaamyemvazvbgl42f5pi7gzlpgq5tcmxlipjm2uitoihfschylliy5a\"\r\n          + id             = \"ocid1.availabilitydomain.oc1..aaaaaaaalhnzffyixz4hyhp7gtcdskahy22cekpcgndvwdjffrdv6d5iqi5a\"\r\n          + name           = \"TGjA:AP-SYDNEY-1-AD-1\"\r\n        },\r\n    ]\r\n\r\nYou can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure.\r\n\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\r\nNote: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run \"terraform apply\" now.\r\n<\/code><\/pre>\n<h2>\u63d0\u4ea4\u7533\u8bf7<\/h2>\n<p>\u8fdb\u884c\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform apply\r\ndata.oci_identity_availability_domains.ads: Reading...\r\ndata.oci_identity_availability_domains.ads: Read complete after 0s [id=IdentityAvailabilityDomainsDataSource-23752778]\r\n\r\nChanges to Outputs:\r\n  + all-availability-domains-in-your-tenancy = [\r\n      + {\r\n          + compartment_id = \"ocid1.compartment.oc1..aaaaaaaamyemvazvbgl42f5pi7gzlpgq5tcmxlipjm2uitoihfschylliy5a\"\r\n          + id             = \"ocid1.availabilitydomain.oc1..aaaaaaaalhnzffyixz4hyhp7gtcdskahy22cekpcgndvwdjffrdv6d5iqi5a\"\r\n          + name           = \"TGjA:AP-SYDNEY-1-AD-1\"\r\n        },\r\n    ]\r\n\r\nYou can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure.\r\n\r\nDo you want to perform these actions?\r\n  Terraform will perform the actions described above.\r\n  Only 'yes' will be accepted to approve.\r\n\r\n  Enter a value: yes\r\n\r\n\r\nApply complete! Resources: 0 added, 0 changed, 0 destroyed.\r\n\r\nOutputs:\r\n\r\nall-availability-domains-in-your-tenancy = tolist([\r\n  {\r\n    \"compartment_id\" = \"ocid1.compartment.oc1..aaaaaaaamyemvazvbgl42f5pi7gzlpgq5tcmxlipjm2uitoihfschylliy5a\"\r\n    \"id\" = \"ocid1.availabilitydomain.oc1..aaaaaaaalhnzffyixz4hyhp7gtcdskahy22cekpcgndvwdjffrdv6d5iqi5a\"\r\n    \"name\" = \"TGjA:AP-SYDNEY-1-AD-1\"\r\n  },\r\n])\r\n<\/code><\/pre>\n<p>\u53ea\u662f\u8868\u793a\u4e00\u4e0b\uff0c\u8d44\u6e90\uff1a0 \u6dfb\u52a0\uff0c0 \u4fee\u6539\uff0c0 \u9500\u6bc1\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u6839\u636eOCI\u624b\u518c\u7684\u53c2\u8003\uff0c\u5c06\u8fdb\u884cTerraform\u914d\u7f6e\u3002 \u4e3a\u4e86\u786e\u8ba4\u64cd\u4f5c\uff0c\u5c06\u663e\u793a\u53ef\u7528\u57df\u5217\u8868\u3002 &nbsp; T [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-48308","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>\u4f7f\u7528OCI\u8fdb\u884cTerraform\u7684\u914d\u7f6e - 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\/\u4f7f\u7528oci\u8fdb\u884cterraform\u7684\u914d\u7f6e\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4f7f\u7528OCI\u8fdb\u884cTerraform\u7684\u914d\u7f6e\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u6839\u636eOCI\u624b\u518c\u7684\u53c2\u8003\uff0c\u5c06\u8fdb\u884cTerraform\u914d\u7f6e\u3002 \u4e3a\u4e86\u786e\u8ba4\u64cd\u4f5c\uff0c\u5c06\u663e\u793a\u53ef\u7528\u57df\u5217\u8868\u3002 &nbsp; T [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528oci\u8fdb\u884cterraform\u7684\u914d\u7f6e\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-28T07:32:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T06:15:07+00:00\" \/>\n<meta name=\"author\" content=\"\u6587, \u7fd4\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6587, \u7fd4\" \/>\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\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/\",\"name\":\"\u4f7f\u7528OCI\u8fdb\u884cTerraform\u7684\u914d\u7f6e - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-03-28T07:32:55+00:00\",\"dateModified\":\"2024-04-29T06:15:07+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4f7f\u7528OCI\u8fdb\u884cTerraform\u7684\u914d\u7f6e\"}]},{\"@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\/64d5cc7727fffbff2f9a2a8da1de3e5c\",\"name\":\"\u6587, \u7fd4\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g\",\"caption\":\"\u6587, \u7fd4\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/wenxiang\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u4f7f\u7528OCI\u8fdb\u884cTerraform\u7684\u914d\u7f6e - 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\/\u4f7f\u7528oci\u8fdb\u884cterraform\u7684\u914d\u7f6e\/","og_locale":"zh_CN","og_type":"article","og_title":"\u4f7f\u7528OCI\u8fdb\u884cTerraform\u7684\u914d\u7f6e","og_description":"\u9996\u5148 \u6839\u636eOCI\u624b\u518c\u7684\u53c2\u8003\uff0c\u5c06\u8fdb\u884cTerraform\u914d\u7f6e\u3002 \u4e3a\u4e86\u786e\u8ba4\u64cd\u4f5c\uff0c\u5c06\u663e\u793a\u53ef\u7528\u57df\u5217\u8868\u3002 &nbsp; T [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528oci\u8fdb\u884cterraform\u7684\u914d\u7f6e\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-03-28T07:32:55+00:00","article_modified_time":"2024-04-29T06:15:07+00:00","author":"\u6587, \u7fd4","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6587, \u7fd4","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/","name":"\u4f7f\u7528OCI\u8fdb\u884cTerraform\u7684\u914d\u7f6e - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-03-28T07:32:55+00:00","dateModified":"2024-04-29T06:15:07+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u4f7f\u7528OCI\u8fdb\u884cTerraform\u7684\u914d\u7f6e"}]},{"@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\/64d5cc7727fffbff2f9a2a8da1de3e5c","name":"\u6587, \u7fd4","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g","caption":"\u6587, \u7fd4"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/wenxiang\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8oci%e8%bf%9b%e8%a1%8cterraform%e7%9a%84%e9%85%8d%e7%bd%ae\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48308","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\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=48308"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48308\/revisions"}],"predecessor-version":[{"id":85761,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48308\/revisions\/85761"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=48308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=48308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=48308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}