Add first set of types to sync

This commit is contained in:
Eric Lippmann 2021-03-04 00:48:27 +01:00
parent 34603b5e1d
commit 41cfa9e0df
7 changed files with 178 additions and 0 deletions

View file

@ -0,0 +1,40 @@
package v1
import (
"github.com/icinga/icingadb/pkg/types"
)
type Checkable struct {
EntityWithChecksum `json:",inline"`
EnvironmentMeta `json:",inline"`
NameCiMeta `json:",inline"`
ActionUrlId types.Binary `json:"action_url_id"`
ActiveChecksEnabled types.Bool `json:"active_checks_enabled"`
CheckInterval float64 `json:"check_interval"`
CheckTimeperiod string `json:"check_timeperiod"`
CheckTimeperiodId types.Binary `json:"check_timeperiod_id"`
CheckRetryInterval float64 `json:"check_retry_interval"`
CheckTimeout float64 `json:"check_timeout"`
Checkcommand string `json:"checkcommand"`
CheckcommandId types.Binary `json:"checkcommand_id"`
CommandEndpoint string `json:"command_endpoint"`
CommandEndpointId types.Binary `json:"command_endpoint_id"`
DisplayName string `json:"display_name"`
EventHandlerEnabled types.Bool `json:"event_handler_enabled"`
Eventcommand string `json:"eventcommand"`
EventcommandId types.Binary `json:"eventcommand_id"`
FlappingEnabled types.Bool `json:"flapping_enabled"`
FlappingThresholdHigh float64 `json:"flapping_threshold_high"`
FlappingThresholdLow float64 `json:"flapping_threshold_low"`
IconImageAlt string `json:"icon_image_alt"`
IconImageId types.Binary `json:"icon_image_id"`
IsVolatile types.Bool `json:"is_volatile"`
MaxCheckAttempts float64 `json:"max_check_attempts"`
Notes string `json:"notes"`
NotesUrlId types.Binary `json:"notes_url_id"`
NotificationsEnabled types.Bool `json:"notifications_enabled"`
PassiveChecksEnabled types.Bool `json:"passive_checks_enabled"`
PerfdataEnabled types.Bool `json:"perfdata_enabled"`
Zone string `json:"zone"`
ZoneId types.Binary `json:"zone_id"`
}

View file

@ -0,0 +1,16 @@
package v1
import (
"github.com/icinga/icingadb/pkg/contracts"
)
type Customvar struct {
EntityWithoutChecksum `json:",inline"`
EnvironmentMeta `json:",inline"`
NameMeta `json:",inline"`
Value string `json:"value"`
}
func NewCustomvar() contracts.Entity {
return &Customvar{}
}

View file

@ -0,0 +1,14 @@
package v1
import (
"github.com/icinga/icingadb/pkg/types"
)
type CustomvarFlat struct {
EntityWithoutChecksum `json:",inline"`
EnvironmentMeta `json:",inline"`
CustomvarId types.Binary `json:"customvar_id"`
Flatname string `json:"flatname"`
FlatnameChecksum types.Binary `json:"flatname_checksum"`
Flatvalue string `json:"flatvalue"`
}

51
pkg/icingadb/v1/host.go Normal file
View file

@ -0,0 +1,51 @@
package v1
import (
"github.com/icinga/icingadb/pkg/contracts"
"github.com/icinga/icingadb/pkg/types"
)
type Host struct {
EntityWithChecksum `json:",inline"`
EnvironmentMeta `json:",inline"`
NameCiMeta `json:",inline"`
ActionUrlId types.Binary `json:"action_url_id"`
ActiveChecksEnabled types.Bool `json:"active_checks_enabled"`
CheckInterval float64 `json:"check_interval"`
CheckTimeperiod string `json:"check_timeperiod"`
CheckTimeperiodId types.Binary `json:"check_timeperiod_id"`
CheckRetryInterval float64 `json:"check_retry_interval"`
CheckTimeout float64 `json:"check_timeout"`
Checkcommand string `json:"checkcommand"`
CheckcommandId types.Binary `json:"checkcommand_id"`
CommandEndpoint string `json:"command_endpoint"`
CommandEndpointId types.Binary `json:"command_endpoint_id"`
DisplayName string `json:"display_name"`
EventHandlerEnabled types.Bool `json:"event_handler_enabled"`
Eventcommand string `json:"eventcommand"`
EventcommandId types.Binary `json:"eventcommand_id"`
FlappingEnabled types.Bool `json:"flapping_enabled"`
FlappingThresholdHigh float64 `json:"flapping_threshold_high"`
FlappingThresholdLow float64 `json:"flapping_threshold_low"`
IconImageAlt string `json:"icon_image_alt"`
IconImageId types.Binary `json:"icon_image_id"`
IsVolatile types.Bool `json:"is_volatile"`
MaxCheckAttempts float64 `json:"max_check_attempts"`
Notes string `json:"notes"`
NotesUrlId types.Binary `json:"notes_url_id"`
NotificationsEnabled types.Bool `json:"notifications_enabled"`
PassiveChecksEnabled types.Bool `json:"passive_checks_enabled"`
PerfdataEnabled types.Bool `json:"perfdata_enabled"`
Zone string `json:"zone"`
ZoneId types.Binary `json:"zone_id"`
Address string `json:"address"`
Address6 string `json:"address6"`
}
func NewHost() contracts.Entity {
h := &Host{}
// TODO(el): Interfacify!
h.NameCi = &h.Name
return h
}

View file

@ -0,0 +1,19 @@
package v1
import (
"github.com/icinga/icingadb/pkg/contracts"
"github.com/icinga/icingadb/pkg/types"
)
type HostCustomvar struct {
EntityWithoutChecksum `json:",inline"`
EnvironmentMeta `json:",inline"`
HostId types.Binary `json:"object_id"`
CustomvarId types.Binary `json:"customvar_id"`
}
func NewHostCustomvar() contracts.Entity {
cv := &HostCustomvar{}
return cv
}

View file

@ -0,0 +1,19 @@
package v1
import (
"github.com/icinga/icingadb/pkg/contracts"
"github.com/icinga/icingadb/pkg/types"
)
type Service struct {
Checkable `json:",inline"`
HostId types.Binary `json:"host_id"`
}
func NewService() contracts.Entity {
s := &Service{}
// TODO(el): Interfacify!
s.NameCi = &s.Name
return s
}

View file

@ -0,0 +1,19 @@
package v1
import (
"github.com/icinga/icingadb/pkg/contracts"
"github.com/icinga/icingadb/pkg/types"
)
type ServiceCustomvar struct {
EntityWithoutChecksum `json:",inline"`
EnvironmentMeta `json:",inline"`
ServiceId types.Binary `json:"object_id"`
CustomvarId types.Binary `json:"customvar_id"`
}
func NewServiceCustomvar() contracts.Entity {
cv := &ServiceCustomvar{}
return cv
}