Documentation ¶
Index ¶
- func ExampleAliyunSDK()
- func ExampleRackspace()
- func ExampleRackspaceForTest()
- type AliyunImage
- type AliyunInstance
- type AliyunInstanceStatus
- type AliyunPaidType
- type AliyunRegion
- type AliyunRespond
- type AliyunSDK
- func (sdk *AliyunSDK) AllocateNewInstance() (id string)
- func (sdk *AliyunSDK) AllocatePublicIpAddress(instanceId string) (ip string)
- func (sdk *AliyunSDK) Call(param *url.Values) (r *AliyunRespond, isErr bool)
- func (sdk *AliyunSDK) CreateInstance() (ip string)
- func (sdk *AliyunSDK) CreateSecurityGroup() (securityGroupId string)
- func (sdk *AliyunSDK) DeleteInstance(ip string)
- func (sdk *AliyunSDK) DeleteInstanceById(id string)
- func (sdk *AliyunSDK) GetAllImage() []AliyunImage
- func (sdk *AliyunSDK) GetAllRegion() []AliyunRegion
- func (sdk *AliyunSDK) IsInstanceRunning(id string) bool
- func (sdk *AliyunSDK) ListAllInstance() (idInstanceMap map[string]Instance)
- func (sdk *AliyunSDK) ListAllRunningInstance() (ipInstanceMap map[string]Instance)
- func (sdk *AliyunSDK) MakeInstanceAvailable(id string) (ip string)
- func (sdk *AliyunSDK) MustCall(param *url.Values) *AliyunRespond
- func (sdk *AliyunSDK) RenameInstanceByIp(name, ip string)
- func (sdk *AliyunSDK) StartInstance(instanceId string)
- func (sdk *AliyunSDK) StopInstance(instanceId string)
- func (sdk *AliyunSDK) WaitUntil(instanceId string, status AliyunInstanceStatus)
- type Instance
- type RackspaceInstanceStatus
- type RackspaceSDK
- func (sdk *RackspaceSDK) AllocateNewInstance() (id string)
- func (sdk *RackspaceSDK) CreateInstance() (ip string)
- func (sdk *RackspaceSDK) DeleteInstance(ip string)
- func (sdk *RackspaceSDK) DeleteInstanceById(id string)
- func (sdk *RackspaceSDK) GetAllFlavor() []flavors.Flavor
- func (sdk *RackspaceSDK) GetAllImage() []OpenStackImages.Image
- func (sdk *RackspaceSDK) ListAllInstance() (idInstanceMap map[string]Instance)
- func (sdk *RackspaceSDK) ListAllRunningInstance() (ipInstanceMap map[string]Instance)
- func (sdk *RackspaceSDK) MakeInstanceAvailable(id string) (ip string)
- func (sdk *RackspaceSDK) PrintAllFlavor()
- func (sdk *RackspaceSDK) PrintAllImage()
- func (sdk *RackspaceSDK) RenameInstanceByIp(name, ip string)
- type SDK
- type SDKCache
- type SoftLayerSDK
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExampleAliyunSDK ¶
func ExampleAliyunSDK()
func ExampleRackspace ¶
func ExampleRackspace()
func ExampleRackspaceForTest ¶
func ExampleRackspaceForTest()
Types ¶
type AliyunImage ¶
type AliyunInstance ¶
type AliyunInstance struct { InstanceId string Status AliyunInstanceStatus InstanceName string ImageId string RegionId string InstanceType string PublicIpAddress map[string][]string InstanceChargeType AliyunPaidType ExpiredTime string }
type AliyunInstanceStatus ¶
type AliyunInstanceStatus string
const ( AliyunInstanceStatusRunning AliyunInstanceStatus = "Running" AliyunInstanceStatusStopped AliyunInstanceStatus = "Stopped" AliyunInstanceStatusDeleted AliyunInstanceStatus = "Deleted" )
type AliyunPaidType ¶
type AliyunPaidType string
const ( //包年包月 AliyunPaidTypePre AliyunPaidType = "PrePaid" //按量 AliyunPaidTypePost AliyunPaidType = "PostPaid" )
type AliyunRegion ¶
type AliyunRespond ¶
type AliyunRespond struct { RequestId string RegionId string PageNumber int PageSize int TotalCount int Images map[string][]AliyunImage Regions map[string][]AliyunRegion Instances map[string][]AliyunInstance SecurityGroupId string InstanceId string IpAddress string //错误消息 Code string Message string }
type AliyunSDK ¶
type AliyunSDK struct { ConfigParam *url.Values AccessKeyId string AccessKeySecret string SecurityGroupId string InstancePaidType AliyunPaidType InstancePassword string Region string //Alias RegionId InstanceName string ImageName string //Alias ImageId FlavorName string //Alias InstanceType }
func NewAliyunSDK ¶
func (*AliyunSDK) AllocateNewInstance ¶
func (*AliyunSDK) AllocatePublicIpAddress ¶
func (*AliyunSDK) Call ¶
func (sdk *AliyunSDK) Call(param *url.Values) (r *AliyunRespond, isErr bool)
func (*AliyunSDK) CreateInstance ¶
创建机器 分配公网IP 重启机器
func (*AliyunSDK) CreateSecurityGroup ¶
func (*AliyunSDK) DeleteInstance ¶
func (*AliyunSDK) DeleteInstanceById ¶
func (*AliyunSDK) GetAllImage ¶
func (sdk *AliyunSDK) GetAllImage() []AliyunImage
func (*AliyunSDK) GetAllRegion ¶
func (sdk *AliyunSDK) GetAllRegion() []AliyunRegion
func (*AliyunSDK) IsInstanceRunning ¶
func (*AliyunSDK) ListAllInstance ¶
func (*AliyunSDK) ListAllRunningInstance ¶
func (*AliyunSDK) MakeInstanceAvailable ¶
不断重试,彻底失败,会返回空字符串
func (*AliyunSDK) RenameInstanceByIp ¶
func (*AliyunSDK) StartInstance ¶
func (*AliyunSDK) StopInstance ¶
func (*AliyunSDK) WaitUntil ¶
func (sdk *AliyunSDK) WaitUntil(instanceId string, status AliyunInstanceStatus)
type RackspaceInstanceStatus ¶
type RackspaceInstanceStatus string
const ( RackspaceInstanceStatusACTIVE RackspaceInstanceStatus = "ACTIVE" RackspaceInstanceStatusBUILD RackspaceInstanceStatus = "BUILD" RackspaceInstanceStatusDELETED RackspaceInstanceStatus = "DELETED" RackspaceInstanceStatusERROR RackspaceInstanceStatus = "ERROR" RackspaceInstanceStatusUNKNOWN RackspaceInstanceStatus = "UNKNOWN" )
type RackspaceSDK ¶
type RackspaceSDK struct { Username string APIKey string SSHKeyName string Region string InstanceName string ImageName string FlavorName string // contains filtered or unexported fields }
func NewRackspaceSDK ¶
func NewRackspaceSDK(username, apiKey, SSHKeyName string) *RackspaceSDK
func (*RackspaceSDK) AllocateNewInstance ¶
func (sdk *RackspaceSDK) AllocateNewInstance() (id string)
func (*RackspaceSDK) CreateInstance ¶
func (sdk *RackspaceSDK) CreateInstance() (ip string)
func (*RackspaceSDK) DeleteInstance ¶
func (sdk *RackspaceSDK) DeleteInstance(ip string)
func (*RackspaceSDK) DeleteInstanceById ¶
func (sdk *RackspaceSDK) DeleteInstanceById(id string)
func (*RackspaceSDK) GetAllFlavor ¶
func (sdk *RackspaceSDK) GetAllFlavor() []flavors.Flavor
func (*RackspaceSDK) GetAllImage ¶
func (sdk *RackspaceSDK) GetAllImage() []OpenStackImages.Image
func (*RackspaceSDK) ListAllInstance ¶
func (sdk *RackspaceSDK) ListAllInstance() (idInstanceMap map[string]Instance)
func (*RackspaceSDK) ListAllRunningInstance ¶
func (sdk *RackspaceSDK) ListAllRunningInstance() (ipInstanceMap map[string]Instance)
func (*RackspaceSDK) MakeInstanceAvailable ¶
func (sdk *RackspaceSDK) MakeInstanceAvailable(id string) (ip string)
不断重试,彻底失败,会返回空字符串
func (*RackspaceSDK) PrintAllFlavor ¶
func (sdk *RackspaceSDK) PrintAllFlavor()
func (*RackspaceSDK) PrintAllImage ¶
func (sdk *RackspaceSDK) PrintAllImage()
func (*RackspaceSDK) RenameInstanceByIp ¶
func (sdk *RackspaceSDK) RenameInstanceByIp(name, ip string)
type SDK ¶
type SDK interface { //以实例外网 Ip 为主键的方法,通常用这些已经够了 //创建一个新实例,保证实例可用,出现错误 panic CreateInstance() (ip string) DeleteInstance(ip string) RenameInstanceByIp(name, ip string) ListAllRunningInstance() (ipInstanceMap map[string]Instance) //向云服务提供商申请分配新实例,http 请求后,立即返回实例ID,不要求实例当时可用 AllocateNewInstance() (id string) //让一台实例变为可用状态 //不断重试,彻底失败,会返回空字符串 MakeInstanceAvailable(id string) (ip string) //以实例 Id 为主键的方法,一般不使用,当没有实例没有 ip 时可以使用 ListAllInstance() (idInstanceMap map[string]Instance) DeleteInstanceById(id string) }
本接口中,为降低调用者复杂度,不提供机器「状态」,因为状态较为复杂,而调用者其实只关心正在可用的,即正在运行的机器
type SoftLayerSDK ¶
func NewSoftLayerSDK ¶
func NewSoftLayerSDK(username, apiKey string) *SoftLayerSDK
func (*SoftLayerSDK) GetRegionList ¶
func (sdk *SoftLayerSDK) GetRegionList() []string
Click to show internal directories.
Click to hide internal directories.