Support attachable in network.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
This commit is contained in:
parent
1b8698e148
commit
db69cfc151
1 changed files with 21 additions and 0 deletions
|
@ -65,6 +65,7 @@ type NetworkInfo interface {
|
|||
Scope() string
|
||||
IPv6Enabled() bool
|
||||
Internal() bool
|
||||
Attachable() bool
|
||||
Labels() map[string]string
|
||||
Dynamic() bool
|
||||
Created() time.Time
|
||||
|
@ -196,6 +197,7 @@ type network struct {
|
|||
resolverOnce sync.Once
|
||||
resolver []Resolver
|
||||
internal bool
|
||||
attachable bool
|
||||
inDelete bool
|
||||
ingress bool
|
||||
driverTables []string
|
||||
|
@ -348,6 +350,7 @@ func (n *network) CopyTo(o datastore.KVObject) error {
|
|||
dstN.dbExists = n.dbExists
|
||||
dstN.drvOnce = n.drvOnce
|
||||
dstN.internal = n.internal
|
||||
dstN.attachable = n.attachable
|
||||
dstN.inDelete = n.inDelete
|
||||
dstN.ingress = n.ingress
|
||||
|
||||
|
@ -456,6 +459,7 @@ func (n *network) MarshalJSON() ([]byte, error) {
|
|||
netMap["ipamV6Info"] = string(iis)
|
||||
}
|
||||
netMap["internal"] = n.internal
|
||||
netMap["attachable"] = n.attachable
|
||||
netMap["inDelete"] = n.inDelete
|
||||
netMap["ingress"] = n.ingress
|
||||
return json.Marshal(netMap)
|
||||
|
@ -550,6 +554,9 @@ func (n *network) UnmarshalJSON(b []byte) (err error) {
|
|||
if v, ok := netMap["internal"]; ok {
|
||||
n.internal = v.(bool)
|
||||
}
|
||||
if v, ok := netMap["attachable"]; ok {
|
||||
n.attachable = v.(bool)
|
||||
}
|
||||
if s, ok := netMap["scope"]; ok {
|
||||
n.scope = s.(string)
|
||||
}
|
||||
|
@ -628,6 +635,13 @@ func NetworkOptionInternalNetwork() NetworkOption {
|
|||
}
|
||||
}
|
||||
|
||||
// NetworkOptionAttachable returns an option setter to set attachable for a network
|
||||
func NetworkOptionAttachable(attachable bool) NetworkOption {
|
||||
return func(n *network) {
|
||||
n.attachable = attachable
|
||||
}
|
||||
}
|
||||
|
||||
// NetworkOptionIpam function returns an option setter for the ipam configuration for this network
|
||||
func NetworkOptionIpam(ipamDriver string, addrSpace string, ipV4 []*IpamConf, ipV6 []*IpamConf, opts map[string]string) NetworkOption {
|
||||
return func(n *network) {
|
||||
|
@ -1555,6 +1569,13 @@ func (n *network) Internal() bool {
|
|||
return n.internal
|
||||
}
|
||||
|
||||
func (n *network) Attachable() bool {
|
||||
n.Lock()
|
||||
defer n.Unlock()
|
||||
|
||||
return n.attachable
|
||||
}
|
||||
|
||||
func (n *network) Dynamic() bool {
|
||||
n.Lock()
|
||||
defer n.Unlock()
|
||||
|
|
Loading…
Reference in a new issue