Documentation ¶
Index ¶
- func FindPlan(ctx context.Context, finder PlanFinder, zone string, param *FindPlanRequest) (*sacloud.ServerPlan, error)
- func GetDefaultUserName(ctx context.Context, zone string, reader *SourceInfoReader, serverID types.ID) (string, error)
- type AdditionalNICSettingHolder
- type ArchiveFinder
- type BlankDiskBuilder
- type BuildDiskResult
- type BuildResult
- type Builder
- type BuildersAPIClient
- type ConnectedDiskBuilder
- type ConnectedNICSetting
- func (c *ConnectedNICSetting) GetConnectedSwitchParam() *sacloud.ConnectedSwitch
- func (c *ConnectedNICSetting) GetDisplayIPAddress() string
- func (c *ConnectedNICSetting) GetPacketFilterID() types.ID
- func (c *ConnectedNICSetting) GetSwitchID() types.ID
- func (c *ConnectedNICSetting) Validate(ctx context.Context, client *BuildersAPIClient, zone string) error
- type CreateServerHandler
- type DisconnectedNICSetting
- func (d *DisconnectedNICSetting) GetConnectedSwitchParam() *sacloud.ConnectedSwitch
- func (d *DisconnectedNICSetting) GetDisplayIPAddress() string
- func (d *DisconnectedNICSetting) GetPacketFilterID() types.ID
- func (d *DisconnectedNICSetting) GetSwitchID() types.ID
- func (d *DisconnectedNICSetting) Validate(ctx context.Context, client *BuildersAPIClient, zone string) error
- type DiskBuilder
- type DiskHandler
- type DiskPlanReader
- type FindPlanRequest
- type FromDiskOrArchiveDiskBuilder
- type FromUnixDiskBuilder
- type FromWindowsDiskBuilder
- type InterfaceHandler
- type NICSettingHolder
- type NoteHandler
- type PacketFilterReader
- type PlanFinder
- type SSHKeyHandler
- type SharedNICSetting
- type SourceArchiveReader
- type SourceDiskReader
- type SourceInfoReader
- type SourceServerReader
- type SwitchReader
- type UnixDiskEditRequest
- type WindowsDiskEditRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindPlan ¶
func FindPlan(ctx context.Context, finder PlanFinder, zone string, param *FindPlanRequest) (*sacloud.ServerPlan, error)
FindPlan サーバプラン検索
func GetDefaultUserName ¶
func GetDefaultUserName(ctx context.Context, zone string, reader *SourceInfoReader, serverID types.ID) (string, error)
GetDefaultUserName returns default admin user name from source archives/disks
Types ¶
type AdditionalNICSettingHolder ¶
type AdditionalNICSettingHolder interface { GetSwitchID() types.ID GetDisplayIPAddress() string GetPacketFilterID() types.ID Validate(ctx context.Context, client *BuildersAPIClient, zone string) error }
AdditionalNICSettingHolder 追加NIC設定を保持するためのインターフェース
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 BlankDiskBuilder ¶
type BlankDiskBuilder struct { Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection Description string Tags types.Tags IconID types.ID }
BlankDiskBuilder ブランクディスクを作成する場合のリクエスト
func (*BlankDiskBuilder) BuildDisk ¶
func (d *BlankDiskBuilder) BuildDisk(ctx context.Context, client *BuildersAPIClient, zone string, serverID types.ID) (*BuildDiskResult, error)
BuildDisk ディスクの構築
func (*BlankDiskBuilder) Validate ¶
func (d *BlankDiskBuilder) Validate(ctx context.Context, client *BuildersAPIClient, zone string) error
Validate 設定値の検証
type BuildDiskResult ¶
type BuildDiskResult struct { DiskID types.ID GeneratedSSHKey *sacloud.SSHKeyGenerated }
BuildDiskResult ディスク構築結果
type BuildResult ¶
BuildResult サーバ構築結果
type Builder ¶
type Builder struct { Name string CPU int MemoryGB int Commitment types.ECommitment Generation types.EPlanGeneration InterfaceDriver types.EInterfaceDriver Description string IconID types.ID Tags types.Tags BootAfterCreate bool CDROMID types.ID PrivateHostID types.ID NIC NICSettingHolder AdditionalNICs []AdditionalNICSettingHolder DiskBuilders []DiskBuilder }
Builder サーバ作成時のパラメータ
func (*Builder) Build ¶
func (b *Builder) Build(ctx context.Context, client *BuildersAPIClient, zone string) (*BuildResult, error)
Build サーバ構築を行う
type BuildersAPIClient ¶
type BuildersAPIClient struct { Archive ArchiveFinder Disk DiskHandler DiskPlan DiskPlanReader Interface InterfaceHandler PacketFilter PacketFilterReader Server CreateServerHandler ServerPlan PlanFinder Switch SwitchReader Note NoteHandler SSHKey SSHKeyHandler }
BuildersAPIClient builderが利用するAPIクライアント群
func NewBuildersAPIClient ¶
func NewBuildersAPIClient(caller sacloud.APICaller) *BuildersAPIClient
NewBuildersAPIClient APIクライアントの作成
type ConnectedDiskBuilder ¶
type ConnectedDiskBuilder struct { DiskID types.ID EditParameter *UnixDiskEditRequest }
ConnectedDiskBuilder 既存ディスクを接続する場合のリクエスト
func (*ConnectedDiskBuilder) BuildDisk ¶
func (d *ConnectedDiskBuilder) BuildDisk(ctx context.Context, client *BuildersAPIClient, zone string, serverID types.ID) (*BuildDiskResult, error)
BuildDisk ディスクの構築
func (*ConnectedDiskBuilder) Validate ¶
func (d *ConnectedDiskBuilder) Validate(ctx context.Context, client *BuildersAPIClient, zone string) error
Validate 設定値の検証
type ConnectedNICSetting ¶
type ConnectedNICSetting struct { SwitchID types.ID DisplayIPAddress string PacketFilterID types.ID }
ConnectedNICSetting サーバ作成時にスイッチに接続するためのパラメータ
NICSettingHolderとAdditionalNICSettingHolderを実装し、Builder.NIC/Builder.AdditionalNICsに利用できる。
func (*ConnectedNICSetting) GetConnectedSwitchParam ¶
func (c *ConnectedNICSetting) GetConnectedSwitchParam() *sacloud.ConnectedSwitch
GetConnectedSwitchParam サーバ作成時の接続先指定パラメータを作成して返す
func (*ConnectedNICSetting) GetDisplayIPAddress ¶
func (c *ConnectedNICSetting) GetDisplayIPAddress() string
GetDisplayIPAddress 表示用IPアドレスを返す
func (*ConnectedNICSetting) GetPacketFilterID ¶
func (c *ConnectedNICSetting) GetPacketFilterID() types.ID
GetPacketFilterID このNICに接続するパケットフィルタのIDを返す
func (*ConnectedNICSetting) GetSwitchID ¶
func (c *ConnectedNICSetting) GetSwitchID() types.ID
GetSwitchID このNICが接続するスイッチのIDを返す
func (*ConnectedNICSetting) Validate ¶
func (c *ConnectedNICSetting) Validate(ctx context.Context, client *BuildersAPIClient, zone string) error
Validate 設定値の検証
type CreateServerHandler ¶
type CreateServerHandler interface { Create(ctx context.Context, zone string, param *sacloud.ServerCreateRequest) (*sacloud.Server, error) Read(ctx context.Context, zone string, id types.ID) (*sacloud.Server, error) InsertCDROM(ctx context.Context, zone string, id types.ID, insertParam *sacloud.InsertCDROMRequest) error Boot(ctx context.Context, zone string, id types.ID) error }
CreateServerHandler サーバ操作のためのインターフェース
type DisconnectedNICSetting ¶
type DisconnectedNICSetting struct{}
DisconnectedNICSetting 切断状態のNICを作成するためのパラメータ
NICSettingHolderとAdditionalNICSettingHolderを実装し、Builder.NIC/Builder.AdditionalNICsに利用できる。
func (*DisconnectedNICSetting) GetConnectedSwitchParam ¶
func (d *DisconnectedNICSetting) GetConnectedSwitchParam() *sacloud.ConnectedSwitch
GetConnectedSwitchParam サーバ作成時の接続先指定パラメータを作成して返す
func (*DisconnectedNICSetting) GetDisplayIPAddress ¶
func (d *DisconnectedNICSetting) GetDisplayIPAddress() string
GetDisplayIPAddress 表示用IPアドレスを返す
func (*DisconnectedNICSetting) GetPacketFilterID ¶
func (d *DisconnectedNICSetting) GetPacketFilterID() types.ID
GetPacketFilterID このNICに接続するパケットフィルタのIDを返す
func (*DisconnectedNICSetting) GetSwitchID ¶
func (d *DisconnectedNICSetting) GetSwitchID() types.ID
GetSwitchID このNICが接続するスイッチのIDを返す
func (*DisconnectedNICSetting) Validate ¶
func (d *DisconnectedNICSetting) Validate(ctx context.Context, client *BuildersAPIClient, zone string) error
Validate 設定値の検証
type DiskBuilder ¶
type DiskBuilder interface { Validate(ctx context.Context, client *BuildersAPIClient, zone string) error BuildDisk(ctx context.Context, client *BuildersAPIClient, zone string, serverID types.ID) (*BuildDiskResult, error) }
DiskBuilder ディスクの構築インターフェース
type DiskHandler ¶
type DiskHandler 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) Read(ctx context.Context, zone string, id types.ID) (*sacloud.Disk, error) }
DiskHandler ディスク操作のためのインターフェース
type DiskPlanReader ¶
type DiskPlanReader interface {
Read(ctx context.Context, zone string, id types.ID) (*sacloud.DiskPlan, error)
}
DiskPlanReader ディスクプラン取得のためのインターフェース
type FindPlanRequest ¶
type FindPlanRequest struct { CPU int MemoryGB int Commitment types.ECommitment Generation types.EPlanGeneration }
FindPlanRequest サーバプラン検索パラメータ
type FromDiskOrArchiveDiskBuilder ¶
type FromDiskOrArchiveDiskBuilder 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 *UnixDiskEditRequest // contains filtered or unexported fields }
FromDiskOrArchiveDiskBuilder ディスクorアーカイブからディスクを作成するリクエスト
ディスクの修正が可能かは実行時にさくらのクラウドAPI側にて判定される
func (*FromDiskOrArchiveDiskBuilder) BuildDisk ¶
func (d *FromDiskOrArchiveDiskBuilder) BuildDisk(ctx context.Context, client *BuildersAPIClient, zone string, serverID types.ID) (*BuildDiskResult, error)
BuildDisk ディスクの構築
func (*FromDiskOrArchiveDiskBuilder) Validate ¶
func (d *FromDiskOrArchiveDiskBuilder) Validate(ctx context.Context, client *BuildersAPIClient, zone string) error
Validate 設定値の検証
type FromUnixDiskBuilder ¶
type FromUnixDiskBuilder struct { OSType ostype.UnixPublicArchiveType Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection Description string Tags types.Tags IconID types.ID EditParameter *UnixDiskEditRequest // contains filtered or unexported fields }
FromUnixDiskBuilder Unix系パブリックアーカイブからディスクを作成するリクエスト
func (*FromUnixDiskBuilder) BuildDisk ¶
func (d *FromUnixDiskBuilder) BuildDisk(ctx context.Context, client *BuildersAPIClient, zone string, serverID types.ID) (*BuildDiskResult, error)
BuildDisk ディスクの構築
func (*FromUnixDiskBuilder) Validate ¶
func (d *FromUnixDiskBuilder) Validate(ctx context.Context, client *BuildersAPIClient, zone string) error
Validate 設定値の検証
type FromWindowsDiskBuilder ¶
type FromWindowsDiskBuilder struct { OSType ostype.WindowsPublicArchiveType Name string SizeGB int DistantFrom []types.ID PlanID types.ID Connection types.EDiskConnection Description string Tags types.Tags IconID types.ID EditParameter *WindowsDiskEditRequest }
FromWindowsDiskBuilder Windows系パブリックアーカイブからディスクを作成するリクエスト
func (*FromWindowsDiskBuilder) BuildDisk ¶
func (d *FromWindowsDiskBuilder) BuildDisk(ctx context.Context, client *BuildersAPIClient, zone string, serverID types.ID) (*BuildDiskResult, error)
BuildDisk ディスクの構築
func (*FromWindowsDiskBuilder) Validate ¶
func (d *FromWindowsDiskBuilder) Validate(ctx context.Context, client *BuildersAPIClient, zone string) error
Validate 設定値の検証
type InterfaceHandler ¶
type InterfaceHandler interface { ConnectToPacketFilter(ctx context.Context, zone string, id types.ID, packetFilterID types.ID) error Update(ctx context.Context, zone string, id types.ID, param *sacloud.InterfaceUpdateRequest) (*sacloud.Interface, error) }
InterfaceHandler NIC操作のためのインターフェース
type NICSettingHolder ¶
type NICSettingHolder interface { GetConnectedSwitchParam() *sacloud.ConnectedSwitch GetPacketFilterID() types.ID Validate(ctx context.Context, client *BuildersAPIClient, zone string) error }
NICSettingHolder NIC設定を保持するためのインターフェース
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 PacketFilterReader ¶
type PacketFilterReader interface {
Read(ctx context.Context, zone string, id types.ID) (*sacloud.PacketFilter, error)
}
PacketFilterReader パケットフィルタ参照のためのインターフェース
type PlanFinder ¶
type PlanFinder interface {
Find(ctx context.Context, zone string, conditions *sacloud.FindCondition) (*sacloud.ServerPlanFindResult, error)
}
PlanFinder .
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 SharedNICSetting ¶
type SharedNICSetting struct {
}SharedNICSetting サーバ作成時に共有セグメントに接続するためのパラメータ
NICSettingHolderを実装し、Builder.NICに利用できる。
func (*SharedNICSetting) GetConnectedSwitchParam ¶
func (c *SharedNICSetting) GetConnectedSwitchParam() *sacloud.ConnectedSwitch
GetConnectedSwitchParam サーバ作成時の接続先指定パラメータを作成して返す
func (*SharedNICSetting) GetPacketFilterID ¶
func (c *SharedNICSetting) GetPacketFilterID() types.ID
GetPacketFilterID このNICに接続するパケットフィルタのIDを返す
func (*SharedNICSetting) Validate ¶
func (c *SharedNICSetting) Validate(ctx context.Context, client *BuildersAPIClient, zone string) error
Validate 設定値の検証
type SourceArchiveReader ¶
type SourceArchiveReader interface {
Read(ctx context.Context, zone string, id types.ID) (*sacloud.Archive, error)
}
SourceArchiveReader アーカイブ参照インターフェース
type SourceDiskReader ¶
type SourceDiskReader interface {
Read(ctx context.Context, zone string, id types.ID) (*sacloud.Disk, error)
}
SourceDiskReader ディスク参照インターフェース
type SourceInfoReader ¶
type SourceInfoReader struct { ServerReader SourceServerReader ArchiveReader SourceArchiveReader DiskReader SourceDiskReader }
SourceInfoReader サーバのコピー元情報を参照するためのリーダー
func NewSourceInfoReader ¶
func NewSourceInfoReader(caller sacloud.APICaller) *SourceInfoReader
NewSourceInfoReader デフォルトのリーダーを返す
type SourceServerReader ¶
type SourceServerReader interface {
Read(ctx context.Context, zone string, id types.ID) (*sacloud.Server, error)
}
SourceServerReader サーバ参照インターフェース
type SwitchReader ¶
type SwitchReader interface {
Read(ctx context.Context, zone string, id types.ID) (*sacloud.Switch, error)
}
SwitchReader スイッチ参照のためのインターフェース
type UnixDiskEditRequest ¶
type UnixDiskEditRequest 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 }
UnixDiskEditRequest Unix系の場合のディスクの修正リクエスト
func (*UnixDiskEditRequest) Validate ¶
func (u *UnixDiskEditRequest) Validate(ctx context.Context, client *BuildersAPIClient) error
Validate 設定値の検証
type WindowsDiskEditRequest ¶
WindowsDiskEditRequest Windows系の場合のディスクの修正リクエスト