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  }