package api func (c *Sys) SealStatus() (*SealStatusResponse, error) { r := c.c.NewRequest("GET", "/v1/sys/seal-status") resp, err := c.c.RawRequest(r) if err != nil { return nil, err } defer resp.Body.Close() var result SealStatusResponse err = resp.DecodeJSON(&result) return &result, err } func (c *Sys) Seal() error { r := c.c.NewRequest("PUT", "/v1/sys/seal") resp, err := c.c.RawRequest(r) if err == nil { defer resp.Body.Close() } return err } func (c *Sys) Unseal(shard string) (*SealStatusResponse, error) { body := map[string]interface{}{"key": shard} r := c.c.NewRequest("PUT", "/v1/sys/unseal") if err := r.SetJSONBody(body); err != nil { return nil, err } resp, err := c.c.RawRequest(r) if err != nil { return nil, err } defer resp.Body.Close() var result SealStatusResponse err = resp.DecodeJSON(&result) return &result, err } type SealStatusResponse struct { Sealed bool T int N int Progress int }