Files
cloudpods/pkg/compute/models/instance_snapshot_joint.go
wanyaoqi 8fc4b2920a - instance snapshot
- instance clone

- create form snapshot don't reset passwd
2019-10-14 21:36:58 +08:00

52 lines
1.7 KiB
Go

package models
import "yunion.io/x/onecloud/pkg/cloudcommon/db"
func init() {
db.InitManager(func() {
InstanceSnapshotJointManager = &SInstanceSnapshotJointManager{
SVirtualJointResourceBaseManager: db.NewVirtualJointResourceBaseManager(
SInstanceSnapshotJoint{},
"instancesnapshotjoints_tbl",
"instancesnapshotjoint",
"instancesnapshotjoints",
InstanceSnapshotManager,
SnapshotManager,
),
}
InstanceSnapshotJointManager.SetVirtualObject(InstanceSnapshotJointManager)
})
}
type SInstanceSnapshotJoint struct {
db.SVirtualJointResourceBase
InstanceSnapshotId string `width:"36" charset:"ascii" nullable:"false" list:"user" create:"required" index:"true"`
SnapshotId string `width:"36" charset:"ascii" nullable:"false" list:"user" create:"required" index:"true"`
DiskIndex int8 `nullable:"false" default:"0" list:"user" create:"required"`
}
type SInstanceSnapshotJointManager struct {
db.SVirtualJointResourceBaseManager
}
func (manager *SInstanceSnapshotJointManager) GetMasterFieldName() string {
return "instance_snapshot_id"
}
func (manager *SInstanceSnapshotJointManager) GetSlaveFieldName() string {
return "disk_id"
}
var InstanceSnapshotJointManager *SInstanceSnapshotJointManager
func (manager *SInstanceSnapshotJointManager) CreateJoint(instanceSnapshotId, snapshotId string, diskIndex int8) error {
instanceSnapshotJoint := &SInstanceSnapshotJoint{}
instanceSnapshotJoint.SetModelManager(manager, instanceSnapshotJoint)
instanceSnapshotJoint.InstanceSnapshotId = instanceSnapshotId
instanceSnapshotJoint.SnapshotId = snapshotId
instanceSnapshotJoint.DiskIndex = diskIndex
return manager.TableSpec().Insert(instanceSnapshotJoint)
}