Documentation
¶
Index ¶
- func List(client *golangsdk.ServiceClient, opts ListOpsBuilder) pagination.Pager
- type CreateOps
- type CreateOpsBuilder
- type CreateResult
- type DeleteResult
- type GetResult
- type Instance
- type InstanceCreate
- type ListOpsBuilder
- type ListOpts
- type ListResponse
- type Page
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *golangsdk.ServiceClient, opts ListOpsBuilder) pagination.Pager
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 ¶
ToInstanceCreateMap is used for type convert
type CreateOpsBuilder ¶
CreateOpsBuilder is used for creating instance parameters. any struct providing the parameters should implement this interface
type CreateResult ¶
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 ¶
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 ¶
GetResult contains the body of getting detailed
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 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 ¶
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
}
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 ¶
UpdateOptsBuilder is an interface which can build the map paramter of update function
type UpdateResult ¶
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