github.com/akamai/AkamaiOPEN-edgegrid-golang/v2@v2.17.0/pkg/networklists/networklists.go (about) 1 // Package networklists provides access to the Akamai Networklist APIs 2 package networklists 3 4 import ( 5 "errors" 6 7 "github.com/akamai/AkamaiOPEN-edgegrid-golang/v2/pkg/session" 8 ) 9 10 var ( 11 // ErrStructValidation is returned returned when given struct validation failed 12 ErrStructValidation = errors.New("struct validation") 13 ) 14 15 type ( 16 // NTWRKLISTS is the networklist api interface 17 NTWRKLISTS interface { 18 Activations 19 NetworkList 20 NetworkListDescription 21 NetworkListSubscription 22 } 23 24 networklists struct { 25 session.Session 26 usePrefixes bool 27 } 28 29 // Option defines a networklist option 30 Option func(*networklists) 31 32 // ClientFunc is a networklist client new method, this can used for mocking 33 ClientFunc func(sess session.Session, opts ...Option) NTWRKLISTS 34 ) 35 36 // Client returns a new networklist Client instance with the specified controller 37 func Client(sess session.Session, opts ...Option) NTWRKLISTS { 38 p := &networklists{ 39 Session: sess, 40 } 41 42 for _, opt := range opts { 43 opt(p) 44 } 45 return p 46 }