Terraformリソースプロバイダプラグインの作り方については@tkakさんのTerraformのProviderを作ったというエントリによくまとめられていて、プラグイン作成の全体の流れを把握することができます。 ここでは、プロバイダプラグインが実際にリソースを操作する方法をまとめていきます。 リソースに対するCRUD Terraformリソースプロバイダはschema.ResourceDataというstructを利用してリソースを表現します。 ResourceDataは内部にプロパティを保持しており、ユーザが.tfファイルに記述した各種定義はここに格納され、下記のようにGet()やSet()を介してアクセスできます。 // 入力 // resource "foo_resource" "bar" { // your_awesome_name = "baz" // } func YourF