github.com/rstandt/terraform@v0.12.32-0.20230710220336-b1063613405c/builtin/providers/test/resource_defaults.go (about) 1 package test 2 3 import ( 4 "fmt" 5 "math/rand" 6 7 "github.com/hashicorp/terraform/helper/schema" 8 ) 9 10 func testResourceDefaults() *schema.Resource { 11 return &schema.Resource{ 12 Create: testResourceDefaultsCreate, 13 Read: testResourceDefaultsRead, 14 Delete: testResourceDefaultsDelete, 15 Update: testResourceDefaultsUpdate, 16 17 Importer: &schema.ResourceImporter{ 18 State: schema.ImportStatePassthrough, 19 }, 20 21 Schema: map[string]*schema.Schema{ 22 "default_string": { 23 Type: schema.TypeString, 24 Optional: true, 25 Default: "default string", 26 }, 27 "default_bool": { 28 Type: schema.TypeString, 29 Optional: true, 30 Default: true, 31 }, 32 "nested": { 33 Type: schema.TypeSet, 34 Optional: true, 35 ForceNew: true, 36 Elem: &schema.Resource{ 37 Schema: map[string]*schema.Schema{ 38 "string": { 39 Type: schema.TypeString, 40 Optional: true, 41 Default: "default nested", 42 }, 43 "optional": { 44 Type: schema.TypeString, 45 Optional: true, 46 }, 47 }, 48 }, 49 }, 50 }, 51 } 52 } 53 54 func testResourceDefaultsCreate(d *schema.ResourceData, meta interface{}) error { 55 d.SetId(fmt.Sprintf("%x", rand.Int63())) 56 return testResourceDefaultsRead(d, meta) 57 } 58 59 func testResourceDefaultsUpdate(d *schema.ResourceData, meta interface{}) error { 60 return testResourceDefaultsRead(d, meta) 61 } 62 63 func testResourceDefaultsRead(d *schema.ResourceData, meta interface{}) error { 64 return nil 65 } 66 67 func testResourceDefaultsDelete(d *schema.ResourceData, meta interface{}) error { 68 d.SetId("") 69 return nil 70 }