instances

package
v0.0.0-...-d823fe1 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2021 License: Apache-2.0 Imports: 3 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func List

Types

type CreateOps

type CreateOps struct {
	// Indicates the name of an instance.
	// An instance name starts with a letter,
	// consists of 4 to 64 characters, and supports
	// only letters, digits, hyphens (-), and underscores (_).
	Name string `json:"name" required:"true"`

	// Indicates the description of an instance.
	// It is a character string containing not more than 1024 characters.
	Description string `json:"description,omitempty"`

	// Indicates a message engine.
	Engine string `json:"engine" required:"true"`

	// Indicates the version of a message engine.
	EngineVersion string `json:"engine_version" required:"true"`

	// Indicates the message storage space.
	StorageSpace int `json:"storage_space" required:"true"`

	// Indicates a username.
	// A username consists of 1 to 64 characters
	// and supports only letters, digits, and hyphens (-).
	AccessUser string `json:"access_user" required:"true"`

	// Indicates the password of an instance.
	// An instance password must meet the following complexity requirements:
	// Must be 6 to 32 characters long.
	// Must contain at least two of the following character types:
	// Lowercase letters
	// Uppercase letters
	// Digits
	// Special characters (`~!@#$%^&*()-_=+\|[{}]:'",<.>/?)
	Password string `json:"password" required:"true"`

	// Indicates the ID of a VPC.
	VPCID string `json:"vpc_id" required:"true"`

	// Indicates the ID of a security group.
	SecurityGroupID string `json:"security_group_id" required:"true"`

	// Indicates the ID of a subnet.
	SubnetID string `json:"subnet_id" required:"true"`

	// Indicates the ID of an AZ.
	// The parameter value can be left blank or an empty array.
	AvailableZones []string `json:"available_zones" required:"true"`

	// Indicates a product ID.
	ProductID string `json:"product_id" required:"true"`

	// Indicates the time at which a maintenance time window starts.
	// Format: HH:mm:ss
	MaintainBegin string `json:"maintain_begin,omitempty"`

	// Indicates the time at which a maintenance time window ends.
	// Format: HH:mm:ss
	MaintainEnd string `json:"maintain_end,omitempty"`

	// Indicates whether to open the public network access function. Default to false.
	EnablePublicIP bool `json:"enable_publicip,omitempty"`

	// Indicates the ID of the Elastic IP address bound to the instance.
	PublicIpID string `json:"publicip_id,omitempty"`

	// Indicates whether to enable SSL-encrypted access.
	SslEnable bool `json:"ssl_enable,omitempty"`

	//Indicates the storage I/O specification. For details on how to select a disk type
	StorageSpecCode string `json:"storage_spec_code" required:"true"`

	// Indicates the enterprise project ID.
	EnterpriseProjectID string `json:"enterprise_project_id,omitempty"`

	// Indicates the tags of the instance
	Tags []tags.ResourceTag `json:"tags,omitempty"`
}

CreateOps is a struct that contains all the parameters.

func (CreateOps) ToInstanceCreateMap

func (ops CreateOps) ToInstanceCreateMap() (map[string]interface{}, error)

ToInstanceCreateMap is used for type convert

type CreateOpsBuilder

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

CreateOpsBuilder is used for creating instance parameters. any struct providing the parameters should implement this interface

type CreateResult

type CreateResult struct {
	golangsdk.Result
}

CreateResult is a struct that contains all the return parameters of creation

func Create

func Create(client *golangsdk.ServiceClient, ops CreateOpsBuilder) (r CreateResult)

Create an instance with given parameters.

func (CreateResult) Extract

func (r CreateResult) Extract() (*InstanceCreate, error)

Extract from CreateResult

type DeleteResult

type DeleteResult struct {
	golangsdk.ErrResult
}

DeleteResult is a struct which contains the result of deletion

func Delete

func Delete(client *golangsdk.ServiceClient, id string) (r DeleteResult)

Delete an instance by id

type GetResult

type GetResult struct {
	golangsdk.Result
}

GetResult contains the body of getting detailed

func Get

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

Get a instance with detailed information by id

func (GetResult) Extract

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

Extract from GetResult

type Instance

