Files
podman/pkg/bindings/network/network.go
Brent Baude 54587335be [CI:DOCS]Binding overhauls
Add binding for networks and begin documentation for binding methods for godoc.  Also, add major functions to their own subpackages so reduce the amount of of method confusion.  So instead of: bindings.ListImages(), we now do a [bindings].images.List().

Also, the connection is passed to each binding method via a context to allow for future growth.

Lastly, add first set of tests.  There are a couple of things to work out for rootless tests yet.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-01-28 08:42:18 -06:00

51 lines
1.2 KiB
Go

package network
import (
"context"
"net/http"
"github.com/containernetworking/cni/libcni"
"github.com/containers/libpod/pkg/bindings"
)
func Create() {}
func Inspect(ctx context.Context, nameOrID string) (map[string]interface{}, error) {
conn, err := bindings.GetConnectionFromContext(ctx)
if err != nil {
return nil, err
}
n := make(map[string]interface{})
response, err := conn.DoRequest(nil, http.MethodGet, "/networks/%s/json", nil, nameOrID)
if err != nil {
return n, err
}
return n, response.Process(&n)
}
func Remove(ctx context.Context, nameOrID string) error {
conn, err := bindings.GetConnectionFromContext(ctx)
if err != nil {
return err
}
response, err := conn.DoRequest(nil, http.MethodDelete, "/networks/%s", nil, nameOrID)
if err != nil {
return err
}
return response.Process(nil)
}
func List(ctx context.Context) ([]*libcni.NetworkConfigList, error) {
var (
netList []*libcni.NetworkConfigList
)
conn, err := bindings.GetConnectionFromContext(ctx)
if err != nil {
return nil, err
}
response, err := conn.DoRequest(nil, http.MethodGet, "/networks/json", nil)
if err != nil {
return netList, err
}
return netList, response.Process(&netList)
}