Documentation
¶
Index ¶
- func GetJobEntity(client *golangsdk.ServiceClient, jobID string, label string) (interface{}, error)
- func List(c *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager
- func WaitForJobSuccess(client *golangsdk.ServiceClient, secs int, jobID string) error
- type Attachment
- type CreateOpts
- type CreateOptsBuilder
- type DeleteOpts
- type DeleteOptsBuilder
- type GetResult
- type Instance
- type InstancePage
- type JobEntity
- type JobResponse
- type JobResult
- type JobStatus
- type ListOpts
- type ListOptsBuilder
- type SubJob
- type Tags
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetJobEntity ¶
func List ¶ added in v0.3.1
func List(c *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager
func WaitForJobSuccess ¶
Types ¶
type Attachment ¶
type CreateOpts ¶
type CreateOpts struct {
// Group ID
GroupID string `json:"server_group_id" required:"true"`
// Server ID
ServerID string `json:"server_id" required:"true"`
// Instance Name
Name string `json:"name" required:"true"`
// Instance Description
Description string `json:"description,omitempty"`
// Cluster ID
ClusterID string `json:"cluster_id,omitempty"`
// Subnet ID
SubnetID string `json:"primary_subnet_id,omitempty"`
// IP Address
IpAddress string `json:"primary_ip_address,omitempty"`
// Flavor ID of the DR site server
Flavor string `json:"flavorRef,omitempty"`
// Tags list
Tags []Tags `json:"tags,omitempty"`
}
CreateOpts contains all the values needed to create a new instance.
func (CreateOpts) ToInstanceCreateMap ¶
func (opts CreateOpts) ToInstanceCreateMap() (map[string]interface{}, error)
ToInstanceCreateMap builds a create request body from CreateOpts.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional parameters to the Create request.
type DeleteOpts ¶
type DeleteOpts struct {
// Delete Target Server
DeleteTargetServer *bool `json:"delete_target_server,omitempty"`
// Delete Target Eip
DeleteTargetEip *bool `json:"delete_target_eip,omitempty"`
}
DeleteOpts contains all the values needed to delete an Instance.
func (DeleteOpts) ToInstanceDeleteMap ¶
func (opts DeleteOpts) ToInstanceDeleteMap() (map[string]interface{}, error)
ToInstanceDeleteMap builds a update request body from DeleteOpts.
type DeleteOptsBuilder ¶
DeleteOptsBuilder allows extensions to add additional parameters to the Delete request.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult represents the result of a get operation. Call its Extract method to interpret it as a Instance.
type Instance ¶
type Instance struct {
// Instance ID
ID string `json:"id"`
// Instance Name
Name string `json:"name"`
// Instance Description
Description string `json:"description"`
// Protection Group ID
GroupID string `json:"server_group_id"`
// Instance Status
Status string `json:"status"`
// Instance Progress
Progress int `json:"progress"`
// Source Server
SourceServer string `json:"source_server"`
// Target Server
TargetServer string `json:"target_server"`
// Instance CreatedAt time
CreatedAt string `json:"created_at"`
// Instance UpdatedAt time
UpdatedAt string `json:"updated_at"`
// Production site AZ of the protection group containing the protected instance.
PriorityStation string `json:"priority_station"`
// Attachment
Attachment []Attachment `json:"attachment"`
// Tags list
Tags []Tags `json:"tags"`
// Metadata
Metadata map[string]string `json:"metadata"`
}
func ExtractInstances ¶ added in v0.3.1
func ExtractInstances(r pagination.Page) ([]Instance, error)
ExtractInstances interprets the results of a single page from a List() API call, producing a slice of []Instance structures.
type InstancePage ¶ added in v0.3.1
type InstancePage struct {
pagination.SinglePageBase
}
InstancePage is a struct which can do the page function
func (InstancePage) IsEmpty ¶ added in v0.3.1
func (r InstancePage) IsEmpty() (bool, error)
IsEmpty determines whether or not a InstancePage is empty.
type JobResponse ¶
type JobResponse struct {
JobID string `json:"job_id"`
}
type JobResult ¶
type JobResult struct {
golangsdk.Result
}
func Create ¶
func Create(c *golangsdk.ServiceClient, opts CreateOptsBuilder) (r JobResult)
Create will create a new Instance based on the values in CreateOpts.
func Delete ¶
func Delete(c *golangsdk.ServiceClient, id string, opts DeleteOptsBuilder) (r JobResult)
Delete will permanently delete a particular Instance based on its unique ID.
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"`
Message string `json:"message"`
Code string `json:"code"`
}
type ListOpts ¶ added in v0.3.1
type ListOpts struct {
ServerGroupID string `q:"server_group_id"`
ServerGroupIDs []string `q:"server_group_ids"`
ProtectedInstanceIDs []string `q:"protected_instance_ids"`
Limit int `q:"limit"`
Offset int `q:"offset"`
Status string `q:"status"`
Name string `q:"name"`
QueryType string `q:"query_type"`
AvailabilityZone string `q:"availability_zone"`
}
func (ListOpts) ToInstanceListQuery ¶ added in v0.3.1
type ListOptsBuilder ¶ added in v0.3.1
type SubJob ¶ added in v0.3.1
type SubJob struct {
// Specifies the task ID.
ID string `json:"job_id"`
// Task type.
Type string `json:"job_type"`
// Specifies the task status.
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 UpdateOpts ¶
type UpdateOpts struct {
// Instance name
Name string `json:"name" required:"true"`
}
UpdateOpts contains all the values needed to update an Instance.
func (UpdateOpts) ToInstanceUpdateMap ¶
func (opts UpdateOpts) ToInstanceUpdateMap() (map[string]interface{}, error)
ToInstanceUpdateMap builds a update request body from UpdateOpts.
type UpdateOptsBuilder ¶
UpdateOptsBuilder allows extensions to add additional parameters to the Update request.
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
UpdateResult represents the result of a update operation. Call its Extract method to interpret it as a Instance.
func Update ¶
func Update(c *golangsdk.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)
Update accepts a UpdateOpts struct and uses the values to update an Instance.The response code from api is 200