Skip to content
Snippets Groups Projects
Main.go 4.18 KiB
Newer Older
  • Learn to ignore specific revisions
  • package main
    
    import (
    
    	"time"
    
    	"code.fbi.h-da.de/danet/gosdn/applications/inventory-manager-netbox/inventoryManager"
    
    	"code.fbi.h-da.de/danet/gosdn/applications/inventory-manager-netbox/netboxManager"
    
    const (
    	Red    = "\033[31m"
    	Green  = "\033[32m"
    	Yellow = "\033[33m"
    	Blue   = "\033[34m"
    	Reset  = "\033[0m"
    )
    
    // Ich habe einen go.mod eintrage gemacht:
    // replace code.fbi.h-da.de/danet/gosdn/internal/netboxapi => ./internal/netboxapi
    
    
    func main() {
    
    	var configPathGosdn = flag.String("configGosdn", "config/config.yaml", "Path to the Gosdn configuration file")
    	var configPathNetbox = flag.String("configNetbox", "config/configNetbox.yaml", "Path to the NetBox configuration file")
    
    	var elementeFigure int
    	flag.Parse()
    
    		start := time.Now() // Startzeit merken
    
    		//getting date from the controller.
    
    		elements, err := inventoryManager.CreateGosdnConnectionwitNetzworkElementslist(configPathGosdn)
    
    		if err != nil {
    
    			log.Fatalf("Error creating the controller connection: %v", err)
    
    		} else {
    
    			//log.Println("everything is great!")
    
    		duration := time.Since(start) // Dauer berechnen
    		//log.Printf("Gosdn Dauer: %s\n", duration)
    		log.Println(string(Yellow), duration, Reset)
    		start = time.Now() // Startzeit merken
    
    		log.Println("length of element.men: ", len(elements.Mne))
    
    		//if elements != nil {
    		if len(elements.Mne) != elementeFigure {
    			//log.Printf("Es wurden %d Elemente gefunden", len(elementss.Mne))
    			//take the date into Netbox
    
    			err = netboxManager.FeedNetbox(elements, configPathNetbox)
    
    			if err != nil {
    				log.Fatalf("Error creating device: %v", err)
    			} else {
    				log.Println("everything is great!")
    				elementeFigure = len(elements.Mne)
    				log.Printf("there  are %d elementeFigur", elementeFigure)
    			}
    
    		} else {
    			log.Printf("The controller has no new data for me. Continuing is pointless^^ elements is empty")
    			time.Sleep(1 * time.Second)
    		}
    		duration = time.Since(start) // Dauer berechnen
    		//log.Printf("Netbox Dauer: %s\n", duration)
    		log.Println(string(Yellow), duration, Reset)
    
    	}
    
    }
    
    /*
    func main2() {
    	var configPathGosdn = flag.String("configGosdn", "config/config.yaml", "Path to the Gosdn configuration file")
    	var configPathNetbox = flag.String("configNetbox", "config/configNetbox.yaml", "Path to the NetBox configuration file")
    	var elementeFigure int
    	flag.Parse()
    
    	for {
    		start := time.Now() // Startzeit merken
    
    		//getting date from the controller.
    		elements, err := inventoryManager.CreateGosdnConnectionwitNetzworkElementslist(configPathGosdn)
    		if err != nil {
    			log.Fatalf("Error creating the controller connection: %v", err)
    		} else {
    			//log.Println("everything is great!")
    		}
    
    		duration := time.Since(start) // Dauer berechnen
    		//log.Printf("Gosdn Dauer: %s\n", duration)
    		log.Println(string(Yellow), duration, Reset)
    		start = time.Now() // Startzeit merken
    
    		log.Println("length of element.men: ", len(elements.Mne))
    		//if elements != nil {
    		if len(elements.Mne) != elementeFigure {
    			//log.Printf("Es wurden %d Elemente gefunden", len(elementss.Mne))
    			//take the date into Netbox
    
    			err = netboxManager.FeedNetbox(elements, configPathNetbox)
    
    			if err != nil {
    
    				log.Fatalf("Error creating device: %v", err)
    
    			} else {
    
    				log.Println("everything is great!")
    
    				elementeFigure = len(elements.Mne)
    
    				log.Printf("there  are %d elementeFigur", elementeFigure)
    
    			log.Printf("The controller has no new data for me. Continuing is pointless^^ elements is empty")
    
    			time.Sleep(1 * time.Second)
    		}
    
    		duration = time.Since(start) // Dauer berechnen
    		//log.Printf("Netbox Dauer: %s\n", duration)
    		log.Println(string(Yellow), duration, Reset)
    
    
    		elements, err := inventoryManager.CreateGosdnConnectionwitNetzworkElementslist()
    
    		if err != nil {
    
    			log.Fatalf("Fehler beim Erstellen der Controller Conenction: %v", err)
    		} else {
    			log.Println("Es ist alles cool!")
    
    
    		err = netboxManager.Netboxmanager()
    
    		if err != nil {
    
    			log.Fatalf("Fehler beim Erstellen des Geräts: %v", err)
    		} else {
    			log.Println("Es ist alles cool!")
    
    		err = netboxManager.FeedNetbox(elementss)
    		if err != nil {
    			log.Fatalf("Fehler beim Erstellen des Geräts: %v", err)
    		} else {
    			log.Println("Es ist alles cool!")
    		}