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  }