func (i *importer) addLinkLayerDevice(device description.LinkLayerDevice) error { providerID := device.ProviderID() modelUUID := i.st.ModelUUID() localID := linkLayerDeviceGlobalKey(device.MachineID(), device.Name()) linkLayerDeviceDocID := i.st.docID(localID) newDoc := &linkLayerDeviceDoc{ ModelUUID: modelUUID, DocID: linkLayerDeviceDocID, MachineID: device.MachineID(), ProviderID: providerID, Name: device.Name(), MTU: device.MTU(), Type: LinkLayerDeviceType(device.Type()), MACAddress: device.MACAddress(), IsAutoStart: device.IsAutoStart(), IsUp: device.IsUp(), ParentName: device.ParentName(), } ops := []txn.Op{{ C: linkLayerDevicesC, Id: newDoc.DocID, Insert: newDoc, }, insertLinkLayerDevicesRefsOp(modelUUID, linkLayerDeviceDocID), } if providerID != "" { id := network.Id(providerID) ops = append(ops, i.st.networkEntityGlobalKeyOp("linklayerdevice", id)) } if err := i.st.runTransaction(ops); err != nil { return errors.Trace(err) } return nil }