services

package
v1.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2024 License: MIT Imports: 1 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cassandra

type Cassandra struct {
	// Name of the cluster
	Name string `json:"name"`

	// List of keyspaces available
	Keyspaces []string `json:"keyspaces"`

	// Algorithm used to partition the data across the cluster
	Partitioner string `json:"partitioner"`

	// Algorithm used to determine the network topology of the cluster
	Snitch string `json:"snitch"`
}

type CoAP added in v1.0.4

type CoAP struct {
	Resources map[string]interface{} `json:"resources"`
}

type DB2

type DB2 struct {
	// External name for the database server
	ExternalName string `json:"external_name"`

	// Hardware/operating system information
	ServerPlatform string `json:"server_platform"`

	// Name of the server
	InstanceName string `json:"instance_name"`

	Version string `json:"db2_version"`
}

type DNS

type DNS struct {
	//  Whether or not the server allows recursive lookups
	Recursive bool `json:"recursive"`

	//  Name of the resolver used to process the query
	ResolverHostname *string `json:"resolver_hostname"`

	//  Unique identifier of the resolver
	ResolverID *string `json:"resolver_id"`

	//  Name of the DNS software
	Software *string `json:"software"`
}

type Docker

type Docker struct {
	// API version of this Docker service
	APIVersion string `json:"ApiVersion"`

	// Architecture of the server running the service
	Arch string `json:"Arch"`

	// Date and time that the build was created
	BuildTime string `json:"BuildTime,omitempty"`

	Components   []DockerComponent `json:"Components,omitempty"`
	Containers   []DockerContainer `json:"Containers,omitempty"`
	Engine       string            `json:"Engine,omitempty"`
	Experimental bool              `json:"Experimental,omitempty"`

	// Git commit identifier
	GitCommit string `json:"GitCommit"`

	// Version of Go used for the build
	GoVersion string `json:"GoVersion"`

	// Kernel version of the server
	KernelVersion string `json:"KernelVersion"`

	// Minimum API version the server supports
	MinApiversion string `json:"MinAPIVersion,omitempty"`

	EulerVersion string `json:"EulerVersion,omitempty"`

	// Host operating system
	OS         string         `json:"Os"`
	PkgVersion string         `json:"PkgVersion,omitempty"`
	Platform   DockerPlatform `json:"Platform,omitempty"`

	// Docker version
	Version string `json:"Version"`
}

Availability: Docker services that allow remote connections and don’t have authentication enabled

type DockerComponent

type DockerComponent struct {
	Details DockerComponentDetails `json:"Details"`
	Name    string                 `json:"Name"`
	Version string                 `json:"Version"`
}

type DockerComponentDetails

type DockerComponentDetails struct {
	APIVersion    string `json:"ApiVersion,omitempty"`
	Arch          string `json:"Arch,omitempty"`
	BuildTime     string `json:"BuildTime,omitempty"`
	Experimental  string `json:"Experimental,omitempty"`
	GitCommit     string `json:"GitCommit"`
	GoVersion     string `json:"GoVersion,omitempty"`
	KernelVersion string `json:"KernelVersion,omitempty"`
	MinApiversion string `json:"MinAPIVersion,omitempty"`
	Os            string `json:"Os,omitempty"`
}

type DockerContainer

type DockerContainer struct {
	Command         string                    `json:"Command"`
	Created         int                       `json:"Created"`
	FinishedAt      int                       `json:"FinishedAt,omitempty"`
	HostConfig      DockerContainerHostConfig `json:"HostConfig,omitempty"`
	ID              string                    `json:"Id"`
	Image           string                    `json:"Image"`
	ImageID         string                    `json:"ImageID,omitempty"`
	Labels          interface{}               `json:"Labels,omitempty"`
	Mounts          interface{}               `json:"Mounts,omitempty"`
	Names           []string                  `json:"Names"`
	NetworkSettings interface{}               `json:"NetworkSettings,omitempty"`
	Ports           interface{}               `json:"Ports"`
	StartedAt       int                       `json:"StartedAt,omitempty"`
	State           string                    `json:"State,omitempty"`
	Status          string                    `json:"Status"`
}

type DockerContainerHostConfig

type DockerContainerHostConfig struct {
	NetworkMode string `json:"NetworkMode,omitempty"`
}

type DockerPlatform

type DockerPlatform struct {
	Name string `json:"Name"`
}

type Elastic

type Elastic struct {
	// General information about the cluster
	Cluster ElasticCluster `json:"cluster"`

	// List of nodes/peers
	Nodes ElasticNode `json:"nodes"`

	// List of available indexes
	Indices map[string]ElasticIndex `json:"indices"`
}

type ElasticAttributes

type ElasticAttributes struct {
	AwsAvailabilityZone  string `json:"aws_availability_zone,omitempty"`
	BoxType              string `json:"box_type,omitempty"`
	Client               string `json:"client,omitempty"`
	Data                 string `json:"data,omitempty"`
	FaultDomain          string `json:"fault_domain,omitempty"`
	Local                string `json:"local,omitempty"`
	Master               string `json:"master,omitempty"`
	MaxLocalStorageNodes string `json:"max_local_storage_nodes,omitempty"`
	MlEnabled            string `json:"ml.enabled,omitempty"`
	MlMachineMemory      string `json:"ml.machine_memory,omitempty"`
	MlMaxOpenJobs        string `json:"ml.max_open_jobs,omitempty"`
	Rack                 string `json:"rack,omitempty"`
	Role                 string `json:"role,omitempty"`
	UpdateDomain         string `json:"update_domain,omitempty"`
	XpackInstalled       string `json:"xpack.installed,omitempty"`
}

type ElasticCPULoad

type ElasticCPULoad struct {
	Percent int `json:"percent"`
}

type ElasticCPUdata

type ElasticCPUdata struct {
	CacheSizeInBytes int    `json:"cache_size_in_bytes,omitempty"`
	CoresPerSocket   int    `json:"cores_per_socket"`
	Mhz              int    `json:"mhz,omitempty"`
	Model            string `json:"model,omitempty"`
	TotalCores       int    `json:"total_cores"`
	TotalSockets     int    `json:"total_sockets"`
	Vendor           string `json:"vendor,omitempty"`
}

type ElasticCluster

type ElasticCluster struct {
	ClusterName string           `json:"cluster_name,omitempty"`
	ClusterUUID string           `json:"cluster_uuid,omitempty"`
	Indices     ElasticIndices   `json:"indices,omitempty"`
	Nodes       ElasticNodes     `json:"nodes,omitempty"`
	NodesMore   ElasticNodesMore `json:"_nodes,omitempty"`
	Status      string           `json:"status,omitempty"`
	Timestamp   int              `json:"timestamp,omitempty"`
}

type ElasticCompletion

type ElasticCompletion struct {
	SizeInBytes int `json:"size_in_bytes"`
}

type ElasticCpuItem

type ElasticCpuItem struct {
	CacheSizeInBytes int    `json:"cache_size_in_bytes"`
	CoresPerSocket   int    `json:"cores_per_socket"`
	Count            int    `json:"count"`
	Mhz              int    `json:"mhz"`
	Model            string `json:"model,omitempty"`
	TotalCores       int    `json:"total_cores"`
	TotalSockets     int    `json:"total_sockets"`
	Vendor           string `json:"vendor,omitempty"`
}

type ElasticFS

type ElasticFS struct {
	AvailableInBytes     int    `json:"available_in_bytes,omitempty"`
	DiskIoOp             int    `json:"disk_io_op,omitempty"`
	DiskIoSizeInBytes    int    `json:"disk_io_size_in_bytes,omitempty"`
	DiskQueue            string `json:"disk_queue,omitempty"`
	DiskReadSizeInBytes  int    `json:"disk_read_size_in_bytes,omitempty"`
	DiskReads            int    `json:"disk_reads,omitempty"`
	DiskServiceTime      string `json:"disk_service_time,omitempty"`
	DiskWriteSizeInBytes int    `json:"disk_write_size_in_bytes,omitempty"`
	DiskWrites           int    `json:"disk_writes,omitempty"`
	FreeInBytes          int    `json:"free_in_bytes,omitempty"`
	Spins                string `json:"spins,omitempty"`
	TotalInBytes         int    `json:"total_in_bytes,omitempty"`
}

type ElasticFailure

type ElasticFailure struct {
	CausedBy ElasticFailureCausedBy `json:"caused_by"`
	NodeID   string                 `json:"node_id"`
	Reason   string                 `json:"reason"`
	Type     string                 `json:"type"`
}

type ElasticFailureCausedBy

type ElasticFailureCausedBy struct {
	CausedBy *ElasticFailureCausedBy `json:"caused_by,omitempty"`
	Reason   string                  `json:"reason"`
	Type     string                  `json:"type"`
}

type ElasticFielddata

type ElasticFielddata struct {
	Evictions         int `json:"evictions"`
	MemorySizeInBytes int `json:"memory_size_in_bytes"`
}

type ElasticFilterCache

type ElasticFilterCache struct {
	Evictions         int `json:"evictions"`
	MemorySizeInBytes int `json:"memory_size_in_bytes"`
}

type ElasticIdcache

type ElasticIdcache struct {
	MemorySizeInBytes int `json:"memory_size_in_bytes"`
}

type ElasticIndex

type ElasticIndex struct {
	Primaries ElasticIndexStats `json:"primaries"`
	Total     ElasticIndexStats `json:"total"`
	UUID      string            `json:"uuid,omitempty"`
}

type ElasticIndexDocs

type ElasticIndexDocs struct {
	Count   int `json:"count"`
	Deleted int `json:"deleted"`
}

type ElasticIndexMetric

type ElasticIndexMetric struct {
	Avg float64 `json:"avg"`
	Max float64 `json:"max"`
	Min float64 `json:"min"`
}

type ElasticIndexStats

type ElasticIndexStats struct {
	Indexing ElasticIndexing `json:"indexing,omitempty"`
}

type ElasticIndexing

type ElasticIndexing struct {
	DeleteCurrent        int  `json:"delete_current"`
	DeleteTimeInMillis   int  `json:"delete_time_in_millis"`
	DeleteTotal          int  `json:"delete_total"`
	IndexCurrent         int  `json:"index_current"`
	IndexFailed          int  `json:"index_failed,omitempty"`
	IndexTimeInMillis    int  `json:"index_time_in_millis"`
	IndexTotal           int  `json:"index_total"`
	IsThrottled          bool `json:"is_throttled"`
	NoopUpdateTotal      int  `json:"noop_update_total"`
	ThrottleTimeInMillis int  `json:"throttle_time_in_millis"`
}

type ElasticIndices

type ElasticIndices struct {
	Completion  ElasticCompletion    `json:"completion"`
	Count       int                  `json:"count"`
	Docs        ElasticIndexDocs     `json:"docs"`
	Fielddata   ElasticFielddata     `json:"fielddata"`
	FilterCache ElasticFilterCache   `json:"filter_cache,omitempty"`
	IDCache     ElasticIdcache       `json:"id_cache,omitempty"`
	Percolate   ElasticPercolate     `json:"percolate,omitempty"`
	QueryCache  ElasticQueryCache    `json:"query_cache,omitempty"`
	Segments    ElasticSegments      `json:"segments"`
	Shards      ElasticIndicesShards `json:"shards"`
	Store       ElasticStore         `json:"store"`
}

type ElasticIndicesShards

type ElasticIndicesShards struct {
	Index       ElasticShardIndex `json:"index,omitempty"`
	Primaries   int               `json:"primaries,omitempty"`
	Replication float64           `json:"replication,omitempty"`
	Total       int               `json:"total,omitempty"`
}

type ElasticIngest

type ElasticIngest struct {
	Processors        []ElasticProcessor     `json:"processors"`
	ProcessorStats    map[string]interface{} `json:"processor_stats"`
	NumberOfPipelines int                    `json:"number_of_pipelines"`
}

type ElasticJVM

type ElasticJVM struct {
	GcCollectors                          []string      `json:"gc_collectors,omitempty"`
	InputArguments                        []string      `json:"input_arguments,omitempty"`
	Mem                                   ElasticJvmMem `json:"mem,omitempty"`
	MemoryPools                           []string      `json:"memory_pools,omitempty"`
	Pid                                   int           `json:"pid,omitempty"`
	StartTimeInMillis                     int           `json:"start_time_in_millis,omitempty"`
	UsingCompressedOrdinaryObjectPointers string        `json:"using_compressed_ordinary_object_pointers,omitempty"`
	VMName                                string        `json:"vm_name,omitempty"`
	VMVendor                              string        `json:"vm_vendor,omitempty"`
	VMVersion                             string        `json:"vm_version,omitempty"`
	Version                               string        `json:"version,omitempty"`
}

type ElasticJVMdata

type ElasticJVMdata struct {
	MaxUptimeInMillis int                 `json:"max_uptime_in_millis"`
	Mem               ElasticJvmMem       `json:"mem"`
	Threads           int                 `json:"threads"`
	Versions          []ElasticJvmVersion `json:"versions,omitempty"`
}

type ElasticJvmMem

type ElasticJvmMem struct {
	DirectMaxInBytes   int `json:"direct_max_in_bytes"`
	HeapInitInBytes    int `json:"heap_init_in_bytes"`
	HeapMaxInBytes     int `json:"heap_max_in_bytes"`
	NonHeapInitInBytes int `json:"non_heap_init_in_bytes"`
	NonHeapMaxInBytes  int `json:"non_heap_max_in_bytes"`
	HeapUsedInBytes    int `json:"heap_used_in_bytes"`
}

type ElasticJvmVersion

type ElasticJvmVersion struct {
	Count     int    `json:"count"`
	VMName    string `json:"vm_name"`
	VMVendor  string `json:"vm_vendor"`
	VMVersion string `json:"vm_version"`
	Version   string `json:"version"`
}

