server

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: May 7, 2024 License: MPL-2.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ErrNotFound             error2.ErrorCode = "SERVER_NOT_FOUND"
	ErrUnknown              error2.ErrorCode = "SERVER_UNKNOWN_ERROR"
	ErrDeleteCreatingServer error2.ErrorCode = "DELETE_CREATING_SERVER"
)

Variables

This section is empty.

Functions

func List

func UpdateSecGroups added in v1.0.0

func UpdateSecGroups(sc *client.ServiceClient, opts IUpdateSecGroupsOptsBuilder) (*objects.Server, error)

Types

type CreateOpts

type CreateOpts struct {
	AttachFloating         bool                   `json:"attachFloating,omitempty"`
	BackupInstancePointId  string                 `json:"backupInstancePointId,omitempty"`
	DataDiskEncryptionType DataDiskEncryptionType `json:"dataDiskEncryptionType,omitempty"`
	DataDiskName           string                 `json:"dataDiskName,omitempty"`
	DataDiskSize           int                    `json:"dataDiskSize,omitempty"`
	DataDiskTypeId         string                 `json:"dataDiskTypeId,omitempty"`
	EnableBackup           bool                   `json:"enableBackup,omitempty"`
	EncryptionVolume       bool                   `json:"encryptionVolume"`
	ExpirePassword         bool                   `json:"expirePassword,omitempty"`
	FlavorId               string                 `json:"flavorId"`
	ImageId                string                 `json:"imageId"`
	Name                   string                 `json:"name"`
	NetworkId              string                 `json:"networkId"`
	OsLicence              bool                   `json:"osLicence,omitempty"`
	RestoreBackup          bool                   `json:"restoreBackup,omitempty"`
	RootDiskEncryptionType DataDiskEncryptionType `json:"rootDiskEncryptionType,omitempty"`
	RootDiskSize           int                    `json:"rootDiskSize"`
	RootDiskTypeId         string                 `json:"rootDiskTypeId"`
	SecurityGroup          []string               `json:"securityGroup,omitempty"`
	ServerGroupId          string                 `json:"serverGroupId,omitempty"`
	SshKeyId               string                 `json:"sshKeyId,omitempty"`
	SubnetId               string                 `json:"subnetId"`
	UserData               string                 `json:"userData,omitempty"`
	UserDataBase64Encoded  bool                   `json:"userDataBase64Encoded,omitempty"`
	UserName               string                 `json:"userName,omitempty"`
	UserPassword           string                 `json:"userPassword,omitempty"`
	IsPoc                  bool                   `json:"isPoc,omitempty"`
	Product                string                 `json:"product,omitempty"`
	Type                   string                 `json:"type,omitempty"`

	common.CommonOpts
}

func (*CreateOpts) ToRequestBody

func (s *CreateOpts) ToRequestBody() interface{}

type CreateResponse

type CreateResponse struct {
	Data Server `json:"data"`
}

func NewCreateResponse

func NewCreateResponse() *CreateResponse

func (*CreateResponse) ToServerObject

func (s *CreateResponse) ToServerObject() *objects.Server

type DataDiskEncryptionType

type DataDiskEncryptionType string
const (
	DataDiskEncryptionAesXtsType DataDiskEncryptionType = "aes-xts-plain64_256"
)

type DeleteOpts

type DeleteOpts struct {
	DeleteAllVolume bool `json:"deleteAllVolume"`

	common.CommonOpts
	lServerV2.ServerV2Common
}

func (*DeleteOpts) ToRequestBody

func (s *DeleteOpts) ToRequestBody() interface{}

type Flavor

type Flavor struct {
	Bandwidth              int64  `json:"bandwidth"`
	BandwidthUnit          string `json:"bandwidthUnit"`
	Cpu                    int64  `json:"cpu"`
	CpuPlatformDescription string `json:"cpuPlatformDescription"`
	FlavorId               string `json:"flavorId"`
	Gpu                    int64  `json:"gpu"`
	Group                  string `json:"group"`
	Memory                 int64  `json:"memory"`
	MetaData               string `json:"metaData"`
	Name                   string `json:"name"`
	RemainingVms           int64  `json:"remainingVms"`
	ZoneId                 string `json:"zoneId"`
}

type GetOpts

type GetOpts struct {
	common.CommonOpts
	lServerV2.ServerV2Common
}

type GetResponse

type GetResponse struct {
	Data Server `json:"data"`
}

func NewGetResponse

func NewGetResponse() *GetResponse

func (*GetResponse) ToServerObject

func (s *GetResponse) ToServerObject() *objects.Server

type ICreateOptsBuilder

type ICreateOptsBuilder interface {
	GetProjectID() string
	ToRequestBody() interface{}
}

func NewCreateOpts

func NewCreateOpts(pProjectID string, pOpts *CreateOpts) ICreateOptsBuilder

type ICreateResponse

type ICreateResponse interface {
	ToServerObject() *objects.Server
}

type IDeleteOptsBuilder

type IDeleteOptsBuilder interface {
	GetServerID() string
	GetProjectID() string
	ToRequestBody() interface{}
}

func NewDeleteOpts

func NewDeleteOpts(pProjectID, pServerID string, pDeleteAllVolume bool) IDeleteOptsBuilder

type IGetOptsBuilder

