Help us shape the future of Go! Take the 2026 Go Developer Survey

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