type ElasticModule

type ElasticModule struct {
	Classname            string   `json:"classname"`
	Description          string   `json:"description"`
	ElasticsearchVersion string   `json:"elasticsearch_version,omitempty"`
	ExtendedPlugins      []string `json:"extended_plugins,omitempty"`
	HasNativeController  bool     `json:"has_native_controller,omitempty"`
	Isolated             bool     `json:"isolated,omitempty"`
	JavaVersion          string   `json:"java_version,omitempty"`
	Jvm                  bool     `json:"jvm,omitempty"`
	Name                 string   `json:"name"`
	RequiresKeystore     bool     `json:"requires_keystore,omitempty"`
	Site                 bool     `json:"site,omitempty"`
	Version              string   `json:"version"`
}

type ElasticNetwork

type ElasticNetwork struct {
	PrimaryInterface        ElasticPrimaryInterface `json:"primary_interface,omitempty"`
	RefreshIntervalInMillis int                     `json:"refresh_interval_in_millis"`
}

type ElasticNetworkTypes

type ElasticNetworkTypes struct {
	HTTPTypes      map[string]interface{} `json:"http_types"`
	TransportTypes map[string]interface{} `json:"transport_types"`
}

type ElasticNode

type ElasticNode struct {
	ClusterName string                     `json:"cluster_name"`
	Nodes       map[string]ElasticNodeInfo `json:"nodes"`
	NodesStat   ElasticNodeStat            `json:"_nodes,omitempty"`
}

type ElasticNodeCount

type ElasticNodeCount struct {
	Client           int `json:"client,omitempty"`
	CoordinatingOnly int `json:"coordinating_only,omitempty"`
	VotingOnly       int `json:"voting_only,omitempty"`
	Data             int `json:"data,omitempty"`
	DataOnly         int `json:"data_only,omitempty"`
	Ingest           int `json:"ingest,omitempty"`
	Master           int `json:"master,omitempty"`
	MasterData       int `json:"master_data,omitempty"`
	MasterOnly       int `json:"master_only,omitempty"`
	ML               int `json:"ml"`
	Total            int `json:"total"`
}

type ElasticNodeHTTP

type ElasticNodeHTTP struct {
	BoundAddress            interface{} `json:"bound_address"`
	MaxContentLengthInBytes int         `json:"max_content_length_in_bytes"`
	PublishAddress          string      `json:"publish_address"`
}

type ElasticNodeInfo

type ElasticNodeInfo struct {
	ThreadPool          map[string]interface{} `json:"thread_pool,omitempty"`
	Settings            map[string]interface{} `json:"settings,omitempty"`
	Attributes          ElasticAttributes      `json:"attributes,omitempty"`
	Build               string                 `json:"build,omitempty"`
	BuildFlavor         string                 `json:"build_flavor,omitempty"`
	BuildHash           string                 `json:"build_hash,omitempty"`
	BuildType           string                 `json:"build_type,omitempty"`
	HTTP                ElasticNodeHTTP        `json:"http,omitempty"`
	HTTPAddress         string                 `json:"http_address,omitempty"`
	Host                string                 `json:"host,omitempty"`
	IP                  string                 `json:"ip,omitempty"`
	Ingest              ElasticIngest          `json:"ingest,omitempty"`
	JVM                 ElasticJVM             `json:"jvm"`
	Modules             []ElasticModule        `json:"modules,omitempty"`
	Name                string                 `json:"name"`
	Network             ElasticNetwork         `json:"network,omitempty"`
	OS                  ElasticOsInfo          `json:"os"`
	Plugins             []ElasticPlugin        `json:"plugins,omitempty"`
	Process             ElasticProcess         `json:"process"`
	Roles               []string               `json:"roles,omitempty"`
	TotalIndexingBuffer int                    `json:"total_indexing_buffer,omitempty"`
	Transport           ElasticTransport       `json:"transport,omitempty"`
	TransportAddress    string                 `json:"transport_address,omitempty"`
	Version             string                 `json:"version"`
}

type ElasticNodeStat

type ElasticNodeStat struct {
	Failed     int              `json:"failed"`
	Failures   []ElasticFailure `json:"failures,omitempty"`
	Successful int              `json:"successful"`
	Total      int              `json:"total"`
}

type ElasticNodes

type ElasticNodes struct {
	Count          ElasticNodeCount       `json:"count"`
	FS             ElasticFS              `json:"fs"`
	JVM            ElasticJVMdata         `json:"jvm"`
	NetworkTypes   ElasticNetworkTypes    `json:"network_types,omitempty"`
	OS             ElasticOS              `json:"os"`
	Plugins        []ElasticPlugin        `json:"plugins,omitempty"`
	Process        ElasticProcess         `json:"process"`
	Versions       []string               `json:"versions"`
	Ingest         ElasticIngest          `json:"ingest,omitempty"`
	PackagingTypes []PackagingType        `json:"packaging_types"`
	DiscoveryTypes map[string]interface{} `json:"discovery_types"`
}

type ElasticNodesMore

type ElasticNodesMore struct {
	Failed     int              `json:"failed"`
	Failures   []ElasticFailure `json:"failures,omitempty"`
	Successful int              `json:"successful"`
	Total      int              `json:"total"`
}

type ElasticOS

type ElasticOS struct {
	AllocatedProcessors int                 `json:"allocated_processors,omitempty"`
	AvailableProcessors int                 `json:"available_processors"`
	CPU                 []ElasticCpuItem    `json:"cpu,omitempty"`
	Mem                 ElasticOsMem        `json:"mem"`
	Names               []ElasticOSname     `json:"names,omitempty"`
	PrettyNames         []ElasticPrettyName `json:"pretty_names,omitempty"`
}

type ElasticOSname

type ElasticOSname struct {
	Count int    `json:"count"`
	Name  string `json:"name,omitempty"`
}

type ElasticOpenFileDescriptors

type ElasticOpenFileDescriptors struct {
	Avg int `json:"avg"`
	Max int `json:"max"`
	Min int `json:"min"`
}

type ElasticOsInfo

type ElasticOsInfo struct {
	AllocatedProcessors     int            `json:"allocated_processors,omitempty"`
	Arch                    string         `json:"arch,omitempty"`
	AvailableProcessors     int            `json:"available_processors"`
	CPU                     ElasticCPUdata `json:"cpu,omitempty"`
	Mem                     ElasticOsMem   `json:"mem,omitempty"`
	Name                    string         `json:"name,omitempty"`
	PrettyName              string         `json:"pretty_name,omitempty"`
	RefreshIntervalInMillis int            `json:"refresh_interval_in_millis"`
	Swap                    ElasticSwap    `json:"swap,omitempty"`
	Version                 string         `json:"version,omitempty"`
}

type ElasticOsMem

