protectedinstances

package
v0.5.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2022 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetJobEntity

func GetJobEntity(client *golangsdk.ServiceClient, jobID string, label string) (interface{}, error)

func List added in v0.3.1

func List(c *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager

func WaitForJobSuccess

func WaitForJobSuccess(client *golangsdk.ServiceClient, secs int, jobID string) error

Types

type Attachment

type Attachment struct {
	// Replication ID
	Replication string `json:"replication"`
	// Device Name
	Device string `json:"device"`
}

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

type CreateOptsBuilder interface {
	ToInstanceCreateMap() (map[string]interface{}, error)
}

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

type DeleteOptsBuilder interface {
	ToInstanceDeleteMap() (map[string]interface{}, error)
}

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.

func Get

func Get(c *golangsdk.ServiceClient, id string) (r GetResult)

Get retrieves a particular Instance based on its unique ID.

func (GetResult) Extract

func (r GetResult) Extract() (*Instance, error)

Extract is a function that accepts a result and extracts 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 JobEntity

type JobEntity struct {
	InstanceID string   `json:"protected_instance_id"`
	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(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

func (r JobResult) ExtractJobStatus() (*JobStatus, error)

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

func (opts ListOpts) ToInstanceListQuery() (string, error)

type ListOptsBuilder added in v0.3.1

type ListOptsBuilder interface {
	ToInstanceListQuery() (string, error)
}

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 Tags added in v0.3.1

type Tags struct {
	Key   string `json:"key,omitempty"`
	Value string `json:"value,omitempty"`
}

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

type UpdateOptsBuilder interface {
	ToInstanceUpdateMap() (map[string]interface{}, error)
}

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

func (UpdateResult) Extract

func (r UpdateResult) Extract() (*Instance, error)

Extract is a function that accepts a result and extracts a instance.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL