github.com/go-chef/chef@v0.30.1/testapi/principal.go (about) 1 package testapi 2 3 import ( 4 "fmt" 5 "github.com/go-chef/chef" 6 "os" 7 "strings" 8 ) 9 10 // principle test the chef api 11 func Principals() { 12 // Use the default test org 13 client := Client(nil) 14 15 // Create a client 16 client1 := chef.ApiNewClient{ 17 Name: "client1", 18 CreateKey: true, 19 Validator: false, 20 } 21 _, err := client.Clients.Create(client1) 22 if err != nil { 23 fmt.Fprintln(os.Stderr, "Couldn't create client client1. ", err) 24 } 25 26 // Get principals - public key information 27 clientInfo, err := client.Principals.Get("client1") 28 if err != nil { 29 fmt.Fprintln(os.Stderr, "Couldn't get client1 keys: ", err) 30 } 31 clientinfof := strings.Replace(fmt.Sprintf("%+v", clientInfo), "\n", "", -1) 32 fmt.Printf("Client principal %+v\n", clientinfof) 33 34 userInfo, err := client.Principals.Get("usr1") 35 if err != nil { 36 fmt.Fprintln(os.Stderr, "Couldn't get usr1 keys: ", err) 37 } 38 userinfof := strings.Replace(fmt.Sprintf("%+v", userInfo), "\n", "", -1) 39 fmt.Printf("User principal %+v\n", userinfof) 40 41 // Delete clients 42 err = client.Clients.Delete("client1") 43 fmt.Printf("Delete client1 %+v\n", err) 44 }