type ElasticOsMem struct {
	FreeInBytes  int `json:"free_in_bytes,omitempty"`
	FreePercent  int `json:"free_percent,omitempty"`
	TotalInBytes int `json:"total_in_bytes"`
	UsedInBytes  int `json:"used_in_bytes,omitempty"`
	UsedPercent  int `json:"used_percent,omitempty"`
}

type ElasticPercolate

type ElasticPercolate struct {
	Current           int    `json:"current"`
	MemorySize        string `json:"memory_size"`
	MemorySizeInBytes int    `json:"memory_size_in_bytes"`
	Queries           int    `json:"queries"`
	TimeInMillis      int    `json:"time_in_millis"`
	Total             int    `json:"total"`
}

type ElasticPlugin

type ElasticPlugin struct {
	Classname            string   `json:"classname,omitempty"`
	Description          string   `json:"description"`
	ElasticsearchVersion string   `json:"elasticsearch_version,omitempty"`
	ExtendedPlugins      []string `json:"extended_plugins,omitempty"`
	HasNativeController  bool     `json:"has_native_controller,omitempty"`
	Isolated             bool     `json:"isolated,omitempty"`
	JavaVersion          string   `json:"java_version,omitempty"`
	JVM                  bool     `json:"jvm,omitempty"`
	Name                 string   `json:"name"`
	RequiresKeystore     bool     `json:"requires_keystore,omitempty"`
	Site                 bool     `json:"site,omitempty"`
	URL                  string   `json:"url,omitempty"`
	Version              string   `json:"version"`
}

type ElasticPrettyName

type ElasticPrettyName struct {
	Count      int    `json:"count"`
	PrettyName string `json:"pretty_name"`
}

type ElasticPrimaryInterface

type ElasticPrimaryInterface struct {
	Address    string `json:"address"`
	MacAddress string `json:"mac_address"`
	Name       string `json:"name"`
}

type ElasticProcess

type ElasticProcess struct {
	ID                      int                        `json:"id"`
	MaxFileDescriptors      int                        `json:"max_file_descriptors,omitempty"`
	Mlockall                bool                       `json:"mlockall"`
	RefreshIntervalInMillis int                        `json:"refresh_interval_in_millis"`
	CPU                     ElasticCPULoad             `json:"cpu,omitempty"`
	OpenFileDescriptors     ElasticOpenFileDescriptors `json:"open_file_descriptors,omitempty"`
}

type ElasticProcessor

type ElasticProcessor struct {
	Type string `json:"type"`
}

type ElasticQueryCache

type ElasticQueryCache struct {
	CacheCount        int `json:"cache_count"`
	CacheSize         int `json:"cache_size"`
	Evictions         int `json:"evictions"`
	HitCount          int `json:"hit_count"`
	MemorySizeInBytes int `json:"memory_size_in_bytes"`
	MissCount         int `json:"miss_count"`
	TotalCount        int `json:"total_count"`
}

type ElasticSegments

type ElasticSegments struct {
	Count                       int                    `json:"count"`
	DocValuesMemoryInBytes      int                    `json:"doc_values_memory_in_bytes,omitempty"`
	FileSizes                   map[string]interface{} `json:"file_sizes,omitempty"`
	FixedBitSetMemoryInBytes    int                    `json:"fixed_bit_set_memory_in_bytes"`
	IndexWriterMaxMemoryInBytes int                    `json:"index_writer_max_memory_in_bytes,omitempty"`
	IndexWriterMemoryInBytes    int                    `json:"index_writer_memory_in_bytes"`
	MaxUnsafeAutoIDTimestamp    int                    `json:"max_unsafe_auto_id_timestamp,omitempty"`
	MemoryInBytes               int                    `json:"memory_in_bytes"`
	NormsMemoryInBytes          int                    `json:"norms_memory_in_bytes,omitempty"`
	PointsMemoryInBytes         int                    `json:"points_memory_in_bytes,omitempty"`
	StoredFieldsMemoryInBytes   int                    `json:"stored_fields_memory_in_bytes,omitempty"`
	TermVectorsMemoryInBytes    int                    `json:"term_vectors_memory_in_bytes,omitempty"`
	TermsMemoryInBytes          int                    `json:"terms_memory_in_bytes,omitempty"`
	TermsOffheapMemoryInBytes   int                    `json:"terms_offheap_memory_in_bytes,omitempty"`
	VersionMapMemoryInBytes     int                    `json:"version_map_memory_in_bytes"`
}

type ElasticShardIndex

type ElasticShardIndex struct {
	Primaries   ElasticIndexMetric `json:"primaries"`
	Replication ElasticIndexMetric `json:"replication"`
	Shards      ElasticIndexMetric `json:"shards"`
}

type ElasticStore

type ElasticStore struct {
	SizeInBytes          int `json:"size_in_bytes"`
	ThrottleTimeInMillis int `json:"throttle_time_in_millis,omitempty"`
}

type ElasticSwap

type ElasticSwap struct {
	TotalInBytes int `json:"total_in_bytes"`
}

type ElasticTransport

type ElasticTransport struct {
	BoundAddress   interface{}            `json:"bound_address"`
	Profiles       map[string]interface{} `json:"profiles,omitempty"`
	PublishAddress string                 `json:"publish_address"`
}

type Etcd

type Etcd struct {
	// List of connected clients
	ClientUrls []string `json:"clientURLs"`

	// Unique ID of the node
	ID string `json:"id"`

	// General information about the leader of the cluster
	LeaderInfo EtcdLeaderInfo `json:"leaderInfo"`

	// Name of the cluster
	Name string `json:"name"`

	// List of connected peers
	PeerUrls []string `json:"peerURLs"`

	// Number of received append requests
	RecvAppendRequestCnt int     `json:"recvAppendRequestCnt"`
	RecvBandwidthRate    float64 `json:"recvBandwidthRate,omitempty"`
	RecvPkgRate          float64 `json:"recvPkgRate,omitempty"`

	// Number of sent append requests
	SendAppendRequestCnt int     `json:"sendAppendRequestCnt"`
	SendBandwidthRate    float64 `json:"sendBandwidthRate,omitempty"`
	SendPkgRate          float64 `json:"sendPkgRate,omitempty"`

	// Start time of the service
	StartTime string `json:"startTime"`

	// State of the node that Shodan connected to
	State   string `json:"state"`
	Version string `json:"version"`
}

type EtcdLeaderInfo

type EtcdLeaderInfo struct {
	Leader    string `json:"leader"`
	StartTime string `json:"startTime"`
	Uptime    string `json:"uptime"`
}

type EthernetIP

type EthernetIP struct {
	// Command code
	Command       int `json:"command"`
	CommandLength int `json:"command_length"`

	// Return status of the command
	CommandStatus int `json:"command_status"`

	// Device type
	DeviceType string `json:"device_type"`

	// Length of the encapsulation header
	EncapsulationLength int    `json:"encapsulation_length"`
	IP                  string `json:"ip"`

	// Number of items returned
	ItemCount int `json:"item_count"`

	// Encapsulation options
	Options int `json:"options"`

	// Numeric identifier for the product
	ProductCode int `json:"product_code"`

	// Product name
	ProductName       string `json:"product_name"`
	ProductNameLength int    `json:"product_name_length"`

	// Hex-encoded string containing the original response from the Ethernet/IP service
	Raw string `json:"raw"`

	// Major revision number
	RevisionMajor int `json:"revision_major"`

	// Minor revision number
	RevisionMinor int `json:"revision_minor"`

	// Encapsulation sender context
	SenderContext string `json:"sender_context"`

	// Serial number
	Serial int `json:"serial"`

	// Encapsulation session identifier
	Session int `json:"session"`

	// Hex-encoded string containing the socket address
	SocketAddr string `json:"socket_addr"`

	// Device state
	State int `json:"state"`

	// Numeric vendor identifier
	Status int `json:"status"`
	TypeID int `json:"type_id"`

	// string, but can be int sometimes
	VendorID interface{} `json:"vendor_id"` // can be int

	// Protocol version
	Version int `json:"version"`
}

type FTP

type FTP struct {
	// True if anonymous access is allowed
	Anonymous bool `json:"anonymous"`

	// List of features and the valid parameters that are supported by the FTP server
	Features map[string]FtpFeature `json:"features"`

	// Numeric hash of the list of supported ftp.features
	FeaturesHash *int `json:"features_hash"`
}

type FtpFeature

type FtpFeature struct {
	Parameters []string `json:"parameters"`
}

type HTTP

type HTTP struct {
	// Web technologies that the website uses
	Components map[string]HttpComponent `json:"components,omitempty"`

	// Favicon for the website
	Favicon *HttpFavicon `json:"favicon,omitempty"`

	// HTML content of the website
	HTML string `json:"html"`

	// Numeric hash of the http.html property
	HTMLHash int `json:"html_hash"`

	// Hostname used to grab the HTML
	Host string `json:"host"`

	// Location of the final HTML response (after redirects)
	Location string `json:"location"`

	// List of redirects that were followed
	Redirects []HttpRedirect `json:"redirects"`

	// Robots.txt file for the website
	Robots *string `json:"robots"`

	// Numeric hash of the Robots property
	RobotsHash *int `json:"robots_hash"`

	// security.txt file for the website
	Securitytxt *string `json:"securitytxt"`

	// Numeric hash of the SecurityTxt property
	SecuritytxtHash *int `json:"securitytxt_hash"`

	// Server header from the HTTP response
	Server *string `json:"server"`

	// sitemap.xml for the website
	Sitemap *string `json:"sitemap"`

	// Numeric hash of the Sitemap property
	SitemapHash *int `json:"sitemap_hash"`

	// Title of the website
	Title *string `json:"title"`
	WAF   string  `json:"waf,omitempty"`
}

type Hive

type Hive struct {
	Databases []HiveDatabase `json:"databases"`
}

type HiveDatabase

type HiveDatabase struct {
	// name of the database
	Name string `json:"name"`

	// List of table objects
	Tables []HiveTable `json:"tables"`
}

type HiveTable

type HiveTable struct {
	Name       string              `json:"name"`
	Properties []map[string]string `json:"properties"`
}

type HttpComponent

type HttpComponent struct {
	Categories []string `json:"categories"`
}

type HttpFavicon

type HttpFavicon struct {
	// Base64-encoded favicon image
	Data string `json:"data"`

	// Numeric hash of the data property
	Hash int `json:"hash"`

	// URL of the favicon
	Location string `json:"location"`
}

type HttpRedirect

type HttpRedirect struct {
	Data     string `json:"data"`
	HTML     string `json:"html,omitempty"`
	Host     string `json:"host"`
	Location string `json:"location"`
}

type ISAKMP

type ISAKMP struct {
	Aggressive   *ISAKMP `json:"aggressive,omitempty"`
	ExchangeType int     `json:"exchange_type"`

	// Flags that are enabled/ disabled for the connection
	Flags IsakmpFlags `json:"flags"`

	// Hex-encoded security parameter index for the initiator
	InitiatorSPI string `json:"initiator_spi"`

	// Size of the ISAKMP packet
	Length int `json:"length"`

	// Hex-encoded ID for the message
	MsgID string `json:"msg_id"`

	// Next payload type sent after the initiation
	NextPayload int `json:"next_payload"`

	// Hex-encoded security parameter index for the responder
	ResponderSPI string `json:"responder_spi"`

	// List of vendor IDs that can be used to fingerprint the service
	VendorIds []string `json:"vendor_ids"`

	// Protocol version
	Version string `json:"version"`
}

type InfluxDb added in v1.0.4

type InfluxDb struct {
	Uptime          string   `json:"uptime"`
	GoMaxProcs      int      `json:"go_max_procs"`
	GoVersion       string   `json:"go_version"`
	GoOS            string   `json:"go_os"`
	GoArch          string   `json:"go_arch"`
	NetworkHostname string   `json:"network_hostname"`
	Version         string   `json:"version"`
	BindAddress     string   `json:"bind_address"`
	Build           string   `json:"build"`
	Databases       []string `json:"databases"`
}

type IsakmpFlags

type IsakmpFlags struct {
	Authentication bool `json:"authentication"`
	Commit         bool `json:"commit"`
	Encryption     bool `json:"encryption"`
}

type Lantronix

type Lantronix struct {
	// Gateway of the Lantronix device
	Gateway *string `json:"gateway"`

	// Main IP address that the service is listening on
	IP *string `json:"ip"`

	// MAC address
	Mac string `json:"mac"`

	// Password for the device
	Password *string `json:"password"`

	// Device type
	Type *string `json:"type"`

	// Lantronix firmware version
	Version string `json:"version"`
}

type MQTT

type MQTT struct {
	// Response status code (0 for a successful response)
	Code int `json:"code"`

	// List of messages captured from the server during a 5 second window
	Messages []MqttMessage `json:"messages"`
}

type Minecraft added in v1.0.4

type Minecraft struct {
	Version   MinecraftServerVersion `json:"version"`
	Players   MinecraftPlayersInfo   `json:"players"`
	ForgeData MinecraftForgeInfo     `json:"forgeData"`
	ModInfo   MinecraftModInfo       `json:"modinfo,omitempty"`
	// Description is a string or a MinecraftDescription
	Description json.RawMessage `json:"description"`
	Favicon     string          `json:"favicon,omitempty"`
	Whitelisted bool            `json:"whitelisted,omitempty"`
}

type MinecraftDescription added in v1.0.7

type MinecraftDescription struct {
	Text  string                   `json:"text"`
	Extra []map[string]interface{} `json:"extra,omitempty"`
}

type MinecraftForgeChannel added in v1.0.4

type MinecraftForgeChannel struct {
	Res      string `json:"res"`
	Version  string `json:"version"`
	Required bool   `json:"required"`
}

type MinecraftForgeInfo added in v1.0.4

type MinecraftForgeInfo struct {
	Channels          []MinecraftForgeChannel `json:"channels"`
	Mods              []MinecraftMod          `json:"mods"`
	FmlNetworkVersion int                     `json:"fmlNetworkVersion"`
}

type MinecraftMod added in v1.0.4

type MinecraftMod struct {
	ModMarker string `json:"modmarker"`
	ModId     string `json:"modId"`
}

type MinecraftModInfo added in v1.0.4

type MinecraftModInfo struct {
	Type    string        `json:"type"`
	ModList []ModInfoItem `json:"modList"`
}

type MinecraftPlayer added in v1.0.4

type MinecraftPlayer struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

type MinecraftPlayersInfo added in v1.0.4

type MinecraftPlayersInfo struct {
	Max    int `json:"max"`
	Online int `json:"online"`
}

type MinecraftServerVersion added in v1.0.4

type MinecraftServerVersion struct {
	Protocol int    `json:"protocol"`
	Name     string `json:"name"`
}

type ModInfoItem added in v1.0.4

type ModInfoItem struct {
	Version string `json:"version"`
	ModId   string `json:"modId"`
}

type Monero

type Monero struct {
	Credits uint64 `json:"credits"`
	TopHash string `json:"top_hash"`

	// Number of alternative blocks to main chain
	AltBlocksCount         int    `json:"alt_blocks_count"`
	BlockSizeLimit         int    `json:"block_size_limit"`
	BlockSizeMedian        int    `json:"block_size_median,omitempty"`
	BlockWeightLimit       int    `json:"block_weight_limit,omitempty"`
	BlockWeightMedian      int    `json:"block_weight_median,omitempty"`
	BootstrapDaemonAddress string `json:"bootstrap_daemon_address,omitempty"`

	// List of nodes that are connected to the daemon
	Connections               []MoneroConnection `json:"connections"`
	CumulativeDifficulty      int                `json:"cumulative_difficulty"`
	CumulativeDifficultyTop64 int                `json:"cumulative_difficulty_top64,omitempty"`
	DatabaseSize              int                `json:"database_size,omitempty"`

	// Network difficulty
	Difficulty      int `json:"difficulty"`
	DifficultyTop64 int `json:"difficulty_top64,omitempty"`
	FreeSpace       int `json:"free_space,omitempty"`

	// Grey peerlist size
	GreyPeerlistSize int `json:"grey_peerlist_size"`

	// Length of longest chain known to daemon
	Height                 int `json:"height"`
	HeightWithoutBootstrap int `json:"height_without_bootstrap,omitempty"`

	// Number of peers connected to the node
	IncomingConnectionsCount int    `json:"incoming_connections_count"`
	Mainnet                  bool   `json:"mainnet,omitempty"`
	Nettype                  string `json:"nettype,omitempty"`
	Offline                  bool   `json:"offline,omitempty"`

	// Number of outgoing connections from the daemon
	OutgoingConnectionsCount int  `json:"outgoing_connections_count"`
	RPCConnectionsCount      int  `json:"rpc_connections_count,omitempty"`
	Stagenet                 bool `json:"stagenet,omitempty"`
	StartTime                int  `json:"start_time"`

	// RPC error code
	Status string `json:"status"`

	// Current target for next proof of work
	Target int `json:"target"`

	// Height of the next block in the chain
	TargetHeight int `json:"target_height"`

	// Whether the node is on the testnet (true) or not (false)
	Testnet bool `json:"testnet"`

	// Hash of the highest block in the chain
	TopBlockHash string `json:"top_block_hash"`

	// Total number of non-coinbase transactions in the chain
	TxCount int `json:"tx_count"`

	// Number of transactions that have been broadcast but not included in a block
	TxPoolSize           int    `json:"tx_pool_size"`
	Untrusted            bool   `json:"untrusted,omitempty"`
	UpdateAvailable      bool   `json:"update_available,omitempty"`
	Version              string `json:"version,omitempty"`
	WasBootstrapEverUsed bool   `json:"was_bootstrap_ever_used,omitempty"`

	// White peerlist size
	WhitePeerlistSize        int    `json:"white_peerlist_size"`
	WideCumulativeDifficulty string `json:"wide_cumulative_difficulty,omitempty"`
	WideDifficulty           string `json:"wide_difficulty,omitempty"`
}

type MoneroConnection

type MoneroConnection struct {
	Address         string `json:"address"`
	AvgDownload     int    `json:"avg_download"`
	AvgUpload       int    `json:"avg_upload"`
	ConnectionID    string `json:"connection_id"`
	CurrentDownload int    `json:"current_download"`
	CurrentUpload   int    `json:"current_upload"`
	Height          int    `json:"height"`
	Host            string `json:"host"`
	IP              string `json:"ip"`
	Incoming        bool   `json:"incoming"`
	LiveTime        int    `json:"live_time"`
	LocalIP         bool   `json:"local_ip"`
	Localhost       bool   `json:"localhost"`
	PeerID          string `json:"peer_id"`
	Port            string `json:"port"`
	PruningSeed     int    `json:"pruning_seed,omitempty"`
	RPCPort         int    `json:"rpc_port,omitempty"`
	RecvCount       int    `json:"recv_count"`
	RecvIdleTime    int    `json:"recv_idle_time"`
	SendCount       int    `json:"send_count"`
	SendIdleTime    int    `json:"send_idle_time"`
	State           string `json:"state"`
	SupportFlags    int    `json:"support_flags"`
}

type Mongo

type Mongo struct {
	// Whether or not the database has any authentication enabled. Note that the server may only have partial
	// authentication and allow certain commands to work without credentials
	Authentication bool `json:"authentication"`

	// The result of running the “buildInfo” command. Summary information about the current build
	BuildInfo MongoBuildInfo `json:"buildInfo"`

	// The result of running the “listDatabases” command
	ListDatabases MongoListDatabases `json:"listDatabases,omitempty"`

	// The result of running the “serverStatus” command. An overview of the database’s state
	ServerStatus map[string]interface{} `json:"serverStatus,omitempty"`
}

type MongoBuildEnvironment

type MongoBuildEnvironment struct {
	Bits       int    `json:"bits,omitempty"`
	Cc         string `json:"cc,omitempty"`
	Ccflags    string `json:"ccflags,omitempty"`
	Cxx        string `json:"cxx,omitempty"`
	Cxxflags   string `json:"cxxflags,omitempty"`
	Distarch   string `json:"distarch,omitempty"`
	Distmod    string `json:"distmod,omitempty"`
	Linkflags  string `json:"linkflags,omitempty"`
	TargetArch string `json:"target_arch,omitempty"`
	TargetOs   string `json:"target_os"`
}

type MongoBuildInfo

