package hcsshim import ( "encoding/json" "github.com/Sirupsen/logrus" ) // ComputeSystemProperties is a struct describing the returned properties. type ComputeSystemProperties struct { ID string Name string Stopped bool AreUpdatesPending bool } // GetComputeSystemProperties gets the properties for the compute system with the given ID. func GetComputeSystemProperties(id string, flags uint32) (ComputeSystemProperties, error) { title := "hcsshim::GetComputeSystemProperties " csProps := ComputeSystemProperties{ Stopped: false, AreUpdatesPending: false, } logrus.Debugf("Calling proc") var buffer *uint16 err := getComputeSystemProperties(id, flags, &buffer) if err != nil { err = makeError(err, title, "") logrus.Error(err) return csProps, err } propData := convertAndFreeCoTaskMemString(buffer) logrus.Debugf(title+" - succeeded output=%s", propData) if err = json.Unmarshal([]byte(propData), &csProps); err != nil { logrus.Error(err) return csProps, err } return csProps, nil }