Documentation ¶
Index ¶
- Constants
- func NewClient(baseAPI string, opts ...ClientOption) *client
- type Applications
- type Client
- type ClientOption
- type CommandClient
- type HTTPServer
- type Job
- type ListKeysReturn
- type LocalClientReturn
- type ManageStatusReturn
- type Minion
- type Request
- type RunOption
- type TMPStats
- type TargetType
- type WorkerThread
Constants ¶
View Source
const ( CP_APPLICATIONS = "CherryPy Applications" CP_HTTPSERVER_PREFIX = "Cheroot HTTPServer" )
Variables ¶
This section is empty.
Functions ¶
func NewClient ¶
func NewClient(baseAPI string, opts ...ClientOption) *client
Types ¶
type Applications ¶
type Applications struct { Enabled bool `json:"Enabled"` BytesReadRequest float64 `json:"Bytes Read/Request"` BytesReadSecond float64 `json:"Bytes Read/Second"` BytesWrittenRequest float64 `json:"Bytes Written/Request"` BytesWrittenSecond float64 `json:"Bytes Written/Second"` CurrentTime float64 `json:"Current Time"` CurrentRequests int `json:"Current Requests"` RequestsSecond float64 `json:"Requests/Second"` ServerVersion string `json:"Server Version"` StartTime float64 `json:"Start Time"` TotalBytesRead int `json:"Total Bytes Read"` TotalBytesWritten int `json:"Total Bytes Written"` TotalRequests int `json:"Total Requests"` TotalTime float64 `json:"Total Time"` Uptime float64 `json:"Uptime"` Requests map[string]Request `json:"Requests"` }
type Client ¶ added in v0.3.0
type Client interface { Login(ctx context.Context, username, password, eauth string) error Logout(ctx context.Context) error ListMinions(ctx context.Context) ([]Minion, error) GetMinion(ctx context.Context, mid string) (*Minion, error) LocalClient(ctx context.Context, tgt, fun string, arg []string, opts ...RunOption) (map[string]LocalClientReturn, error) LocalClientAsync(ctx context.Context, tgt, fun string, arg []string, opts ...RunOption) (jid string, err error) ListJobs(ctx context.Context) ([]Job, error) GetJob(ctx context.Context, jid string) (*Job, error) Hook(ctx context.Context, id string, payload interface{}) error Stats(ctx context.Context) (*stats, error) // Wheel Client Keys ListKeys(ctx context.Context) (*ListKeysReturn, error) GetKeyString(ctx context.Context, match string) (map[string]string, error) GetKeyFinger(ctx context.Context, match string) (map[string]string, error) AcceptKey(ctx context.Context, match string) ([]string, error) RejectedKey(ctx context.Context, match string) ([]string, error) DeleteKey(ctx context.Context, match string) ([]string, error) // Runner Client ManageStatus(ctx context.Context) (*ManageStatusReturn, error) }
type ClientOption ¶ added in v0.3.0
type ClientOption func(options *clientOptions)
func WithInsecure ¶ added in v0.3.0
func WithInsecure() ClientOption
func WithTimeout ¶ added in v0.3.0
func WithTimeout(timeout time.Duration) ClientOption
type CommandClient ¶ added in v0.3.0
type CommandClient string
const ( LocalClient CommandClient = "local" LocalAsyncClient CommandClient = "local_async" RunnerClient CommandClient = "runner" RunnerAsyncClient CommandClient = "runner_async" WheelClient CommandClient = "wheel" WheelAsyncClient CommandClient = "wheel_async" SSHClient CommandClient = "ssh" )
type HTTPServer ¶
type HTTPServer struct { Enabled bool `json:"Enabled"` BindAddress string `json:"Bind Address"` RunTime int `json:"Run time"` Accepts int `json:"Accepts"` AcceptsSec float64 `json:"Accepts/sec"` Queue int `json:"Queue"` Threads int `json:"Threads"` ThreadsIdle int `json:"Threads Idle"` SocketErrors int `json:"Socket Errors"` Requests int `json:"Requests"` BytesRead int `json:"Bytes Read"` BytesWritten int `json:"Bytes Written"` WorkTime int `json:"Work Time"` ReadThroughput float64 `json:"Read Throughput"` WriteThroughput float64 `json:"Write Throughput"` WorkerThreads map[string]WorkerThread `json:"Worker Threads"` }
type Job ¶
type Job struct { JID string `json:"jid,omitempty"` Function string `json:"Function,omitempty"` Arguments []interface{} `json:"Arguments,omitempty"` // KWArguments map[string]interface{} `json:"KWArguments,omitempty"` Target interface{} `json:"Target,omitempty"` TargetType TargetType `json:"Target-Type,omitempty"` StartTime saltTime `json:"StartTime"` User string `json:"User"` Minions []string `json:"Minions,omitempty"` Result map[string]jobResult `json:"Result,omitempty"` Error string `json:"Error,omitempty"` }
type ListKeysReturn ¶ added in v0.3.0
type LocalClientReturn ¶ added in v0.3.0
type ManageStatusReturn ¶ added in v0.3.0
type Minion ¶
type Minion struct { ID string `json:"id"` CWD string `json:"cwd"` NodeName string `json:"nodename"` MachineID string `json:"machine_id"` Master string `json:"master"` ServerID int64 `json:"server_id"` Localhost string `json:"localhost"` Host string `json:"host"` Domain string `json:"domain"` IPGW interface{} `json:"ip_gw"` IP4GW interface{} `json:"ip4_gw"` IP6GW interface{} `json:"ip6_gw"` DNS struct { Nameservers []string `json:"nameservers"` IP4Namespaces []string `json:"ip4_namespaces"` IP6Namespaces []string `json:"ip6_namespaces"` SortList []string `json:"sortlist"` Domain string `json:"domain"` Search []string `json:"search"` Options []string `json:"options"` } `json:"dns"` FQDN string `json:"fqdn"` FQDNs []string `json:"fqdns"` HWAddrInterface map[string]string `json:"hwaddr_interface"` IP4Interfaces map[string][]string `json:"ip4_interfaces"` IP6Interfaces map[string][]string `json:"ip6_interfaces"` IPInterfaces map[string][]string `json:"ip_interfaces"` IPv4 []string `json:"ipv4"` IPv6 []string `json:"ipv6"` FQDNIP4 []string `json:"fqdn_ip4"` FQDNIP6 []string `json:"fqdn_ip6"` Kernel string `json:"kernel"` KernelRelease string `json:"kernelrelease"` KernelVersion string `json:"kernelversion"` KernelParams [][]string `json:"kernelparams"` LocaleInfo struct { DefaultLanguage string `json:"defaultlanguage"` DefaultEncoding string `json:"defaultencoding"` DetectedEncoding string `json:"detectedencoding"` TimeZone string `json:"timezone"` } `json:"locale_info"` NumGPUS int `json:"num_gpus"` GPUS []struct { Vendor string `json:"vendor"` Model string `json:"model"` } `json:"gpus"` NumCPUS int `json:"num_cpus"` CPUArch string `json:"cpuarch"` CPUModel string `json:"cpu_model"` CPUFlags []string `json:"cpu_flags"` Selinux struct { Enabled bool `json:"enabled"` Enforced string `json:"enforced"` } `json:"selinux"` Systemd struct { Version string `json:"version"` Features string `json:"features"` } `json:"systemd"` Init string `json:"init"` LSBDistribID string `json:"lsb_distrib_id"` LSBDistribCodename string `json:"lsb_distrib_codename"` OS string `json:"os"` OSFullName string `json:"osfullname"` OSRelease string `json:"osrelease"` OSReleaseInfo []int `json:"osrelease_info"` OSCodename string `json:"oscodename"` OSMajorRelease int `json:"osmajorrelease"` OSFinger string `json:"osfinger"` OSFamily string `json:"os_family"` OSArch string `json:"osarch"` MemTotal int `json:"mem_total"` SwapTotal int `json:"swap_total"` BiosVersion string `json:"biosversion"` BiosReleaseDate string `json:"biosreleasedate"` ProductName string `json:"productname"` Manufacturer string `json:"manufacturer"` UUID string `json:"uuid"` SerialNumber string `json:"serialnumber"` Virtual string `json:"virtual"` PS string `json:"ps"` Path string `json:"path"` SystemPath []string `json:"systempath"` PythonExecutable string `json:"pythonexecutable"` PythonPath []string `json:"pythonpath"` PythonVersion []interface{} `json:"pythonversion"` SaltPath string `json:"saltpath"` SaltVersion string `json:"saltversion"` SaltVersionInfo []int `json:"saltversioninfo"` ZMQVersion string `json:"zmqversion"` Disks []string `json:"disks"` SSDs []string `json:"ssds"` Shell string `json:"shell"` Lvm map[string][]string `json:"lvm"` MDAdm []string `json:"mdadm"` Username string `json:"username"` GroupName string `json:"groupname"` Pid int64 `json:"pid"` Gid int `json:"gid"` Uid int `json:"uid"` ZFSSupport bool `json:"zfs_support"` ZFSFeatureFlags bool `json:"zfs_feature_flags"` }
type Request ¶ added in v0.3.0
type Request struct { BytesRead int `json:"Bytes Read"` BytesWritten int `json:"Bytes Written"` ResponseStatus string `json:"Response Status"` StartTime float64 `json:"Start Time"` EndTime float64 `json:"End Time"` Client string `json:"Client"` ProcessingTime float64 `json:"Processing Time"` RequestLine string `json:"Request-Line"` }
type RunOption ¶ added in v0.3.0
type RunOption func(*commandRequest)
func WithTargetType ¶ added in v0.3.0
func WithTargetType(t TargetType) RunOption
type TargetType ¶ added in v0.3.0
type TargetType string
const ( Glob TargetType = "glob" Pcre TargetType = "pcre" List TargetType = "list" Grain TargetType = "grain" GrainPcre TargetType = "grain_pcre" Pillar TargetType = "pillar" PillarPcre TargetType = "pillar_pcre" NodeGroup TargetType = "nodegroup" Range TargetType = "range" Compound TargetType = "compound" IPCidr TargetType = "ipcidr" )
type WorkerThread ¶ added in v0.3.0
Source Files ¶
Click to show internal directories.
Click to hide internal directories.