From 4bf24d5f973820f28086ed38fec241c43523bfb0 Mon Sep 17 00:00:00 2001 From: Travis Truman Date: Tue, 14 Jul 2015 13:40:58 -0400 Subject: [PATCH] Clarifying the resource state persistence mechanism for custom Provider/Resource authors --- website/source/docs/plugins/provider.html.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/website/source/docs/plugins/provider.html.md b/website/source/docs/plugins/provider.html.md index 5c3c720be..780d347a0 100644 --- a/website/source/docs/plugins/provider.html.md +++ b/website/source/docs/plugins/provider.html.md @@ -142,7 +142,11 @@ The CRUD operations in more detail, along with their contracts: * `Create` - This is called to create a new instance of the resource. Terraform guarantees that an existing ID is not set on the resource - data. That is, you're working with a new resource. + data. That is, you're working with a new resource. Therefore, you are + responsible for calling `setId` on your `schema.ResourceData` using a + value suitable for your resource. This ensures whatever resource + state you set on `schema.ResourceData` will be persisted in local state. + If you neglect to `setId`, no resource state will be persisted. * `Read` - This is called to resync the local state with the remote state. Terraform guarantees that an existing ID will be set. This ID should be