go-core/cmd/example/system/disk.go

71 lines
1.1 KiB
Go
Raw Normal View History

2023-01-25 13:56:13 +03:00
// 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 Disk struct {
Name string `json:"name,omitempty"`
}
func createDiskType(ctx context.Context) (err error) {
disk := Disk{
Name: "nvme0n1",
}
pt := types.ReflectType(disk)
message, err := system.CreateType(pt)
if err != nil {
return
}
return exec.ExecAsync(ctx, message)
}
func updateDiskType(ctx context.Context) (err error) {
disk := Disk{
Name: "nvme0n1",
}
pt := types.ReflectType(disk)
//pt.Triggers["create"] = append(pt.Triggers["create"], logTriger)
message, err := system.UpdateType(pt)
if err != nil {
return
}
return exec.ExecAsync(ctx, message)
}
func deleteDiskType(ctx context.Context) (err error) {
message, err := system.DeleteType("disk")
if err != nil {
return
}
return exec.ExecAsync(ctx, message)
}
func createDiskObject(ctx context.Context) (err error) {
disk := Disk{
Name: "nvme0n1",
}
typeName := "disk"
message, err := system.CreateObject(typeName, disk)
if err != nil {
return
}
return exec.ExecAsync(ctx, message)
}