github.com/wuhuizuo/gomplate@v3.5.0+incompatible/funcs/sockaddr.go (about) 1 package funcs 2 3 import ( 4 "sync" 5 6 "github.com/hashicorp/go-sockaddr" 7 "github.com/hashicorp/go-sockaddr/template" 8 ) 9 10 var ( 11 sockaddrNS *SockaddrFuncs 12 sockaddrNSInit sync.Once 13 ) 14 15 // SockaddrNS - the sockaddr namespace 16 func SockaddrNS() *SockaddrFuncs { 17 sockaddrNSInit.Do(func() { sockaddrNS = &SockaddrFuncs{} }) 18 return sockaddrNS 19 } 20 21 // AddSockaddrFuncs - 22 func AddSockaddrFuncs(f map[string]interface{}) { 23 f["sockaddr"] = SockaddrNS 24 } 25 26 // SockaddrFuncs - 27 type SockaddrFuncs struct{} 28 29 // GetAllInterfaces - 30 func (f *SockaddrFuncs) GetAllInterfaces() (sockaddr.IfAddrs, error) { 31 return sockaddr.GetAllInterfaces() 32 } 33 34 // GetDefaultInterfaces - 35 func (f *SockaddrFuncs) GetDefaultInterfaces() (sockaddr.IfAddrs, error) { 36 return sockaddr.GetDefaultInterfaces() 37 } 38 39 // GetPrivateInterfaces - 40 func (f *SockaddrFuncs) GetPrivateInterfaces() (sockaddr.IfAddrs, error) { 41 return sockaddr.GetPrivateInterfaces() 42 } 43 44 // GetPublicInterfaces - 45 func (f *SockaddrFuncs) GetPublicInterfaces() (sockaddr.IfAddrs, error) { 46 return sockaddr.GetPublicInterfaces() 47 } 48 49 // Sort - 50 func (f *SockaddrFuncs) Sort(selectorParam string, inputIfAddrs sockaddr.IfAddrs) (sockaddr.IfAddrs, error) { 51 return sockaddr.SortIfBy(selectorParam, inputIfAddrs) 52 } 53 54 // Exclude - 55 func (f *SockaddrFuncs) Exclude(selectorName, selectorParam string, inputIfAddrs sockaddr.IfAddrs) (sockaddr.IfAddrs, error) { 56 return sockaddr.ExcludeIfs(selectorName, selectorParam, inputIfAddrs) 57 } 58 59 // Include - 60 func (f *SockaddrFuncs) Include(selectorName, selectorParam string, inputIfAddrs sockaddr.IfAddrs) (sockaddr.IfAddrs, error) { 61 return sockaddr.IncludeIfs(selectorName, selectorParam, inputIfAddrs) 62 } 63 64 // Attr - 65 func (f *SockaddrFuncs) Attr(selectorName string, ifAddrsRaw interface{}) (string, error) { 66 return template.Attr(selectorName, ifAddrsRaw) 67 } 68 69 // Join - 70 func (f *SockaddrFuncs) Join(selectorName, joinString string, inputIfAddrs sockaddr.IfAddrs) (string, error) { 71 return sockaddr.JoinIfAddrs(selectorName, joinString, inputIfAddrs) 72 } 73 74 // Limit - 75 func (f *SockaddrFuncs) Limit(lim uint, in sockaddr.IfAddrs) (sockaddr.IfAddrs, error) { 76 return sockaddr.LimitIfAddrs(lim, in) 77 } 78 79 // Offset - 80 func (f *SockaddrFuncs) Offset(off int, in sockaddr.IfAddrs) (sockaddr.IfAddrs, error) { 81 return sockaddr.OffsetIfAddrs(off, in) 82 } 83 84 // Unique - 85 func (f *SockaddrFuncs) Unique(selectorName string, inputIfAddrs sockaddr.IfAddrs) (sockaddr.IfAddrs, error) { 86 return sockaddr.UniqueIfAddrsBy(selectorName, inputIfAddrs) 87 } 88 89 // Math - 90 func (f *SockaddrFuncs) Math(operation, value string, inputIfAddrs sockaddr.IfAddrs) (sockaddr.IfAddrs, error) { 91 return sockaddr.IfAddrsMath(operation, value, inputIfAddrs) 92 } 93 94 // GetPrivateIP - 95 func (f *SockaddrFuncs) GetPrivateIP() (string, error) { 96 return sockaddr.GetPrivateIP() 97 } 98 99 // GetPrivateIPs - 100 func (f *SockaddrFuncs) GetPrivateIPs() (string, error) { 101 return sockaddr.GetPrivateIPs() 102 } 103 104 // GetPublicIP - 105 func (f *SockaddrFuncs) GetPublicIP() (string, error) { 106 return sockaddr.GetPublicIP() 107 } 108 109 // GetPublicIPs - 110 func (f *SockaddrFuncs) GetPublicIPs() (string, error) { 111 return sockaddr.GetPublicIPs() 112 } 113 114 // GetInterfaceIP - 115 func (f *SockaddrFuncs) GetInterfaceIP(namedIfRE string) (string, error) { 116 return sockaddr.GetInterfaceIP(namedIfRE) 117 } 118 119 // GetInterfaceIPs - 120 func (f *SockaddrFuncs) GetInterfaceIPs(namedIfRE string) (string, error) { 121 return sockaddr.GetInterfaceIPs(namedIfRE) 122 }