Documentation ¶
Index ¶
- type APIClient
- type ArchiveFinder
- type BlankBuilder
- func (d *BlankBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
- func (d *BlankBuilder) DiskID() types.ID
- func (d *BlankBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *BlankBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
- func (d *BlankBuilder) Validate(ctx context.Context, zone string) error
- type BuildResult
- type Builder
- type ConnectedDiskBuilder
- func (d *ConnectedDiskBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
- func (d *ConnectedDiskBuilder) DiskID() types.ID
- func (d *ConnectedDiskBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *ConnectedDiskBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
- func (d *ConnectedDiskBuilder) Validate(ctx context.Context, zone string) error
- type CreateDiskHandler
- type Director
- type EditRequest
- type FromDiskOrArchiveBuilder
- func (d *FromDiskOrArchiveBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
- func (d *FromDiskOrArchiveBuilder) DiskID() types.ID
- func (d *FromDiskOrArchiveBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *FromDiskOrArchiveBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
- func (d *FromDiskOrArchiveBuilder) Validate(ctx context.Context, zone string) error
- type FromFixedArchiveBuilder
- func (d *FromFixedArchiveBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
- func (d *FromFixedArchiveBuilder) DiskID() types.ID
- func (d *FromFixedArchiveBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *FromFixedArchiveBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
- func (d *FromFixedArchiveBuilder) Validate(ctx context.Context, zone string) error
- type FromUnixBuilder
- func (d *FromUnixBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
- func (d *FromUnixBuilder) DiskID() types.ID
- func (d *FromUnixBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *FromUnixBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
- func (d *FromUnixBuilder) Validate(ctx context.Context, zone string) error
- type FromWindowsBuilder
- func (d *FromWindowsBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
- func (d *FromWindowsBuilder) DiskID() types.ID
- func (d *FromWindowsBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *FromWindowsBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
- func (d *FromWindowsBuilder) Validate(ctx context.Context, zone string) error
- type NoteHandler
- type PlanReader
- type SSHKeyHandler
- type UnixEditRequest
- type UpdateResult
- type WindowsEditRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIClient ¶
type APIClient struct { Archive ArchiveFinder Disk CreateDiskHandler DiskPlan PlanReader Note NoteHandler SSHKey SSHKeyHandler }
APIClient builderが利用するAPIクライアント群
func NewBuildersAPIClient ¶
NewBuildersAPIClient APIクライアントの作成
type ArchiveFinder ¶
type ArchiveFinder interface { Find(ctx context.Context, zone string, conditions *sacloud.FindCondition) (*sacloud.ArchiveFindResult, error) Read(ctx context.Context, zone string, id types.ID) (*sacloud.Archive, error) }
ArchiveFinder アーカイブ検索のためのインターフェース
type BlankBuilder ¶
type BlankBuilder struct { Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection Description string Tags types.Tags IconID types.ID Client *APIClient ID types.ID }
BlankBuilder ブランクディスクを作成する場合のリクエスト
func (*BlankBuilder) Build ¶
func (d *BlankBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
Build ディスクの構築
func (*BlankBuilder) Update ¶
func (d *BlankBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
Update ディスクの更新
func (*BlankBuilder) UpdateLevel ¶
func (d *BlankBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type BuildResult ¶
type BuildResult struct { DiskID types.ID GeneratedSSHKey *sacloud.SSHKeyGenerated }
BuildResult ディスク構築結果
type Builder ¶
type Builder interface { Validate(ctx context.Context, zone string) error Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error) Update(ctx context.Context, zone string) (*UpdateResult, error) DiskID() types.ID UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel }
Builder ディスクの構築インターフェース
type ConnectedDiskBuilder ¶
type ConnectedDiskBuilder struct { ID types.ID EditParameter *UnixEditRequest Client *APIClient }
ConnectedDiskBuilder 既存ディスクを接続する場合のリクエスト
func (*ConnectedDiskBuilder) Build ¶
func (d *ConnectedDiskBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
Build ディスクの構築
func (*ConnectedDiskBuilder) DiskID ¶
func (d *ConnectedDiskBuilder) DiskID() types.ID
DiskID ディスクID取得
func (*ConnectedDiskBuilder) Update ¶
func (d *ConnectedDiskBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
Update ディスクの更新
func (*ConnectedDiskBuilder) UpdateLevel ¶
func (d *ConnectedDiskBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type CreateDiskHandler ¶
type CreateDiskHandler interface { Create(ctx context.Context, zone string, createParam *sacloud.DiskCreateRequest, distantFrom []types.ID) (*sacloud.Disk, error) CreateWithConfig( ctx context.Context, zone string, createParam *sacloud.DiskCreateRequest, editParam *sacloud.DiskEditRequest, bootAtAvailable bool, distantFrom []types.ID, ) (*sacloud.Disk, error) Update(ctx context.Context, zone string, id types.ID, updateParam *sacloud.DiskUpdateRequest) (*sacloud.Disk, error) Config(ctx context.Context, zone string, id types.ID, editParam *sacloud.DiskEditRequest) error Read(ctx context.Context, zone string, id types.ID) (*sacloud.Disk, error) ConnectToServer(ctx context.Context, zone string, id types.ID, serverID types.ID) error }
CreateDiskHandler ディスク操作のためのインターフェース
type Director ¶
type Director struct { OSType ostype.ArchiveOSType Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection Description string Tags types.Tags IconID types.ID DiskID types.ID SourceDiskID types.ID SourceArchiveID types.ID EditParameter *EditRequest Client *APIClient }
Director パラメータに応じて適切なDiskBuilderを構築する
type EditRequest ¶
type EditRequest UnixEditRequest
EditRequest 汎用ディスクの修正リクエストパラメータ DiskDirectorが利用する
func (*EditRequest) ToUnixDiskEditRequest ¶
func (d *EditRequest) ToUnixDiskEditRequest() *UnixEditRequest
ToUnixDiskEditRequest Unix系パラメータへの変換
func (*EditRequest) ToWindowsDiskEditRequest ¶
func (d *EditRequest) ToWindowsDiskEditRequest() *WindowsEditRequest
ToWindowsDiskEditRequest Windows系パラメータへの変換
type FromDiskOrArchiveBuilder ¶
type FromDiskOrArchiveBuilder struct { SourceDiskID types.ID SourceArchiveID types.ID Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection Description string Tags types.Tags IconID types.ID EditParameter *UnixEditRequest Client *APIClient ID types.ID // contains filtered or unexported fields }
FromDiskOrArchiveBuilder ディスクorアーカイブからディスクを作成するリクエスト
ディスクの修正が可能かは実行時にさくらのクラウドAPI側にて判定される
func (*FromDiskOrArchiveBuilder) Build ¶
func (d *FromDiskOrArchiveBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
Build ディスクの構築
func (*FromDiskOrArchiveBuilder) DiskID ¶
func (d *FromDiskOrArchiveBuilder) DiskID() types.ID
DiskID ディスクID取得
func (*FromDiskOrArchiveBuilder) Update ¶
func (d *FromDiskOrArchiveBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
Update ディスクの更新
func (*FromDiskOrArchiveBuilder) UpdateLevel ¶
func (d *FromDiskOrArchiveBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type FromFixedArchiveBuilder ¶
type FromFixedArchiveBuilder struct { OSType ostype.ArchiveOSType Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection Description string Tags types.Tags IconID types.ID Client *APIClient ID types.ID // contains filtered or unexported fields }
FromFixedArchiveBuilder ディスクの修正をサポートしないパブリックアーカイブからディスクを作成するリクエスト
func (*FromFixedArchiveBuilder) Build ¶
func (d *FromFixedArchiveBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
Build ディスクの構築
func (*FromFixedArchiveBuilder) DiskID ¶
func (d *FromFixedArchiveBuilder) DiskID() types.ID
DiskID ディスクID取得
func (*FromFixedArchiveBuilder) Update ¶
func (d *FromFixedArchiveBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
Update ディスクの更新
func (*FromFixedArchiveBuilder) UpdateLevel ¶
func (d *FromFixedArchiveBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type FromUnixBuilder ¶
type FromUnixBuilder struct { OSType ostype.ArchiveOSType Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection Description string Tags types.Tags IconID types.ID EditParameter *UnixEditRequest Client *APIClient ID types.ID // contains filtered or unexported fields }
FromUnixBuilder Unix系パブリックアーカイブからディスクを作成するリクエスト
func (*FromUnixBuilder) Build ¶
func (d *FromUnixBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
Build ディスクの構築
func (*FromUnixBuilder) Update ¶
func (d *FromUnixBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
Update ディスクの更新
func (*FromUnixBuilder) UpdateLevel ¶
func (d *FromUnixBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type FromWindowsBuilder ¶
type FromWindowsBuilder struct { OSType ostype.ArchiveOSType Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection Description string Tags types.Tags IconID types.ID EditParameter *WindowsEditRequest Client *APIClient ID types.ID }
FromWindowsBuilder Windows系パブリックアーカイブからディスクを作成するリクエスト
func (*FromWindowsBuilder) Build ¶
func (d *FromWindowsBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
Build ディスクの構築
func (*FromWindowsBuilder) Update ¶
func (d *FromWindowsBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
Update ディスクの更新
func (*FromWindowsBuilder) UpdateLevel ¶
func (d *FromWindowsBuilder) UpdateLevel(ctx context.Context, zone string, disk *sacloud.Disk) builder.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type NoteHandler ¶
type NoteHandler interface { Read(ctx context.Context, id types.ID) (*sacloud.Note, error) Create(ctx context.Context, param *sacloud.NoteCreateRequest) (*sacloud.Note, error) Delete(ctx context.Context, id types.ID) error }
NoteHandler スタートアップスクリプト参照のためのインターフェース
type PlanReader ¶
type PlanReader interface {
Read(ctx context.Context, zone string, id types.ID) (*sacloud.DiskPlan, error)
}
PlanReader ディスクプラン取得のためのインターフェース
type SSHKeyHandler ¶
type SSHKeyHandler interface { Read(ctx context.Context, id types.ID) (*sacloud.SSHKey, error) Generate(ctx context.Context, param *sacloud.SSHKeyGenerateRequest) (*sacloud.SSHKeyGenerated, error) Delete(ctx context.Context, id types.ID) error }
SSHKeyHandler SSHKey参照のためのインターフェース
type UnixEditRequest ¶
type UnixEditRequest struct { HostName string Password string DisablePWAuth bool EnableDHCP bool ChangePartitionUUID bool IPAddress string NetworkMaskLen int DefaultRoute string SSHKeys []string SSHKeyIDs []types.ID // IsSSHKeysEphemeral trueの場合、SSHキーを生成する場合に生成したSSHキーリソースをサーバ作成後に削除する IsSSHKeysEphemeral bool // GenerateSSHKeyName 設定されていた場合、クラウドAPIを用いてキーペアを生成する。 GenerateSSHKeyName string GenerateSSHKeyPassPhrase string GenerateSSHKeyDescription string IsNotesEphemeral bool Notes []string NoteIDs []types.ID }
UnixEditRequest Unix系の場合のディスクの修正リクエスト
type WindowsEditRequest ¶
WindowsEditRequest Windows系の場合のディスクの修正リクエスト