56 lines
1.3 KiB
Go
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
|
|
}
|