type IGetOptsBuilder interface {
	GetServerID() string
	GetProjectID() string
}

func NewGetOpts

func NewGetOpts(pProjectID, pServerID string) IGetOptsBuilder

type IGetResponse

type IGetResponse interface {
	ToServerObject() *objects.Server
}

type IListOptsBuilder

type IListOptsBuilder interface {
	GetProjectID() string
	ToListQuery() (string, error)
}

func NewListOpts

func NewListOpts(pProjectID, pName string, pPage, pSize int) IListOptsBuilder

type IListResponse

type IListResponse interface {
	ToServerList() ([]*objects.Server, error)
}

type IUpdateSecGroupsOptsBuilder added in v1.0.0

type IUpdateSecGroupsOptsBuilder interface {
	GetServerID() string
	GetProjectID() string
	ToRequestBody() interface{}
}

func NewUpdateSecGroupsOpts added in v1.0.0

func NewUpdateSecGroupsOpts(pProjectID, pServerID string, securityGroups []string) IUpdateSecGroupsOptsBuilder

type IUpdateSecGroupsResponse added in v1.0.0

type IUpdateSecGroupsResponse interface {
	ToServerObject() *objects.Server
}

type Image

type Image struct {
	FlavorZoneIds []string     `json:"flavorZoneIds"`
	Id            string       `json:"id"`
	ImageType     string       `json:"imageType"`
	ImageVersion  string       `json:"imageVersion"`
	Licence       bool         `json:"licence"`
	PackageLimit  PackageLimit `json:"packageLimit"`
}

type ListOpts

type ListOpts struct {
	Page int    `q:"page"`
	Size int    `q:"size"`
	Name string `q:"name"`

	common.CommonOpts
}

func (*ListOpts) ToListQuery

func (s *ListOpts) ToListQuery() (string, error)

type ListResponse

type ListResponse struct {
	Data      []Server `json:"listData"`
	Page      int      `json:"page"`
	PageSize  int      `json:"pageSize"`
	TotalPage int      `json:"totalPage"`
	TotalItem int      `json:"totalItem"`
}

func NewListResponse

func NewListResponse() *ListResponse

func (*ListResponse) ToServerList

func (s *ListResponse) ToServerList() ([]*objects.Server, error)

type NetworkInterface

type NetworkInterface struct {
	CreatedAt     string `json:"createdAt"`
	FixedIp       string `json:"fixedIp"`
	FloatingIp    string `json:"floatingIp"`
	FloatingIpId  string `json:"floatingIpId"`
	InterfaceType string `json:"interfaceType"`
	Mac           string `json:"mac"`
	NetworkUuid   string `json:"networkUuid"`
	PortUuid      string `json:"portUuid"`
	Product       string `json:"product"`
	ServerUuid    string `json:"serverUuid"`
	Status        string `json:"status"`
	SubnetUuid    string `json:"subnetUuid"`
	Type          string `json:"type"`
	UpdatedAt     string `json:"updatedAt"`
	Uuid          string `json:"uuid"`
}

type PackageLimit

type PackageLimit struct {
	Cpu      int64 `json:"cpu"`
	DiskSize int64 `json:"diskSize"`
	Memory   int64 `json:"memory"`
}

type Server

type Server struct {
	BootVolumeId       string             `json:"bootVolumeId"`
	CreatedAt          string             `json:"createdAt"`
	EncryptionVolume   bool               `json:"encryptionVolume"`
	Licence            bool               `json:"licence"`
	Location           string             `json:"location"`
	Metadata           string             `json:"metadata"`
	MigrateState       string             `json:"migrateState"`
	Name               string             `json:"name"`
	Product            string             `json:"product"`
	ServerGroupId      string             `json:"serverGroupId"`
	ServerGroupName    string             `json:"serverGroupName"`
	SshKeyName         string             `json:"sshKeyName"`
	Status             string             `json:"status"`
	StopBeforeMigrate  bool               `json:"stopBeforeMigrate"`
	User               string             `json:"user"`
	Uuid               string             `json:"uuid"`
	Image              Image              `json:"image"`
	Flavor             Flavor             `json:"flavor"`
	SecGroups          []ServerSecGroup   `json:"secGroups"`
	ExternalInterfaces []NetworkInterface `json:"externalInterfaces"`
	InternalInterfaces []NetworkInterface `json:"internalInterfaces"`
}

type ServerSecGroup

type ServerSecGroup struct {
	Name string `json:"name"`
	Uuid string `json:"uuid"`
}

type UpdateSecGroupsOpts added in v1.0.0

type UpdateSecGroupsOpts struct {
	SecurityGroup []string `json:"securityGroup"`

	common.CommonOpts
	lServerV2.ServerV2Common
}

func (*UpdateSecGroupsOpts) ToRequestBody added in v1.0.0

func (s *UpdateSecGroupsOpts) ToRequestBody() interface{}

type UpdateSecGroupsResponse added in v1.0.0

type UpdateSecGroupsResponse struct {
	Data Server `json:"data"`
}

func NewUpdateSecGroupsResponse added in v1.0.0

func NewUpdateSecGroupsResponse() *UpdateSecGroupsResponse

func (*UpdateSecGroupsResponse) ToServerObject added in v1.0.0

func (s *UpdateSecGroupsResponse) ToServerObject() *objects.Server

Jump to

Keyboard shortcuts

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