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