// need to be alot smarter with this func OverWriteOperations(opsBase, opsOver *def.Operation) { opsBase.SrvContainerName = OverWriteString(opsBase.SrvContainerName, opsOver.SrvContainerName) opsBase.SrvContainerID = OverWriteString(opsBase.SrvContainerID, opsOver.SrvContainerID) opsBase.DataContainerName = OverWriteString(opsBase.DataContainerName, opsOver.DataContainerName) opsBase.DataContainerID = OverWriteString(opsBase.DataContainerID, opsOver.DataContainerID) opsBase.ContainerNumber = OverWriteInt(opsBase.ContainerNumber, opsOver.ContainerNumber) opsBase.Restart = OverWriteString(opsBase.Restart, opsOver.Restart) opsBase.Remove = OverWriteBool(opsBase.Remove, opsOver.Remove) opsBase.Privileged = OverWriteBool(opsBase.Privileged, opsOver.Privileged) opsBase.Attach = OverWriteBool(opsBase.Attach, opsOver.Attach) opsBase.AppName = OverWriteString(opsBase.AppName, opsOver.AppName) opsBase.DockerHostConn = OverWriteString(opsBase.DockerHostConn, opsOver.DockerHostConn) opsBase.Labels = MergeMap(opsBase.Labels, opsOver.Labels) opsBase.PublishAllPorts = OverWriteBool(opsBase.PublishAllPorts, opsOver.PublishAllPorts) }
func parseContainers(service *definitions.Service, ops *definitions.Operation, all bool) bool { // populate service container specifics cName := util.FindServiceContainer(service.Name, ops.ContainerNumber, all) if cName == nil { return false } ops.SrvContainerName = cName.DockersName ops.SrvContainerID = cName.ContainerID // populate data container specifics if service.AutoData && ops.DataContainerID == "" { dName := util.FindDataContainer(service.Name, ops.ContainerNumber) if dName != nil { ops.DataContainerName = dName.DockersName ops.DataContainerID = dName.ContainerID } } return true }