lego/vendor/github.com/sacloud/libsacloud/sacloud/prop_copy_source.go
2018-06-21 21:24:45 +02:00

56 lines
1.3 KiB
Go

package sacloud
// propCopySource コピー元情報内包型
type propCopySource struct {
SourceDisk *Disk `json:",omitempty"` // コピー元ディスク
SourceArchive *Archive `json:",omitempty"` // コピー元アーカイブ
}
// SetSourceArchive ソースアーカイブ設定
func (p *propCopySource) SetSourceArchive(sourceID int64) {
if sourceID == EmptyID {
return
}
p.SourceArchive = &Archive{
Resource: &Resource{ID: sourceID},
}
p.SourceDisk = nil
}
// SetSourceDisk ソースディスク設定
func (p *propCopySource) SetSourceDisk(sourceID int64) {
if sourceID == EmptyID {
return
}
p.SourceDisk = &Disk{
Resource: &Resource{ID: sourceID},
}
p.SourceArchive = nil
}
// GetSourceArchive ソースアーカイブ取得
func (p *propCopySource) GetSourceArchive() *Archive {
return p.SourceArchive
}
// GetSourceDisk ソースディスク取得
func (p *propCopySource) GetSourceDisk() *Disk {
return p.SourceDisk
}
// GetSourceArchiveID ソースアーカイブID取得
func (p *propCopySource) GetSourceArchiveID() int64 {
if p.SourceArchive != nil {
return p.SourceArchive.GetID()
}
return EmptyID
}
// GetSourceDiskID ソースディスクID取得
func (p *propCopySource) GetSourceDiskID() int64 {
if p.SourceDisk != nil {
return p.SourceDisk.GetID()
}
return EmptyID
}