114 lines
2.2 KiB
Go
114 lines
2.2 KiB
Go
// Copyright 2022 Listware
|
|
|
|
package main
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.fg-tech.ru/listware/cmdb/pkg/cmdb/vertex/types"
|
|
"git.fg-tech.ru/listware/go-core/pkg/client/system"
|
|
)
|
|
|
|
type Node struct {
|
|
Hostname string `json:"hostname,omitempty"`
|
|
Domain string `json:"domain"`
|
|
Model string `json:"model"`
|
|
}
|
|
|
|
func createNodeType(ctx context.Context) (err error) {
|
|
node := Node{
|
|
Hostname: "sky01",
|
|
}
|
|
|
|
pt := types.ReflectType(node)
|
|
// pt.Triggers["create"] = append(pt.Triggers["create"], logTriger)
|
|
|
|
message, err := system.CreateType(pt)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return exec.ExecAsync(ctx, message)
|
|
}
|
|
|
|
func updateNodeType(ctx context.Context) (err error) {
|
|
node := Node{
|
|
Hostname: "sky01",
|
|
}
|
|
|
|
pt := types.ReflectType(node)
|
|
// pt.Triggers["create"] = append(pt.Triggers["create"], logTriger)
|
|
|
|
message, err := system.UpdateType(pt)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return exec.ExecAsync(ctx, message)
|
|
}
|
|
|
|
func deleteNodeType(ctx context.Context) (err error) {
|
|
message, err := system.DeleteType("node")
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return exec.ExecAsync(ctx, message)
|
|
}
|
|
|
|
func createNodeObject(ctx context.Context) (err error) {
|
|
node := Node{
|
|
Hostname: "sky01",
|
|
}
|
|
|
|
message, err := system.CreateObject("node", node)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return exec.ExecAsync(ctx, message)
|
|
}
|
|
|
|
func createChild(ctx context.Context) (err error) {
|
|
disk := Disk{
|
|
Name: "nvme4n1",
|
|
}
|
|
|
|
message, err := system.CreateChild("objects/64f21ca8-c2c7-4fc1-bccc-de04842dbd49", "types/disk", disk.Name, disk)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return exec.ExecSync(ctx, message)
|
|
}
|
|
|
|
func updateObject(ctx context.Context) (err error) {
|
|
node := Node{
|
|
Hostname: "sky0asd112",
|
|
}
|
|
|
|
message, err := system.UpdateObject("58d12e3e-63f7-4c90-9d28-3812aebf81ce", node)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return exec.ExecAsync(ctx, message)
|
|
}
|
|
|
|
func createNodeTypeTrigger(ctx context.Context) (err error) {
|
|
message, err := system.AddTrigger("types/node", logTrigger)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return exec.ExecAsync(ctx, message)
|
|
}
|
|
func deleteNodeTypeTrigger(ctx context.Context) (err error) {
|
|
message, err := system.DeleteTrigger("types/node", logTrigger)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return exec.ExecAsync(ctx, message)
|
|
}
|