// RevokeExternalConnectivity method is invoked to remove any external connectivity programming related to the endpoint. func (d *driver) RevokeExternalConnectivity(nid, eid string) error { data := &api.RevokeExternalConnectivityRequest{ NetworkID: nid, EndpointID: eid, } err := d.call("RevokeExternalConnectivity", data, &api.RevokeExternalConnectivityResponse{}) if err != nil && plugins.IsNotFound(err) { // It is not mandatory yet to support this method return nil } return err }
// ProgramExternalConnectivity is invoked to program the rules to allow external connectivity for the endpoint. func (d *driver) ProgramExternalConnectivity(nid, eid string, options map[string]interface{}) error { data := &api.ProgramExternalConnectivityRequest{ NetworkID: nid, EndpointID: eid, Options: options, } err := d.call("ProgramExternalConnectivity", data, &api.ProgramExternalConnectivityResponse{}) if err != nil && plugins.IsNotFound(err) { // It is not mandatory yet to support this method return nil } return err }
func (a *volumeDriverAdapter) Get(name string) (volume.Volume, error) { v, err := a.proxy.Get(name) if err != nil { // TODO: remove this hack. Allows back compat with volume drivers that don't support this call if !plugins.IsNotFound(err) { return nil, err } return a.Create(name, nil) } return &volumeAdapter{ proxy: a.proxy, name: v.Name, driverName: a.Name(), eMount: v.Mountpoint, }, nil }