Documentation ¶
Index ¶
- func GetJobEntity(client *golangsdk.ServiceClient, jobID string, label string) (interface{}, error)
- func GetOrderResource(client *golangsdk.ServiceClient, orderID string) (interface{}, error)
- func WaitForJobSuccess(client *golangsdk.ServiceClient, secs int, jobID string) error
- func WaitForOrderDeleteSuccess(client *golangsdk.ServiceClient, secs int, orderID string) error
- func WaitForOrderSuccess(client *golangsdk.ServiceClient, secs int, orderID string) error
- type Address
- type BandWidth
- type CloudServer
- type CreateOpts
- type CreateOptsBuilder
- type DataVolume
- type DeleteOpts
- type DeleteOrderOpts
- type DeleteOrderResponse
- type DeleteOrderResult
- type Eip
- type EipExtendParam
- type Flavor
- type GetResult
- type Image
- type JobEntity
- type JobResponse
- type JobResult
- type JobStatus
- type MetaData
- type Metadata
- type NewCloudServer
- type Nic
- type OrderResponse
- type OrderResult
- type OrderStatus
- type OsSchedulerHints
- type PublicIp
- type Resource
- type RootVolume
- type SchedulerHints
- type SecurityGroup
- type SecurityGroups
- type Server
- type ServerExtendParam
- type ServerTags
- type SubJob
- type SysTags
- type VolumeAttached
- type VolumeExtendParam
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetJobEntity ¶
func GetOrderResource ¶
func WaitForJobSuccess ¶
func WaitForOrderSuccess ¶
Types ¶
type CloudServer ¶
type CloudServer struct { Status string `json:"status"` Updated time.Time `json:"updated"` HostID string `json:"hostId"` Addresses map[string][]Address `json:"addresses"` ID string `json:"id"` Name string `json:"name"` AccessIPv4 string `json:"accessIPv4"` AccessIPv6 string `json:"accessIPv6"` Created time.Time `json:"created"` Tags []string `json:"tags"` Description string `json:"description"` Locked *bool `json:"locked"` ConfigDrive string `json:"config_drive"` TenantID string `json:"tenant_id"` UserID string `json:"user_id"` HostStatus string `json:"host_status"` EnterpriseProjectID string `json:"enterprise_project_id"` SysTags []SysTags `json:"sys_tags"` Flavor Flavor `json:"flavor"` Metadata Metadata `json:"metadata"` SecurityGroups []SecurityGroups `json:"security_groups"` KeyName string `json:"key_name"` Image Image `json:"image"` Progress *int `json:"progress"` PowerState *int `json:"OS-EXT-STS:power_state"` VMState string `json:"OS-EXT-STS:vm_state"` TaskState string `json:"OS-EXT-STS:task_state"` DiskConfig string `json:"OS-DCF:diskConfig"` AvailabilityZone string `json:"OS-EXT-AZ:availability_zone"` LaunchedAt string `json:"OS-SRV-USG:launched_at"` TerminatedAt string `json:"OS-SRV-USG:terminated_at"` RootDeviceName string `json:"OS-EXT-SRV-ATTR:root_device_name"` RamdiskID string `json:"OS-EXT-SRV-ATTR:ramdisk_id"` KernelID string `json:"OS-EXT-SRV-ATTR:kernel_id"` LaunchIndex *int `json:"OS-EXT-SRV-ATTR:launch_index"` ReservationID string `json:"OS-EXT-SRV-ATTR:reservation_id"` Hostname string `json:"OS-EXT-SRV-ATTR:hostname"` UserData string `json:"OS-EXT-SRV-ATTR:user_data"` Host string `json:"OS-EXT-SRV-ATTR:host"` InstanceName string `json:"OS-EXT-SRV-ATTR:instance_name"` HypervisorHostname string `json:"OS-EXT-SRV-ATTR:hypervisor_hostname"` VolumeAttached []VolumeAttached `json:"os-extended-volumes:volumes_attached"` OsSchedulerHints OsSchedulerHints `json:"os:scheduler_hints"` }
CloudServer is only used for method that requests details on a single server, by ID. Because metadata struct must be a map.
type CreateOpts ¶
type CreateOpts struct { ImageRef string `json:"imageRef" required:"true"` FlavorRef string `json:"flavorRef" required:"true"` Name string `json:"name" required:"true"` UserData []byte `json:"-"` // AdminPass sets the root user password. If not set, a randomly-generated // password will be created and returned in the response. AdminPass string `json:"adminPass,omitempty"` KeyName string `json:"key_name,omitempty"` VpcId string `json:"vpcid" required:"true"` Nics []Nic `json:"nics" required:"true"` PublicIp *PublicIp `json:"publicip,omitempty"` Count int `json:"count,omitempty"` IsAutoRename *bool `json:"isAutoRename,omitempty"` RootVolume RootVolume `json:"root_volume" required:"true"` DataVolumes []DataVolume `json:"data_volumes,omitempty"` SecurityGroups []SecurityGroup `json:"security_groups,omitempty"` AvailabilityZone string `json:"availability_zone" required:"true"` ExtendParam *ServerExtendParam `json:"extendparam,omitempty"` MetaData *MetaData `json:"metadata,omitempty"` SchedulerHints *SchedulerHints `json:"os:scheduler_hints,omitempty"` Tags []string `json:"tags,omitempty"` ServerTags []ServerTags `json:"server_tags,omitempty"` }
func (CreateOpts) ToServerCreateMap ¶
func (opts CreateOpts) ToServerCreateMap() (map[string]interface{}, error)
ToServerCreateMap assembles a request body based on the contents of a CreateOpts.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional parameters to the Create request.
type DataVolume ¶
type DataVolume struct { VolumeType string `json:"volumetype" required:"true"` Size int `json:"size" required:"true"` MultiAttach *bool `json:"multiattach,omitempty"` PassThrough *bool `json:"hw:passthrough,omitempty"` Extendparam *VolumeExtendParam `json:"extendparam,omitempty"` }
type DeleteOpts ¶
type DeleteOpts struct { Servers []Server `json:"servers" required:"true"` DeletePublicIP bool `json:"delete_publicip,omitempty"` DeleteVolume bool `json:"delete_volume,omitempty"` }
func (DeleteOpts) ToServerDeleteMap ¶
func (opts DeleteOpts) ToServerDeleteMap() (map[string]interface{}, error)
ToServerDeleteMap assembles a request body based on the contents of a DeleteOpts.
type DeleteOrderOpts ¶
type DeleteOrderOpts struct { ResourceIds []string `json:"resourceIds" required:"true"` UnSubType int `json:"unSubType" required:"true"` }
func (DeleteOrderOpts) ToServerDeleteOrderMap ¶
func (opts DeleteOrderOpts) ToServerDeleteOrderMap() (map[string]interface{}, error)
ToServerDeleteOrderMap assembles a request body based on the contents of a DeleteOrderOpts.
type DeleteOrderResponse ¶
type DeleteOrderResponse struct {
OrderIDs []string `json:"orderIds"`
}
type DeleteOrderResult ¶
type DeleteOrderResult struct {
golangsdk.Result
}
func DeleteOrder ¶
func DeleteOrder(client *golangsdk.ServiceClient, opts DeleteOrderOpts) (r DeleteOrderResult)
DeleteOrder requests a server to be deleted to the user in the current tenant.
func (DeleteOrderResult) ExtractDeleteOrderResponse ¶
func (r DeleteOrderResult) ExtractDeleteOrderResponse() (*DeleteOrderResponse, error)
type Eip ¶
type Eip struct { IpType string `json:"iptype" required:"true"` BandWidth *BandWidth `json:"bandwidth" required:"true"` ExtendParam *EipExtendParam `json:"extendparam,omitempty"` }
type EipExtendParam ¶
type EipExtendParam struct {
ChargingMode string `json:"chargingMode,omitempty"`
}
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult is the response from a Get operation. Call its Extract method to interpret it as a Server.
func (GetResult) Extract ¶
func (r GetResult) Extract() (*CloudServer, error)
type Image ¶
type Image struct {
ID string `json:"id"`
}
Image defines a image struct in details of a server.
type JobEntity ¶
type JobEntity struct { // Specifies the number of subtasks. // When no subtask exists, the value of this parameter is 0. SubJobsTotal int `json:"sub_jobs_total"` // Specifies the execution information of a subtask. // When no subtask exists, the value of this parameter is left blank. SubJobs []SubJob `json:"sub_jobs"` }
type JobResponse ¶
type JobResponse struct {
JobID string `json:"job_id"`
}
type JobResult ¶
type JobResult struct {
golangsdk.Result
}
func Create ¶
func Create(client *golangsdk.ServiceClient, opts CreateOptsBuilder) (r JobResult)
Create requests a server to be provisioned to the user in the current tenant.
func Delete ¶
func Delete(client *golangsdk.ServiceClient, opts DeleteOpts) (r JobResult)
Delete requests a server to be deleted to the user in the current tenant.
func (JobResult) ExtractJobResponse ¶
func (r JobResult) ExtractJobResponse() (*JobResponse, error)
func (JobResult) ExtractJobStatus ¶
type JobStatus ¶
type JobStatus struct { Status string `json:"status"` Entities JobEntity `json:"entities"` JobID string `json:"job_id"` JobType string `json:"job_type"` BeginTime string `json:"begin_time"` EndTime string `json:"end_time"` ErrorCode string `json:"error_code"` FailReason string `json:"fail_reason"` }
type Metadata ¶
type Metadata struct { ChargingMode string `json:"charging_mode"` OrderID string `json:"metering.order_id"` ProductID string `json:"metering.product_id"` VpcID string `json:"vpc_id"` EcmResStatus string `json:"EcmResStatus"` ImageID string `json:"metering.image_id"` Imagetype string `json:"metering.imagetype"` Resourcespeccode string `json:"metering.resourcespeccode"` ImageName string `json:"image_name"` OsBit string `json:"os_bit"` LockCheckEndpoint string `json:"lock_check_endpoint"` LockSource string `json:"lock_source"` LockSourceID string `json:"lock_source_id"` LockScene string `json:"lock_scene"` VirtualEnvType string `json:"virtual_env_type"` }
Metadata is only used for method that requests details on a single server, by ID. Because metadata struct must be a map.
type NewCloudServer ¶
type NewCloudServer struct { CloudServer Metadata map[string]string `json:"metadata"` }
NewCloudServer defines the response from details on a single server, by ID.
type OrderResponse ¶
type OrderResponse struct {
OrderID string `json:"order_id"`
}
type OrderResult ¶
type OrderResult struct {
golangsdk.Result
}
func CreatePrePaid ¶
func CreatePrePaid(client *golangsdk.ServiceClient, opts CreateOptsBuilder) (r OrderResult)
CreatePrePaid requests a server to be provisioned to the user in the current tenant.
func (OrderResult) ExtractOrderResponse ¶
func (r OrderResult) ExtractOrderResponse() (*OrderResponse, error)
func (OrderResult) ExtractOrderStatus ¶
func (r OrderResult) ExtractOrderStatus() (*OrderStatus, error)
type OrderStatus ¶
type OsSchedulerHints ¶
type OsSchedulerHints struct {
Group []string `json:"group"`
}
type RootVolume ¶
type RootVolume struct { VolumeType string `json:"volumetype" required:"true"` Size int `json:"size,omitempty"` ExtendParam *VolumeExtendParam `json:"extendparam,omitempty"` }
type SchedulerHints ¶
type SecurityGroup ¶
type SecurityGroup struct {
ID string `json:"id" required:"true"`
}
type SecurityGroups ¶
type SecurityGroups struct {
Name string `json:"name"`
}
type ServerExtendParam ¶
type ServerExtendParam struct { ChargingMode string `json:"chargingMode,omitempty"` RegionID string `json:"regionID,omitempty"` PeriodType string `json:"periodType,omitempty"` PeriodNum int `json:"periodNum,omitempty"` IsAutoRenew string `json:"isAutoRenew,omitempty"` IsAutoPay string `json:"isAutoPay,omitempty"` EnterpriseProjectId string `json:"enterprise_project_id,omitempty"` SupportAutoRecovery string `json:"support_auto_recovery,omitempty"` }
type ServerTags ¶
type SubJob ¶
type SubJob struct { // Specifies the task ID. Id string `json:"job_id"` // Task type. Type string `json:"job_type"` //Specifies the task status. // SUCCESS: indicates the task is successfully executed. // RUNNING: indicates that the task is in progress. // FAIL: indicates that the task failed. // INIT: indicates that the task is being initialized. Status string `json:"status"` // Specifies the time when the task started. BeginTime string `json:"begin_time"` // Specifies the time when the task finished. EndTime string `json:"end_time"` // Specifies the returned error code when the task execution fails. ErrorCode string `json:"error_code"` // Specifies the cause of the task execution failure. FailReason string `json:"fail_reason"` // Specifies the object of the task. Entities map[string]string `json:"entities"` }
type VolumeAttached ¶
type VolumeExtendParam ¶
type VolumeExtendParam struct {
SnapshotId string `json:"snapshotId,omitempty"`
}