github.com/rstandt/terraform@v0.12.32-0.20230710220336-b1063613405c/builtin/providers/test/resource_required_min.go (about) 1 package test 2 3 import ( 4 "github.com/hashicorp/terraform/helper/schema" 5 ) 6 7 func testResourceRequiredMin() *schema.Resource { 8 return &schema.Resource{ 9 Create: testResourceRequiredMinCreate, 10 Read: testResourceRequiredMinRead, 11 Update: testResourceRequiredMinUpdate, 12 Delete: testResourceRequiredMinDelete, 13 14 CustomizeDiff: func(d *schema.ResourceDiff, _ interface{}) error { 15 if d.HasChange("dependent_list") { 16 d.SetNewComputed("computed_list") 17 } 18 return nil 19 }, 20 21 Schema: map[string]*schema.Schema{ 22 "min_items": { 23 Type: schema.TypeList, 24 Optional: true, 25 MinItems: 2, 26 Elem: &schema.Resource{ 27 Schema: map[string]*schema.Schema{ 28 "val": { 29 Type: schema.TypeString, 30 Required: true, 31 }, 32 }, 33 }, 34 }, 35 "required_min_items": { 36 Type: schema.TypeList, 37 Required: true, 38 MinItems: 2, 39 Elem: &schema.Resource{ 40 Schema: map[string]*schema.Schema{ 41 "val": { 42 Type: schema.TypeString, 43 Required: true, 44 }, 45 }, 46 }, 47 }, 48 }, 49 } 50 } 51 52 func testResourceRequiredMinCreate(d *schema.ResourceData, meta interface{}) error { 53 d.SetId("testId") 54 return testResourceRequiredMinRead(d, meta) 55 } 56 57 func testResourceRequiredMinRead(d *schema.ResourceData, meta interface{}) error { 58 return nil 59 } 60 61 func testResourceRequiredMinUpdate(d *schema.ResourceData, meta interface{}) error { 62 return testResourceRequiredMinRead(d, meta) 63 } 64 65 func testResourceRequiredMinDelete(d *schema.ResourceData, meta interface{}) error { 66 d.SetId("") 67 return nil 68 }