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) NoWaitFlag() bool
- func (d *BlankBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *BlankBuilder) UpdateLevel(ctx context.Context, zone string, disk *iaas.Disk) service.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) NoWaitFlag() bool
- func (d *ConnectedDiskBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *ConnectedDiskBuilder) UpdateLevel(ctx context.Context, zone string, disk *iaas.Disk) service.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) NoWaitFlag() bool
- func (d *FromDiskOrArchiveBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *FromDiskOrArchiveBuilder) UpdateLevel(ctx context.Context, zone string, disk *iaas.Disk) service.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) NoWaitFlag() bool
- func (d *FromFixedArchiveBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *FromFixedArchiveBuilder) UpdateLevel(ctx context.Context, zone string, disk *iaas.Disk) service.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) NoWaitFlag() bool
- func (d *FromUnixBuilder) Update(ctx context.Context, zone string) (*UpdateResult, error)
- func (d *FromUnixBuilder) UpdateLevel(ctx context.Context, zone string, disk *iaas.Disk) service.UpdateLevel
- func (d *FromUnixBuilder) Validate(ctx context.Context, zone string) error
- type NoteHandler
- type PlanReader
- type SSHKeyHandler
- type UnixEditRequest
- type UpdateResult
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 ¶
func NewBuildersAPIClient(caller iaas.APICaller) *APIClient
NewBuildersAPIClient APIクライアントの作成
type ArchiveFinder ¶
type ArchiveFinder interface { Find(ctx context.Context, zone string, conditions *iaas.FindCondition) (*iaas.ArchiveFindResult, error) Read(ctx context.Context, zone string, id types.ID) (*iaas.Archive, error) }
ArchiveFinder アーカイブ検索のためのインターフェース
type BlankBuilder ¶
type BlankBuilder struct { Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection EncryptionAlgorithm types.EDiskEncryptionAlgorithm Description string Tags types.Tags IconID types.ID Client *APIClient NoWait bool ID types.ID }
BlankBuilder ブランクディスクを作成する場合のリクエスト
func (*BlankBuilder) Build ¶
func (d *BlankBuilder) Build(ctx context.Context, zone string, serverID types.ID) (*BuildResult, error)
Build ディスクの構築
func (*BlankBuilder) NoWaitFlag ¶
func (d *BlankBuilder) NoWaitFlag() bool
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 *iaas.Disk) service.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type BuildResult ¶
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 *iaas.Disk) service.UpdateLevel NoWaitFlag() bool }
Builder ディスクの構築インターフェース
type ConnectedDiskBuilder ¶
type ConnectedDiskBuilder struct { ID types.ID EditParameter *UnixEditRequest Name string Description string Tags types.Tags IconID types.ID Connection types.EDiskConnection EncryptionAlgorithm types.EDiskEncryptionAlgorithm NoWait bool 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) NoWaitFlag ¶
func (d *ConnectedDiskBuilder) NoWaitFlag() bool
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 *iaas.Disk) service.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type CreateDiskHandler ¶
type CreateDiskHandler interface { Create(ctx context.Context, zone string, createParam *iaas.DiskCreateRequest, distantFrom []types.ID) (*iaas.Disk, error) CreateWithConfig( ctx context.Context, zone string, createParam *iaas.DiskCreateRequest, editParam *iaas.DiskEditRequest, bootAtAvailable bool, distantFrom []types.ID, ) (*iaas.Disk, error) Update(ctx context.Context, zone string, id types.ID, updateParam *iaas.DiskUpdateRequest) (*iaas.Disk, error) Config(ctx context.Context, zone string, id types.ID, editParam *iaas.DiskEditRequest) error Read(ctx context.Context, zone string, id types.ID) (*iaas.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 EncryptionAlgorithm types.EDiskEncryptionAlgorithm Description string Tags types.Tags IconID types.ID DiskID types.ID SourceDiskID types.ID SourceArchiveID types.ID EditParameter *EditRequest NoWait bool Client *APIClient }
Director パラメータに応じて適切なDiskBuilderを構築する
type EditRequest ¶
type EditRequest UnixEditRequest
EditRequest 汎用ディスクの修正リクエストパラメータ DiskDirectorが利用する
func (*EditRequest) ToUnixDiskEditRequest ¶
func (d *EditRequest) ToUnixDiskEditRequest() *UnixEditRequest
ToUnixDiskEditRequest Unix系パラメータへの変換
type FromDiskOrArchiveBuilder ¶
type FromDiskOrArchiveBuilder struct { SourceDiskID types.ID SourceArchiveID types.ID Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection EncryptionAlgorithm types.EDiskEncryptionAlgorithm Description string Tags types.Tags IconID types.ID EditParameter *UnixEditRequest Client *APIClient ID types.ID NoWait bool // 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) NoWaitFlag ¶
func (d *FromDiskOrArchiveBuilder) NoWaitFlag() bool
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 *iaas.Disk) service.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type FromFixedArchiveBuilder ¶
type FromFixedArchiveBuilder struct { OSType ostype.ArchiveOSType Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection EncryptionAlgorithm types.EDiskEncryptionAlgorithm Description string Tags types.Tags IconID types.ID Client *APIClient NoWait bool 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) NoWaitFlag ¶
func (d *FromFixedArchiveBuilder) NoWaitFlag() bool
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 *iaas.Disk) service.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type FromUnixBuilder ¶
type FromUnixBuilder struct { OSType ostype.ArchiveOSType Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection EncryptionAlgorithm types.EDiskEncryptionAlgorithm Description string Tags types.Tags IconID types.ID EditParameter *UnixEditRequest Client *APIClient NoWait bool 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) NoWaitFlag ¶
func (d *FromUnixBuilder) NoWaitFlag() bool
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 *iaas.Disk) service.UpdateLevel
UpdateLevel Update時にどのレベルの変更が必要か
type NoteHandler ¶
type NoteHandler interface { Read(ctx context.Context, id types.ID) (*iaas.Note, error) Create(ctx context.Context, param *iaas.NoteCreateRequest) (*iaas.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) (*iaas.DiskPlan, error)
}
PlanReader ディスクプラン取得のためのインターフェース
type SSHKeyHandler ¶
type SSHKeyHandler interface { Read(ctx context.Context, id types.ID) (*iaas.SSHKey, error) Generate(ctx context.Context, param *iaas.SSHKeyGenerateRequest) (*iaas.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 NoteContents []string Notes []*iaas.DiskEditNote }
UnixEditRequest Unix系の場合のディスクの修正リクエスト