Advertisement
Guest User

Untitled

a guest
Apr 29th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "flag"
  5. "log"
  6. "os"
  7.  
  8. "github.com/PaloAltoNetworks/pango"
  9. )
  10.  
  11. func main() {
  12. var (
  13. hostname, username, password, apikey, comment string
  14. revert, ok bool
  15. err error
  16. job uint
  17. )
  18.  
  19. log.SetFlags(log.Ldate | log.Ltime | log.Lmicroseconds)
  20.  
  21. if hostname, ok = os.LookupEnv("PANOS_HOSTNAME"); !ok {
  22. log.Fatalf("PANOS_HOSTNAME must be set")
  23. }
  24. apikey = os.Getenv("PANOS_API_KEY")
  25. if username, ok = os.LookupEnv("PANOS_USERNAME"); !ok && apikey == "" {
  26. log.Fatalf("PANOS_USERNAME must be set if PANOS_API_KEY is unset")
  27. }
  28. if password, ok = os.LookupEnv("PANOS_PASSWORD"); !ok && apikey == "" {
  29. log.Fatalf("PANOS_PASSWORD must be set if PANOS_API_KEY is unset")
  30. }
  31.  
  32. flag.StringVar(&comment, "c", "", "Commit comment")
  33. flag.Parse()
  34.  
  35. fw := &pango.Firewall{Client: pango.Client{
  36. Hostname: hostname,
  37. Username: username,
  38. Password: password,
  39. ApiKey: apikey,
  40. Logging: pango.LogOp | pango.LogAction,
  41. }}
  42.  
  43. if err = fw.Initialize(); err != nil {
  44. log.Fatalf("Failed: %s", err)
  45. }
  46.  
  47. job, err = fw.Commit(comment, true, true, false, true)
  48.  
  49. if err != nil {
  50. log.Fatalf("Error in commit: %s", err)
  51. } else if job == 0 {
  52. log.Printf("No commit needed")
  53. } else {
  54. log.Printf("Committed config successfully")
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement