mirror of
https://github.com/Icinga/icingadb.git
synced 2026-05-28 04:35:54 -04:00
Add various customvars
This commit is contained in:
parent
f6c07111d3
commit
827a748ab8
6 changed files with 363 additions and 1 deletions
|
|
@ -0,0 +1,69 @@
|
|||
package hostgroupcustomvar
|
||||
|
||||
import (
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject"
|
||||
"git.icinga.com/icingadb/icingadb-main/connection"
|
||||
"git.icinga.com/icingadb/icingadb-main/utils"
|
||||
)
|
||||
|
||||
var (
|
||||
ObjectInformation configobject.ObjectInformation
|
||||
Fields = []string{
|
||||
"id",
|
||||
"hostgroup_id",
|
||||
"customvar_id",
|
||||
"env_id",
|
||||
}
|
||||
)
|
||||
|
||||
type HostgroupCustomvar struct {
|
||||
Id string `json:"id"`
|
||||
HostgroupId string `json:"object_id"`
|
||||
CustomvarId string `json:"customvar_id"`
|
||||
EnvId string `json:"env_id"`
|
||||
}
|
||||
|
||||
func NewHostgroupCustomvar() connection.Row {
|
||||
c := HostgroupCustomvar{}
|
||||
return &c
|
||||
}
|
||||
|
||||
func (c *HostgroupCustomvar) InsertValues() []interface{} {
|
||||
v := c.UpdateValues()
|
||||
|
||||
return append([]interface{}{utils.Checksum(c.Id)}, v...)
|
||||
}
|
||||
|
||||
func (c *HostgroupCustomvar) UpdateValues() []interface{} {
|
||||
v := make([]interface{}, 0)
|
||||
|
||||
v = append(
|
||||
v,
|
||||
utils.Checksum(c.HostgroupId),
|
||||
utils.Checksum(c.CustomvarId),
|
||||
utils.Checksum(c.EnvId),
|
||||
)
|
||||
|
||||
return v
|
||||
}
|
||||
|
||||
func (c *HostgroupCustomvar) GetId() string {
|
||||
return c.Id
|
||||
}
|
||||
|
||||
func (c *HostgroupCustomvar) SetId(id string) {
|
||||
c.Id = id
|
||||
}
|
||||
|
||||
func init() {
|
||||
name := "hostgroup_customvar"
|
||||
ObjectInformation = configobject.ObjectInformation{
|
||||
ObjectType: name,
|
||||
RedisKey: "hostgroup:customvar",
|
||||
Factory: NewHostgroupCustomvar,
|
||||
HasChecksum: false,
|
||||
BulkInsertStmt: connection.NewBulkInsertStmt(name, Fields),
|
||||
BulkDeleteStmt: connection.NewBulkDeleteStmt(name),
|
||||
BulkUpdateStmt: connection.NewBulkUpdateStmt(name, Fields),
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package servicecustomvar
|
||||
|
||||
import (
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject"
|
||||
"git.icinga.com/icingadb/icingadb-main/connection"
|
||||
"git.icinga.com/icingadb/icingadb-main/utils"
|
||||
)
|
||||
|
||||
var (
|
||||
ObjectInformation configobject.ObjectInformation
|
||||
Fields = []string{
|
||||
"id",
|
||||
"service_id",
|
||||
"customvar_id",
|
||||
"env_id",
|
||||
}
|
||||
)
|
||||
|
||||
type ServiceCustomvar struct {
|
||||
Id string `json:"id"`
|
||||
ServiceId string `json:"object_id"`
|
||||
CustomvarId string `json:"customvar_id"`
|
||||
EnvId string `json:"env_id"`
|
||||
}
|
||||
|
||||
func NewServiceCustomvar() connection.Row {
|
||||
c := ServiceCustomvar{}
|
||||
return &c
|
||||
}
|
||||
|
||||
func (c *ServiceCustomvar) InsertValues() []interface{} {
|
||||
v := c.UpdateValues()
|
||||
|
||||
return append([]interface{}{utils.Checksum(c.Id)}, v...)
|
||||
}
|
||||
|
||||
func (c *ServiceCustomvar) UpdateValues() []interface{} {
|
||||
v := make([]interface{}, 0)
|
||||
|
||||
v = append(
|
||||
v,
|
||||
utils.Checksum(c.ServiceId),
|
||||
utils.Checksum(c.CustomvarId),
|
||||
utils.Checksum(c.EnvId),
|
||||
)
|
||||
|
||||
return v
|
||||
}
|
||||
|
||||
func (c *ServiceCustomvar) GetId() string {
|
||||
return c.Id
|
||||
}
|
||||
|
||||
func (c *ServiceCustomvar) SetId(id string) {
|
||||
c.Id = id
|
||||
}
|
||||
|
||||
func init() {
|
||||
name := "service_customvar"
|
||||
ObjectInformation = configobject.ObjectInformation{
|
||||
ObjectType: name,
|
||||
RedisKey: "service:customvar",
|
||||
Factory: NewServiceCustomvar,
|
||||
HasChecksum: false,
|
||||
BulkInsertStmt: connection.NewBulkInsertStmt(name, Fields),
|
||||
BulkDeleteStmt: connection.NewBulkDeleteStmt(name),
|
||||
BulkUpdateStmt: connection.NewBulkUpdateStmt(name, Fields),
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package servicegroupcustomvar
|
||||
|
||||
import (
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject"
|
||||
"git.icinga.com/icingadb/icingadb-main/connection"
|
||||
"git.icinga.com/icingadb/icingadb-main/utils"
|
||||
)
|
||||
|
||||
var (
|
||||
ObjectInformation configobject.ObjectInformation
|
||||
Fields = []string{
|
||||
"id",
|
||||
"servicegroup_id",
|
||||
"customvar_id",
|
||||
"env_id",
|
||||
}
|
||||
)
|
||||
|
||||
type ServicegroupCustomvar struct {
|
||||
Id string `json:"id"`
|
||||
ServicegroupId string `json:"object_id"`
|
||||
CustomvarId string `json:"customvar_id"`
|
||||
EnvId string `json:"env_id"`
|
||||
}
|
||||
|
||||
func NewServicegroupCustomvar() connection.Row {
|
||||
c := ServicegroupCustomvar{}
|
||||
return &c
|
||||
}
|
||||
|
||||
func (c *ServicegroupCustomvar) InsertValues() []interface{} {
|
||||
v := c.UpdateValues()
|
||||
|
||||
return append([]interface{}{utils.Checksum(c.Id)}, v...)
|
||||
}
|
||||
|
||||
func (c *ServicegroupCustomvar) UpdateValues() []interface{} {
|
||||
v := make([]interface{}, 0)
|
||||
|
||||
v = append(
|
||||
v,
|
||||
utils.Checksum(c.ServicegroupId),
|
||||
utils.Checksum(c.CustomvarId),
|
||||
utils.Checksum(c.EnvId),
|
||||
)
|
||||
|
||||
return v
|
||||
}
|
||||
|
||||
func (c *ServicegroupCustomvar) GetId() string {
|
||||
return c.Id
|
||||
}
|
||||
|
||||
func (c *ServicegroupCustomvar) SetId(id string) {
|
||||
c.Id = id
|
||||
}
|
||||
|
||||
func init() {
|
||||
name := "servicegroup_customvar"
|
||||
ObjectInformation = configobject.ObjectInformation{
|
||||
ObjectType: name,
|
||||
RedisKey: "servicegroup:customvar",
|
||||
Factory: NewServicegroupCustomvar,
|
||||
HasChecksum: false,
|
||||
BulkInsertStmt: connection.NewBulkInsertStmt(name, Fields),
|
||||
BulkDeleteStmt: connection.NewBulkDeleteStmt(name),
|
||||
BulkUpdateStmt: connection.NewBulkUpdateStmt(name, Fields),
|
||||
}
|
||||
}
|
||||
69
configobject/objecttypes/user/usercustomvar/usercustomvar.go
Normal file
69
configobject/objecttypes/user/usercustomvar/usercustomvar.go
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
package usercustomvar
|
||||
|
||||
import (
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject"
|
||||
"git.icinga.com/icingadb/icingadb-main/connection"
|
||||
"git.icinga.com/icingadb/icingadb-main/utils"
|
||||
)
|
||||
|
||||
var (
|
||||
ObjectInformation configobject.ObjectInformation
|
||||
Fields = []string{
|
||||
"id",
|
||||
"user_id",
|
||||
"customvar_id",
|
||||
"env_id",
|
||||
}
|
||||
)
|
||||
|
||||
type UserCustomvar struct {
|
||||
Id string `json:"id"`
|
||||
UserId string `json:"object_id"`
|
||||
CustomvarId string `json:"customvar_id"`
|
||||
EnvId string `json:"env_id"`
|
||||
}
|
||||
|
||||
func NewUserCustomvar() connection.Row {
|
||||
c := UserCustomvar{}
|
||||
return &c
|
||||
}
|
||||
|
||||
func (c *UserCustomvar) InsertValues() []interface{} {
|
||||
v := c.UpdateValues()
|
||||
|
||||
return append([]interface{}{utils.Checksum(c.Id)}, v...)
|
||||
}
|
||||
|
||||
func (c *UserCustomvar) UpdateValues() []interface{} {
|
||||
v := make([]interface{}, 0)
|
||||
|
||||
v = append(
|
||||
v,
|
||||
utils.Checksum(c.UserId),
|
||||
utils.Checksum(c.CustomvarId),
|
||||
utils.Checksum(c.EnvId),
|
||||
)
|
||||
|
||||
return v
|
||||
}
|
||||
|
||||
func (c *UserCustomvar) GetId() string {
|
||||
return c.Id
|
||||
}
|
||||
|
||||
func (c *UserCustomvar) SetId(id string) {
|
||||
c.Id = id
|
||||
}
|
||||
|
||||
func init() {
|
||||
name := "user_customvar"
|
||||
ObjectInformation = configobject.ObjectInformation{
|
||||
ObjectType: name,
|
||||
RedisKey: "user:customvar",
|
||||
Factory: NewUserCustomvar,
|
||||
HasChecksum: false,
|
||||
BulkInsertStmt: connection.NewBulkInsertStmt(name, Fields),
|
||||
BulkDeleteStmt: connection.NewBulkDeleteStmt(name),
|
||||
BulkUpdateStmt: connection.NewBulkUpdateStmt(name, Fields),
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package usergroupcustomvar
|
||||
|
||||
import (
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject"
|
||||
"git.icinga.com/icingadb/icingadb-main/connection"
|
||||
"git.icinga.com/icingadb/icingadb-main/utils"
|
||||
)
|
||||
|
||||
var (
|
||||
ObjectInformation configobject.ObjectInformation
|
||||
Fields = []string{
|
||||
"id",
|
||||
"usergroup_id",
|
||||
"customvar_id",
|
||||
"env_id",
|
||||
}
|
||||
)
|
||||
|
||||
type UsergroupCustomvar struct {
|
||||
Id string `json:"id"`
|
||||
UsergroupId string `json:"object_id"`
|
||||
CustomvarId string `json:"customvar_id"`
|
||||
EnvId string `json:"env_id"`
|
||||
}
|
||||
|
||||
func NewUsergroupCustomvar() connection.Row {
|
||||
c := UsergroupCustomvar{}
|
||||
return &c
|
||||
}
|
||||
|
||||
func (c *UsergroupCustomvar) InsertValues() []interface{} {
|
||||
v := c.UpdateValues()
|
||||
|
||||
return append([]interface{}{utils.Checksum(c.Id)}, v...)
|
||||
}
|
||||
|
||||
func (c *UsergroupCustomvar) UpdateValues() []interface{} {
|
||||
v := make([]interface{}, 0)
|
||||
|
||||
v = append(
|
||||
v,
|
||||
utils.Checksum(c.UsergroupId),
|
||||
utils.Checksum(c.CustomvarId),
|
||||
utils.Checksum(c.EnvId),
|
||||
)
|
||||
|
||||
return v
|
||||
}
|
||||
|
||||
func (c *UsergroupCustomvar) GetId() string {
|
||||
return c.Id
|
||||
}
|
||||
|
||||
func (c *UsergroupCustomvar) SetId(id string) {
|
||||
c.Id = id
|
||||
}
|
||||
|
||||
func init() {
|
||||
name := "usergroup_customvar"
|
||||
ObjectInformation = configobject.ObjectInformation{
|
||||
ObjectType: name,
|
||||
RedisKey: "usergroup:customvar",
|
||||
Factory: NewUsergroupCustomvar,
|
||||
HasChecksum: false,
|
||||
BulkInsertStmt: connection.NewBulkInsertStmt(name, Fields),
|
||||
BulkDeleteStmt: connection.NewBulkDeleteStmt(name),
|
||||
BulkUpdateStmt: connection.NewBulkUpdateStmt(name, Fields),
|
||||
}
|
||||
}
|
||||
19
main.go
19
main.go
|
|
@ -9,10 +9,15 @@ import (
|
|||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/host"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/host/hostcustomvar"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/hostgroup"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/hostgroup/hostgroupcustomvar"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/service"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/service/servicecustomvar"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/servicegroup"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/servicegroup/servicegroupcustomvar"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/user"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/user/usercustomvar"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/usergroup"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/usergroup/usergroupcustomvar"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/objecttypes/zone"
|
||||
"git.icinga.com/icingadb/icingadb-main/configobject/statesync"
|
||||
"git.icinga.com/icingadb/icingadb-main/connection"
|
||||
|
|
@ -86,12 +91,24 @@ func startConfigSyncOperators(super *supervisor.Supervisor, haInstance *ha.HA) {
|
|||
objectTypes := []*configobject.ObjectInformation{
|
||||
&host.ObjectInformation,
|
||||
&hostcustomvar.ObjectInformation,
|
||||
&hostgroup.ObjectInformation,
|
||||
|
||||
&service.ObjectInformation,
|
||||
&servicecustomvar.ObjectInformation,
|
||||
|
||||
&hostgroup.ObjectInformation,
|
||||
&hostgroupcustomvar.ObjectInformation,
|
||||
|
||||
&servicegroup.ObjectInformation,
|
||||
&servicegroupcustomvar.ObjectInformation,
|
||||
|
||||
&user.ObjectInformation,
|
||||
&usercustomvar.ObjectInformation,
|
||||
|
||||
&usergroup.ObjectInformation,
|
||||
&usergroupcustomvar.ObjectInformation,
|
||||
|
||||
&zone.ObjectInformation,
|
||||
|
||||
&endpoint.ObjectInformation,
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue