hunk.code_window: 	defaultBindAddress     = ":9000"
   	defaultDataDirectory   = "C:\\data"
   	defaultAssetsDirectory = "."
   	defaultTemplatesURL    = "https://raw.githubusercontent.com/portainer/templates/master/templates.json"
   	defaultNoAuth          = "false"
   	defaultTLSVerify       = "false"
   	defaultTLSCACertPath   = "C:\\certs\\ca.pem"
   	defaultTLSCertPath     = "C:\\certs\\cert.pem"
  
hunk.labels: keep keep keep keep add keep keep keep
hunk.after_edit: 	defaultNoAnalytics     = "false"
  
hunk.file_path: api/cli/defaults_windows.go
hunk.type: add
file: package portainer
  
  import (
  	"io"
  )
  
  type (
  	// Pair defines a key/value string pair
  	Pair struct {
  		Name  string `json:"name"`
  		Value string `json:"value"`
  	}
  
  	// CLIFlags represents the available flags on the CLI.
  	CLIFlags struct {
  		Addr      *string
  		Assets    *string
  		Data      *string
  		Endpoint  *string
  		Labels    *[]Pair
  		Logo      *string
  		Templates *string
  		NoAuth    *bool
  		TLSVerify *bool
  		TLSCacert *string
  		TLSCert   *string
  		TLSKey    *string
  	}
  
  	// Settings represents Portainer settings.
  	Settings struct {
  		HiddenLabels   []Pair `json:"hiddenLabels"`
  		Logo           string `json:"logo"`
  		Authentication bool   `json:"authentication"`
  	}
  
  	// User represent a user account.
  	User struct {
  		Username string `json:"Username"`
  		Password string `json:"Password,omitempty"`
  	}
  
  	// TokenData represents the data embedded in a JWT token.
  	TokenData struct {
  		Username string
  	}
  
  	// EndpointID represents an endpoint identifier.
  	EndpointID int
  
  	// Endpoint represents a Docker endpoint with all the info required
  	// to connect to it.
  	Endpoint struct {
  		ID            EndpointID `json:"Id"`
  		Name          string     `json:"Name"`
  		URL           string     `json:"URL"`
  		TLS           bool       `json:"TLS"`
  		TLSCACertPath string     `json:"TLSCACert,omitempty"`
  		TLSCertPath   string     `json:"TLSCert,omitempty"`
  		TLSKeyPath    string     `json:"TLSKey,omitempty"`
  	}
  
  	// TLSFileType represents a type of TLS file required to connect to a Docker endpoint.
  	// It can be either a TLS CA file, a TLS certificate file or a TLS key file.
  	TLSFileType int
  
  	// CLIService represents a service for managing CLI.
  	CLIService interface {
  		ParseFlags(version string) (*CLIFlags, error)
  		ValidateFlags(flags *CLIFlags) error
  	}
  
  	// DataStore defines the interface to manage the data.
  	DataStore interface {
  		Open() error
  		Close() error
  	}
  
  	// Server defines the interface to serve the data.
  	Server interface {
  		Start() error
  	}
  
  	// UserService represents a service for managing users.
  	UserService interface {
  		User(username string) (*User, error)
  		UpdateUser(user *User) error
  	}
  
  	// EndpointService represents a service for managing endpoints.
  	EndpointService interface {
  		Endpoint(ID EndpointID) (*Endpoint, error)
  		Endpoints() ([]Endpoint, error)
  		CreateEndpoint(endpoint *Endpoint) error
  		UpdateEndpoint(ID EndpointID, endpoint *Endpoint) error
  		DeleteEndpoint(ID EndpointID) error
  		GetActive() (*Endpoint, error)
  		SetActive(endpoint *Endpoint) error
  		DeleteActive() error
  	}
  
  	// CryptoService represents a service for encrypting/hashing data.
  	CryptoService interface {
  		Hash(data string) (string, error)
  		CompareHashAndData(hash string, data string) error
  	}
  
  	// JWTService represents a service for managing JWT tokens.
  	JWTService interface {
  		GenerateToken(data *TokenData) (string, error)
  		VerifyToken(token string) error
  	}
  
  	// FileService represents a service for managing files.
  	FileService interface {
  		StoreTLSFile(endpointID EndpointID, fileType TLSFileType, r io.Reader) error
  		GetPathForTLSFile(endpointID EndpointID, fileType TLSFileType) (string, error)
  		DeleteTLSFiles(endpointID EndpointID) error
  	}
  )
  
  const (
  	// APIVersion is the version number of portainer API.
  	APIVersion = "1.11.3"
  )
  
  const (
  	// TLSFileCA represents a TLS CA certificate file.
  	TLSFileCA TLSFileType = iota
  	// TLSFileCert represents a TLS certificate file.
  	TLSFileCert
  	// TLSFileKey represents a TLS key file.
  	TLSFileKey
  )
  