type MongoBuildInfo struct {
	Allocator         string                `json:"allocator,omitempty"`
	Bits              int                   `json:"bits"`
	BuildEnvironment  MongoBuildEnvironment `json:"buildEnvironment,omitempty"`
	CompilerFlags     string                `json:"compilerFlags,omitempty"`
	CompilerName      string                `json:"compiler name,omitempty"`
	CompilerVersion   string                `json:"compiler version,omitempty"`
	Debug             bool                  `json:"debug,omitempty"`
	GitVersion        string                `json:"gitVersion"`
	JavascriptEngine  string                `json:"javascriptEngine,omitempty"`
	LoaderFlags       string                `json:"loaderFlags,omitempty"`
	MaxBsonObjectSize int                   `json:"maxBsonObjectSize,omitempty"`
	MemorySanitize    bool                  `json:"memory_sanitize,omitempty"`
	Modules           []string              `json:"modules,omitempty"`
	Ok                float64               `json:"ok"`
	OpenSslversion    string                `json:"OpenSSLVersion,omitempty"`
	Openssl           MongoOpenSSl          `json:"openssl,omitempty"`
	PcreJit           bool                  `json:"pcre-jit,omitempty"`
	PsmdbVersion      string                `json:"psmdbVersion,omitempty"`
	SonarVersion      string                `json:"sonarVersion,omitempty"`
	Sonardb           bool                  `json:"sonardb,omitempty"`
	StorageEngines    []string              `json:"storageEngines,omitempty"`
	SysInfo           string                `json:"sysInfo"`
	TargetMinOs       string                `json:"targetMinOS,omitempty"`
	Timestamp         string                `json:"timestamp,omitempty"`
	TokukvVersion     string                `json:"tokukvVersion,omitempty"`
	TokumxVersion     string                `json:"tokumxVersion,omitempty"`
	Version           string                `json:"version"`
	VersionArray      []int                 `json:"versionArray,omitempty"`
}

type MongoDatabase

type MongoDatabase struct {
	Collections []string `json:"collections"`
	Empty       bool     `json:"empty,omitempty"`
	Name        string   `json:"name"`
	Size        float64  `json:"size,omitempty"`
	SizeOnDisk  float64  `json:"sizeOnDisk"`
}

type MongoListDatabases

type MongoListDatabases struct {
	Databases             []MongoDatabase `json:"databases"`
	Ok                    float64         `json:"ok"`
	TotalSize             float64         `json:"totalSize"`
	TotalUncompressedSize float64         `json:"totalUncompressedSize,omitempty"`
}

type MongoOpenSSl

type MongoOpenSSl struct {
	Compiled string `json:"compiled,omitempty"`
	Running  string `json:"running"`
}

type MqttMessage

type MqttMessage struct {
	// The payload is only available on system properties
	Payload *string `json:"payload"`
	Topic   string  `json:"topic"`
}

type NTP

type NTP struct {
	// Results from sending a “monlist” command, which returns a list of recently-seen clients
	Monlist interface{} `json:"monlist"`
	// Operating system
	System string `json:"system,omitempty"`
	// Full version information
	Version interface{} `json:"version"`

	RefId       string      `json:"refid"`
	State       int         `json:"state"`
	Clock       string      `json:"clock,omitempty"`
	ClockOffset float64     `json:"clock_offset"`
	Delay       float64     `json:"delay"`
	MinTC       int         `json:"mintc,omitempty"`
	TC          int         `json:"tc,omitempty"`
	Peer        uint64      `json:"peer,omitempty"`
	Processor   string      `json:"processor,omitempty"`
	Frequency   interface{} `json:"frequency,omitempty"`
	Jitter      float64     `json:"jitter,omitempty"`
	SysJitter   interface{} `json:"sys_jitter,omitempty"`
	ClkJitter   interface{} `json:"clk_jitter,omitempty"`
	ClkWander   interface{} `json:"clk_wander,omitempty"`
	Phase       interface{} `json:"phase"`
	Leap        int         `json:"leap"`
	Noise       float64     `json:"noise,omitempty"`
	Offset      interface{} `json:"offset,omitempty"`
	Poll        int         `json:"poll"`
	Precision   int         `json:"precision"`
	Reftime     interface{} `json:"reftime"`
	RootDelay   float64     `json:"root_delay"`
	Rootdelay   interface{} `json:"rootdelay,omitempty"`
	RootDisp    interface{} `json:"rootdisp,omitempty"`
	Stability   float64     `json:"stability,omitempty"`
	Stratum     int         `json:"stratum"`
	Extra       map[string]interface{}
}

func (*NTP) UnmarshalJSON

func (n *NTP) UnmarshalJSON(bytes []byte) (err error)

type Netbios

type Netbios struct {
	// MAC address of the network interface
	MAC string `json:"mac"`

	// List of NetBIOS names
	Names []NetbiosName `json:"names"`

	// List of additional networks/interfaces that the service is listening on
	Networks []string `json:"networks"`

	// List of hex-encoded response packets
	Raw []string `json:"raw"`

	// Name of the server running NetBIOS
	Servername string `json:"servername"`

	// Name of the user running the service
	Username *string `json:"username"`
}

type NetbiosName

type NetbiosName struct {
	Flags  int    `json:"flags"`
	Name   string `json:"name"`
	Suffix int    `json:"suffix"`
}

type PackagingType added in v1.0.4

type PackagingType struct {
	Count  int    `json:"count"`
	Flavor string `json:"flavor"`
	Type   string `json:"type"`
}

type RIP

type RIP struct {
	// List of hosts/routes served by the daemon
	Addresses []RipAddress `json:"addresses"`

	// Command type (1 – Request, 2 – Response)
	Command int `json:"command"`

	// RIP version used by the service
	Version int `json:"version"`
}

type Redis

type Redis struct {
	// CPU usage information
	CPU RedisCpuData `json:"cpu"`

	// List of clients that are currently connected. Note: may be one object instead of object list
	Clients interface{} `json:"clients"`

	// Cluster configuration settings – not always available on Redis instances that aren’t configured
	// to run in a cluster
	Cluster interface{} `json:"cluster,omitempty"`
	Keys    RedisKeys   `json:"keys,omitempty"`

	// Information about the keyspaces on the server
	Keyspaces map[string]string `json:"keyspace"`

	// Memory usage information
	Memory    map[string]interface{} `json:"memory"`
	Pacluster map[string]interface{} `json:"pacluster,omitempty"`

	// Persistence settings for the service
	Persistence map[string]interface{} `json:"persistence,omitempty"`

	// Replication usage and settings information
	Replication map[string]interface{} `json:"replication,omitempty"`

	// General information about the service
	Server        RedisServer        `json:"server"`
	SSL           *RedisSSL          `json:"ssl,omitempty"`
	OomPrevention RedisOomPrevention `json:"oom-prevention"`

	// Miscellaneous statistics and usage information
	Stats map[string]interface{} `json:"stats,omitempty"`
}

type RedisCpuData

type RedisCpuData struct {
	UsedCPUSys          float64 `json:"used_cpu_sys"`
	UsedCPUSysChildren  float64 `json:"used_cpu_sys_children"`
	UsedCPUUser         float64 `json:"used_cpu_user"`
	UsedCPUUserChildren float64 `json:"used_cpu_user_children"`
}

type RedisKeys

