diff options
Diffstat (limited to 'pkg/icingadb/v1/service.go')
-rw-r--r-- | pkg/icingadb/v1/service.go | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/pkg/icingadb/v1/service.go b/pkg/icingadb/v1/service.go new file mode 100644 index 0000000..4045449 --- /dev/null +++ b/pkg/icingadb/v1/service.go @@ -0,0 +1,67 @@ +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"` +} + +type ServiceCustomvar struct { + CustomvarMeta `json:",inline"` + ServiceId types.Binary `json:"service_id"` +} + +type ServiceState struct { + State `json:",inline"` + ServiceId types.Binary `json:"service_id"` + HostId types.Binary `json:"host_id"` +} + +type Servicegroup struct { + GroupMeta `json:",inline"` +} + +type ServicegroupCustomvar struct { + CustomvarMeta `json:",inline"` + ServicegroupId types.Binary `json:"servicegroup_id"` +} + +type ServicegroupMember struct { + MemberMeta `json:",inline"` + ServiceId types.Binary `json:"service_id"` + ServicegroupId types.Binary `json:"servicegroup_id"` +} + +func NewService() contracts.Entity { + return &Service{} +} + +func NewServiceCustomvar() contracts.Entity { + return &ServiceCustomvar{} +} + +func NewServiceState() contracts.Entity { + return &ServiceState{} +} + +func NewServicegroup() contracts.Entity { + return &Servicegroup{} +} + +func NewServicegroupCustomvar() contracts.Entity { + return &ServicegroupCustomvar{} +} + +func NewServicegroupMember() contracts.Entity { + return &ServicegroupMember{} +} + +// Assert interface compliance. +var ( + _ contracts.Initer = (*Service)(nil) + _ contracts.Initer = (*Servicegroup)(nil) +) |