create.go 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. package dns
  2. import (
  3. "log"
  4. "github.com/gravitl/netmaker/cli/functions"
  5. "github.com/gravitl/netmaker/models"
  6. "github.com/spf13/cobra"
  7. )
  8. var dnsCreateCmd = &cobra.Command{
  9. Use: "create",
  10. Args: cobra.NoArgs,
  11. Short: "Create a DNS entry",
  12. Long: `Create a DNS entry`,
  13. Run: func(cmd *cobra.Command, args []string) {
  14. if address == "" && address6 == "" {
  15. log.Fatal("Either IPv4 or IPv6 address is required")
  16. }
  17. dnsEntry := &models.DNSEntry{Name: dnsName, Address: address, Address6: address6, Network: networkName}
  18. functions.PrettyPrint(functions.CreateDNS(networkName, dnsEntry))
  19. },
  20. }
  21. func init() {
  22. dnsCreateCmd.Flags().StringVar(&dnsName, "name", "", "Name of the DNS entry")
  23. dnsCreateCmd.MarkFlagRequired("name")
  24. dnsCreateCmd.Flags().StringVar(&networkName, "network", "", "Name of the Network")
  25. dnsCreateCmd.MarkFlagRequired("network")
  26. dnsCreateCmd.Flags().StringVar(&address, "ipv4_addr", "", "IPv4 Address")
  27. dnsCreateCmd.Flags().StringVar(&address6, "ipv6_addr", "", "IPv6 Address")
  28. rootCmd.AddCommand(dnsCreateCmd)
  29. }