type RedisKeys struct {
	// list of keys available on Redis
	Data []string `json:"data"`

	//  true if more keys are available but weren’t returned on the initial request
	More bool `json:"more"`
}

type RedisOomPrevention added in v1.0.4

type RedisOomPrevention struct {
	On                                 string `json:"oom_prevention_on"`
	PeakUsedMemoryTotal                uint64 `json:"peak_used_memory_total"`
	PreventionThreshold                uint64 `json:"oom_prevention_threshold"`
	UsedMemoryRdb                      uint64 `json:"used_memory_rdb"`
	UsedMemoryAof                      uint64 `json:"used_memory_aof"`
	UsedMemoryTotal                    uint64 `json:"used_memory_total"`
	CurrentUsecondsWithOomPreventionOn uint64 `json:"current_useconds_with_oom_prevention_on"`
	TotalUsecondsWithOomPreventionOn   uint64 `json:"total_useconds_with_oom_prevention_on"`
	ThresholdHuman                     string `json:"oom_prevention_threshold_human"`
	UsedMemoryRdbHuman                 string `json:"used_memory_rdb_human"`
	UsedMemoryAofHuman                 string `json:"used_memory_aof_human"`
	UsedMemoryTotalHuman               string `json:"used_memory_total_human"`
	PeakUsedMemoryTotalHuman           string `json:"peak_used_memory_total_human"`
}

type RedisSSL

type RedisSSL struct {
	SSLConnectionsToCurrentCertificate  int    `json:"ssl_connections_to_current_certificate"`
	SSLConnectionsToPreviousCertificate int    `json:"ssl_connections_to_previous_certificate"`
	SSLCurrentCertificateNotAfterDate   string `json:"ssl_current_certificate_not_after_date"`
	SSLCurrentCertificateNotBeforeDate  string `json:"ssl_current_certificate_not_before_date"`
	SSLCurrentCertificateSerial         int    `json:"ssl_current_certificate_serial"`
	SSLEnabled                          string `json:"ssl_enabled"`
}

type RedisServer

type RedisServer struct {
	ArchBits        int         `json:"arch_bits"`
	AtomicvarAPI    string      `json:"atomicvar_api,omitempty"`
	ConfigFile      string      `json:"config_file,omitempty"`
	ConfiguredHz    int         `json:"configured_hz,omitempty"`
	Executable      string      `json:"executable,omitempty"`
	GccVersion      string      `json:"gcc_version,omitempty"`
	Hz              int         `json:"hz,omitempty"`
	LruClock        int         `json:"lru_clock"`
	MultiplexingAPI string      `json:"multiplexing_api"`
	Os              string      `json:"os"`
	ProcessID       int         `json:"process_id"`
	RedisBuildID    interface{} `json:"redis_build_id,omitempty"`
	RedisGitDirty   int         `json:"redis_git_dirty"`
	RedisGitSHA1    interface{} `json:"redis_git_sha1"`
	RedisMode       string      `json:"redis_mode"`
	RedisVersion    string      `json:"redis_version"`
	RlecVersion     string      `json:"rlec_version,omitempty"`
	RunID           string      `json:"run_id"`
	TCPPort         int         `json:"tcp_port"`
	UptimeInDays    int         `json:"uptime_in_days"`
	UptimeInSeconds int         `json:"uptime_in_seconds"`
}

type RipAddress

type RipAddress struct {
	Addr string `json:"addr"`
	// Note: can be int (0)
	Family  interface{} `json:"family"`
	Metric  int         `json:"metric"`
	NextHop interface{} `json:"next_hop"`
	Subnet  *string     `json:"subnet"`
	Tag     *int        `json:"tag"`
}

type Rsync

type Rsync struct {
	// Whether the server requires authentication or not
	Authentication bool `json:"authentication"`

	// List of modules (folders) where the key is the name of the module and the value is the optional description
	Modules map[string]string `json:"modules"`
}

type SMB

type SMB struct {
	// Whether or not the service allows anonymous connections
	Anonymous bool `json:"anonymous"`

	// List of features that the service supports
	Capabilities []string `json:"capabilities"`

	// Operating system
	OS string `json:"os,omitempty"`

	// Hex-encoded list of response packets that were received during the banner grabbing
	Raw []string `json:"raw"`

	// List of directories and files that are shared
	Shares []SmbShare `json:"shares,omitempty"`

	// Highest SMB version that was negotiated
	SmbVersion int `json:"smb_version"`

	// Name of the software that powers the service
	Software string `json:"software,omitempty"`
}

type SNMP

type SNMP struct {
	// Contact information
	Contact string `json:"contact"`

	// Description of the device
	Description string `json:"description"`

	// Physical location
	Location *string `json:"location"`

	// Name given to the device by the owner
	Name *string `json:"name"`

	Uptime       string `json:"uptime"`
	ObjectId     string `json:"objectid"`
	Services     string `json:"services"`
	OrLastChange string `json:"orlastchange"`
	OrDescr      string `json:"ordescr"`
	OrUptime     string `json:"oruptime"`
	OrId         string `json:"orid"`
}

type SSH

type SSH struct {
	// Cipher used during negotiation
	Cipher string `json:"cipher"`

	// Fingerprint for the service
	Fingerprint string `json:"fingerprint"`
	Hassh       string `json:"hassh"`

	// Key exchange algorithms that are supported by the server
	Kex SshKex `json:"kex"`

	// SSH key of the service
	Key string `json:"key"`

	// Message authentication code algorithm
	Mac string `json:"mac"`

	// Key type
	Type string `json:"type"`
}

type SmbFile

type SmbFile struct {
	Directory bool   `json:"directory"`
	Name      string `json:"name"`
	ReadOnly  bool   `json:"read-only"`
	Size      int    `json:"size"`
}

type SmbShare

type SmbShare struct {
	Comments  string    `json:"comments"`
	Files     []SmbFile `json:"files,omitempty"`
	Name      string    `json:"name"`
	Special   bool      `json:"special"`
	Temporary bool      `json:"temporary"`
	Type      string    `json:"type"`
}

type SshKex

type SshKex struct {
	CompressionAlgorithms   []string `json:"compression_algorithms"`
	EncryptionAlgorithms    []string `json:"encryption_algorithms"`
	KexAlgorithms           []string `json:"kex_algorithms"`
	KexFollows              bool     `json:"kex_follows"`
	Languages               []string `json:"languages"`
	MacAlgorithms           []string `json:"mac_algorithms"`
	ServerHostKeyAlgorithms []string `json:"server_host_key_algorithms"`
	Unused                  int      `json:"unused"`
}

type Vertx

type Vertx struct {
	// Date that the firmware was released
	FirmwareData string `json:"firmware_data"`

	// Version of the firmware
	FirmwareVersion string `json:"firmware_version"`

	// Local IP of the device
	InternalIP string `json:"internal_ip"`

	// MAC address
	MAC string `json:"mac"`

	// Name of the door controller
	Name string `json:"name"`

	// Product type
	Type string `json:"type"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL