github.com/go-chef/chef@v0.30.1/testapi/container.go (about) 1 package testapi 2 3 import ( 4 "fmt" 5 "os" 6 "strings" 7 8 "github.com/go-chef/chef" 9 ) 10 11 // container exercise the chef api 12 func Container() { 13 // Use the default test org 14 client := Client(nil) 15 16 // List initial containers 17 containerList, err := client.Containers.List() 18 if err != nil { 19 fmt.Fprintln(os.Stderr, "Couldn't list containers: ", err) 20 } 21 fold := strings.Replace(fmt.Sprintf("%+v", containerList), "\n", "", -1) 22 fmt.Println("List initial containers", fold) 23 24 // Define a Container object 25 container1 := chef.Container{} 26 container1.ContainerName = "container1" 27 container1.ContainerPath = "container1" 28 29 // Create 30 containerResult, err := client.Containers.Create(container1) 31 if err != nil { 32 fmt.Fprintln(os.Stderr, "Issue creating container container1. ", err) 33 } 34 fmt.Println("Added container1", containerResult) 35 36 // List containers 37 containerList, err = client.Containers.List() 38 if err != nil { 39 fmt.Fprintln(os.Stderr, "Issue listing containers after add: ", err) 40 } 41 fold = strings.Replace(fmt.Sprintf("%+v", containerList), "\n", "", -1) 42 fmt.Println("List containers after adding container1", fold) 43 44 // Read container1 information 45 containerContents, err := client.Containers.Get("container1") 46 if err != nil { 47 fmt.Fprintln(os.Stderr, "Couldn't get container1: ", err) 48 } 49 fmt.Printf("Get container1 %+v\n", containerContents) 50 51 // Read the environment container information 52 containerContents, err = client.Containers.Get("environments") 53 if err != nil { 54 fmt.Fprintln(os.Stderr, "Couldn't get container environments: ", err) 55 } 56 fmt.Printf("Get environment %+v\n", containerContents) 57 58 // Delete container 59 err = client.Containers.Delete(container1.ContainerName) 60 fmt.Println("Delete container1", err) 61 }