|
@@ -9,6 +9,7 @@ import (
|
|
|
|
|
|
flag "github.com/docker/docker/pkg/mflag"
|
|
flag "github.com/docker/docker/pkg/mflag"
|
|
"github.com/docker/docker/pkg/stringid"
|
|
"github.com/docker/docker/pkg/stringid"
|
|
|
|
+ "github.com/docker/libnetwork/netlabel"
|
|
)
|
|
)
|
|
|
|
|
|
type command struct {
|
|
type command struct {
|
|
@@ -41,15 +42,19 @@ func (cli *NetworkCli) CmdNetwork(chain string, args ...string) error {
|
|
func (cli *NetworkCli) CmdNetworkCreate(chain string, args ...string) error {
|
|
func (cli *NetworkCli) CmdNetworkCreate(chain string, args ...string) error {
|
|
cmd := cli.Subcmd(chain, "create", "NETWORK-NAME", "Creates a new network with a name specified by the user", false)
|
|
cmd := cli.Subcmd(chain, "create", "NETWORK-NAME", "Creates a new network with a name specified by the user", false)
|
|
flDriver := cmd.String([]string{"d", "-driver"}, "", "Driver to manage the Network")
|
|
flDriver := cmd.String([]string{"d", "-driver"}, "", "Driver to manage the Network")
|
|
|
|
+ flInternal := cmd.Bool([]string{"-internal"}, false, "Config the network to be internal")
|
|
cmd.Require(flag.Exact, 1)
|
|
cmd.Require(flag.Exact, 1)
|
|
err := cmd.ParseFlags(args, true)
|
|
err := cmd.ParseFlags(args, true)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ networkOpts := make(map[string]string)
|
|
|
|
+ if *flInternal {
|
|
|
|
+ networkOpts[netlabel.Internal] = "true"
|
|
|
|
+ }
|
|
// Construct network create request body
|
|
// Construct network create request body
|
|
var driverOpts []string
|
|
var driverOpts []string
|
|
- nc := networkCreate{Name: cmd.Arg(0), NetworkType: *flDriver, DriverOpts: driverOpts}
|
|
|
|
|
|
+ nc := networkCreate{Name: cmd.Arg(0), NetworkType: *flDriver, DriverOpts: driverOpts, NetworkOpts: networkOpts}
|
|
obj, _, err := readBody(cli.call("POST", "/networks", nc, nil))
|
|
obj, _, err := readBody(cli.call("POST", "/networks", nc, nil))
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|