type Instance struct {
	Name                     string             `json:"name"`
	Description              string             `json:"description"`
	Engine                   string             `json:"engine"`
	EngineVersion            string             `json:"engine_version"`
	Specification            string             `json:"specification"`
	StorageSpace             int                `json:"storage_space"`
	UsedStorageSpace         int                `json:"used_storage_space"`
	ConnectAddress           string             `json:"connect_address"`
	Port                     int                `json:"port"`
	Status                   string             `json:"status"`
	InstanceID               string             `json:"instance_id"`
	ResourceSpecCode         string             `json:"resource_spec_code"`
	ChargingMode             int                `json:"charging_mode"`
	VPCID                    string             `json:"vpc_id"`
	VPCName                  string             `json:"vpc_name"`
	CreatedAt                string             `json:"created_at"`
	UserID                   string             `json:"user_id"`
	UserName                 string             `json:"user_name"`
	OrderID                  string             `json:"order_id"`
	MaintainBegin            string             `json:"maintain_begin"`
	MaintainEnd              string             `json:"maintain_end"`
	EnablePublicIP           bool               `json:"enable_publicip"`
	PublicIPAddress          string             `json:"publicip_address"`
	PublicIPID               string             `json:"publicip_id"`
	ManagementConnectAddress string             `json:"management_connect_address"`
	SslEnable                bool               `json:"ssl_enable"`
	EnterpriseProjectID      string             `json:"enterprise_project_id"`
	IsLogicalVolume          bool               `json:"is_logical_volume"`
	ExtendTimes              int                `json:"extend_times"`
	Type                     string             `json:"type"`
	ProductID                string             `json:"product_id"`
	SecurityGroupID          string             `json:"security_group_id"`
	SecurityGroupName        string             `json:"security_group_name"`
	SubnetID                 string             `json:"subnet_id"`
	AvailableZones           []string           `json:"available_zones"`
	TotalStorageSpace        int                `json:"total_storage_space"`
	StorageResourceID        string             `json:"storage_resource_id"`
	StorageSpecCode          string             `json:"storage_spec_code"`
	Ipv6Enable               bool               `json:"ipv6_enable"`
	Ipv6ConnectAddresses     []string           `json:"ipv6_connect_addresses"`
	ServiceType              string             `json:"service_type"`
	StorageType              string             `json:"storage_type"`
	PublicBoundWidth         int                `json:"public_boundwidth"`
	EnableLogCollect         bool               `json:"enable_log_collection"`
	ConnectorEnalbe          bool               `json:"connector_enable"`
	ConnectorID              string             `json:"connector_id"`
	RestEnable               bool               `json:"rest_enable"`
	RestConnectAddress       string             `json:"rest_connect_address"`
	MessageQueryInstEnable   bool               `json:"message_query_inst_enable"`
	VpcClientPlain           bool               `json:"vpc_client_plain"`
	SupportFeatures          string             `json:"support_features"`
	TraceEnable              bool               `json:"trace_enable"`
	DiskEncrypted            bool               `json:"disk_encrypted"`
	CesVersion               string             `json:"ces_version"`
	AccessUser               string             `json:"access_user"`
	Tags                     []tags.ResourceTag `json:"tags"`
}

Instance response

type InstanceCreate

type InstanceCreate struct {
	InstanceID string `json:"instance_id"`
}

InstanceCreate response

type ListOpsBuilder

type ListOpsBuilder interface {
	ToListDetailQuery() (string, error)
}

type ListOpts

type ListOpts struct {
	InstanceId          string `q:"instance_id"`
	Name                string `q:"name"`
	Engine              string `q:"engine"`
	Status              string `q:"status"`
	IncludeFailure      string `q:"include_failure"`
	ExactMatchName      string `q:"exact_match_name"`
	EnterpriseProjectID string `q:"enterprise_project_id"`
}

func (ListOpts) ToListDetailQuery

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

type ListResponse

type ListResponse struct {
	Instances  []Instance `json:"instances"`
	TotalCount int        `json:"instance_num"`
}

func ExtractInstances

func ExtractInstances(r pagination.Page) (ListResponse, error)

ExtractCloudServers is a function that takes a ListResult and returns the services' information.

type Page

type Page struct {
	pagination.SinglePageBase
}

func (Page) IsEmpty

func (r Page) IsEmpty() (bool, error)

type UpdateOpts

type UpdateOpts struct {
	// Indicates the name of an instance.
	// An instance name starts with a letter,
	// consists of 4 to 64 characters,
	// and supports only letters, digits, and hyphens (-).
	Name string `json:"name,omitempty"`

	// Indicates the description of an instance.
	// It is a character string containing not more than 1024 characters.
	Description *string `json:"description,omitempty"`

	// Indicates the time at which a maintenance time window starts.
	// Format: HH:mm:ss
	MaintainBegin string `json:"maintain_begin,omitempty"`

	// Indicates the time at which a maintenance time window ends.
	// Format: HH:mm:ss
	MaintainEnd string `json:"maintain_end,omitempty"`

	// Indicates the ID of a security group.
	SecurityGroupID string `json:"security_group_id,omitempty"`

	// Indicates whether to open the public network access function. Default to false.
	EnablePublicIP *bool `json:"enable_publicip,omitempty"`

	// Indicates the ID of the Elastic IP address bound to the instance.
	PublicIpID string `json:"publicip_id,omitempty"`

	// Indicates the enterprise project ID.
	EnterpriseProjectID string `json:"enterprise_project_id,omitempty"`
}

UpdateOpts is a struct which represents the parameters of update function

func (UpdateOpts) ToInstanceUpdateMap

func (opts UpdateOpts) ToInstanceUpdateMap() (map[string]interface{}, error)

ToInstanceUpdateMap is used for type convert

type UpdateOptsBuilder

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

UpdateOptsBuilder is an interface which can build the map paramter of update function

type UpdateResult

type UpdateResult struct {
	golangsdk.Result
}

UpdateResult is a struct from which can get the result of update method

func Update

func Update(client *golangsdk.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)

Update is a method which can be able to update the instance via accessing to the service with Put method and parameters

Jump to

Keyboard shortcuts

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