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  }