Documentation
¶
Index ¶
- type AddonsInfo
- type ClusterHandler
- type ClusterInfo
- type ClusterStatus
- type DiskHandler
- type DiskInfo
- type DiskStatus
- type GpuInfo
- type HealthCheckerInfo
- type HealthInfo
- type IID
- type ImageHandler
- type ImageInfo
- type ImageReqInfo
- type ImageType
- type KeyPairHandler
- type KeyPairInfo
- type KeyPairReqInfo
- type KeyValue
- type ListenerInfo
- type MyImageHandler
- type MyImageInfo
- type MyImageStatus
- type NLBHandler
- type NLBInfo
- type NetworkInfo
- type NodeGroupInfo
- type NodeGroupStatus
- type RegionInfo
- type SecurityHandler
- type SecurityInfo
- type SecurityReqInfo
- type SecurityRuleInfo
- type SubnetInfo
- type VCpuInfo
- type VMGroupInfo
- type VMHandler
- type VMInfo
- type VMReqInfo
- type VMSpecHandler
- type VMSpecInfo
- type VMStatus
- type VMStatusInfo
- type VPCHandler
- type VPCInfo
- type VPCReqInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddonsInfo ¶ added in v0.6.3
type AddonsInfo struct {
KeyValueList []KeyValue
}
CNI, DNS, .... @todo
type ClusterHandler ¶ added in v0.6.3
type ClusterHandler interface {
//------ Cluster Management
CreateCluster(clusterReqInfo ClusterInfo, nodeReqInfo NodeGroupInfo) (ClusterInfo, error)
ListCluster() ([]*ClusterInfo, error)
GetCluster(clusterIID IID) (ClusterInfo, error)
DeleteCluster(clusterIID IID) (bool, error)
//------ NodeGroup Management
AddNodeGroup(clusterIID IID, nodeGroupReqInfo NodeGroupInfo) (NodeGroupInfo, error)
ListNodeGroup(clusterIID IID) ([]*NodeGroupInfo, error)
GetNodeGroup(clusterIID IID, nodeGroupIID IID) (NodeGroupInfo, error)
ChangeNodeGroupScaling(clusterIID IID, nodeGroupIID IID,
DesiredNodeSize int, MinNodeSize int, MaxNodeSize int) (NodeGroupInfo, error)
RemoveNodeGroup(clusterIID IID, nodeGroupIID IID) (bool, error)
//------ Upgrade K8S
UpgradeCluster(clusterIID IID, newVersion string) (ClusterInfo, error)
}
-------- Cluster API
type ClusterInfo ¶ added in v0.6.3
type ClusterInfo struct {
IId IID // {NameId, SystemId}
Version string // Kubernetes Version, ex) 1.23.3
Network NetworkInfo
NodeGroupList []NodeGroupInfo
Addons AddonsInfo
Status ClusterStatus
CreatedTime time.Time
KeyValueList []KeyValue
}
-------- Info Structure
type ClusterStatus ¶ added in v0.6.3
type ClusterStatus string
-------- Const
const ( ClusterCreating ClusterStatus = "Creating" ClusterActive ClusterStatus = "Active" ClusterInactive ClusterStatus = "Inactive" ClusterUpdating ClusterStatus = "Updating" ClusterDeleting ClusterStatus = "Deleting" )
type DiskHandler ¶ added in v0.6.4
type DiskHandler interface {
//------ Disk Management
CreateDisk(DiskReqInfo DiskInfo) (DiskInfo, error)
ListDisk() ([]*DiskInfo, error)
GetDisk(diskIID IID) (DiskInfo, error)
ChangeDiskSize(diskIID IID, size string) (bool, error)
DeleteDisk(diskIID IID) (bool, error)
//------ Disk Attachment
AttachDisk(diskIID IID, ownerVM IID) (DiskInfo, error)
DetachDisk(diskIID IID, ownerVM IID) (bool, error)
}
-------- Disk API
type DiskInfo ¶ added in v0.6.4
type DiskInfo struct {
IId IID // {NameId, SystemId}
DiskType string // "", "SSD(gp2)", "Premium SSD", ...
DiskSize string // "", "default", "50", "1000" # (GB)
Status DiskStatus // DiskCreating | DiskAvailable | DiskAttached | DiskDeleting | DiskError
OwnerVM IID // When the Status is DiskAttached
CreatedTime time.Time
KeyValueList []KeyValue
}
-------- Info Structure
type DiskStatus ¶ added in v0.6.4
type DiskStatus string
-------- Const
const ( DiskCreating DiskStatus = "Creating" DiskAvailable DiskStatus = "Available" DiskAttached DiskStatus = "Attached" DiskDeleting DiskStatus = "Deleting" DiskError DiskStatus = "Error" )
type HealthCheckerInfo ¶ added in v0.5.5
type HealthCheckerInfo struct {
Protocol string // TCP|HTTP
Port string // Listener Port or 1-65535
Interval int // secs, Interval time between health checks.
Timeout int // secs, Waiting time to decide an unhealthy VM when no response.
Threshold int // num, The number of continuous health checks to change the VM status.
CspID string // Optional, May be Used by Driver.
KeyValueList []KeyValue
}
type HealthInfo ¶ added in v0.5.6
type ImageHandler ¶
type ImageReqInfo ¶
type ImageReqInfo struct {
IId IID // {NameId, SystemId}
}
type KeyPairHandler ¶
type KeyPairHandler interface {
CreateKey(keyPairReqInfo KeyPairReqInfo) (KeyPairInfo, error)
ListKey() ([]*KeyPairInfo, error)
GetKey(keyIID IID) (KeyPairInfo, error)
DeleteKey(keyIID IID) (bool, error)
}
type KeyPairInfo ¶
type KeyPairReqInfo ¶
type KeyPairReqInfo struct {
IId IID // {NameId, SystemId}
}
type ListenerInfo ¶ added in v0.5.5
type MyImageHandler ¶ added in v0.6.5
type MyImageHandler interface {
//------ Snapshot to create a MyImage
SnapshotVM(snapshotReqInfo MyImageInfo) (MyImageInfo, error)
//------ MyImage Management
ListMyImage() ([]*MyImageInfo, error)
GetMyImage(myImageIID IID) (MyImageInfo, error)
DeleteMyImage(myImageIID IID) (bool, error)
}
-------- MyImage API
type MyImageInfo ¶ added in v0.6.5
type MyImageInfo struct {
IId IID // {NameId, SystemId}
SourceVM IID
Status MyImageStatus // Creating | Available | Deleting
CreatedTime time.Time
KeyValueList []KeyValue
}
-------- Info Structure
type MyImageStatus ¶ added in v0.6.5
type MyImageStatus string
-------- Const
const ( MyImageAvailable MyImageStatus = "Available" )
type NLBHandler ¶ added in v0.5.5
type NLBHandler interface {
//------ NLB Management
CreateNLB(nlbReqInfo NLBInfo) (NLBInfo, error)
ListNLB() ([]*NLBInfo, error)
GetNLB(nlbIID IID) (NLBInfo, error)
DeleteNLB(nlbIID IID) (bool, error)
GetVMGroupHealthInfo(nlbIID IID) (HealthInfo, error)
AddVMs(nlbIID IID, vmIIDs *[]IID) (VMGroupInfo, error)
RemoveVMs(nlbIID IID, vmIIDs *[]IID) (bool, error)
//------ Frontend Control
ChangeListener(nlbIID IID, listener ListenerInfo) (ListenerInfo, error)
//------ Backend Control
ChangeVMGroupInfo(nlbIID IID, vmGroup VMGroupInfo) (VMGroupInfo, error)
ChangeHealthCheckerInfo(nlbIID IID, healthChecker HealthCheckerInfo) (HealthCheckerInfo, error)
}
-------- API
type NLBInfo ¶ added in v0.5.5
type NLBInfo struct {
IId IID // {NameId, SystemId}
VpcIID IID // {NameId, SystemId}
Type string // PUBLIC(V) | INTERNAL
Scope string // REGION(V) | GLOBAL
//------ Frontend
Listener ListenerInfo
//------ Backend
VMGroup VMGroupInfo
HealthChecker HealthCheckerInfo
CreatedTime time.Time
KeyValueList []KeyValue
}
-------- Info Structure
type NetworkInfo ¶ added in v0.6.3
type NodeGroupInfo ¶ added in v0.6.3
type NodeGroupInfo struct {
IId IID // {NameId, SystemId}
// VM config.
ImageIID IID
VMSpecName string
RootDiskType string // "SSD(gp2)", "Premium SSD", ...
RootDiskSize string // "", "default", "50", "1000" (GB)
KeyPairIID IID
Status NodeGroupStatus
// Scaling config.
OnAutoScaling bool // default: true
DesiredNodeSize int
MinNodeSize int
MaxNodeSize int
NodeList []IID
KeyValueList []KeyValue
}
type NodeGroupStatus ¶ added in v0.6.7
type NodeGroupStatus string
const ( NodeGroupCreating NodeGroupStatus = "Creating" NodeGroupActive NodeGroupStatus = "Active" NodeGroupInactive NodeGroupStatus = "Inactive" NodeGroupUpdating NodeGroupStatus = "Updating" NodeGroupDeleting NodeGroupStatus = "Deleting" )
type RegionInfo ¶
type SecurityHandler ¶
type SecurityHandler interface {
CreateSecurity(securityReqInfo SecurityReqInfo) (SecurityInfo, error)
ListSecurity() ([]*SecurityInfo, error)
GetSecurity(securityIID IID) (SecurityInfo, error)
DeleteSecurity(securityIID IID) (bool, error)
AddRules(sgIID IID, securityRules *[]SecurityRuleInfo) (SecurityInfo, error)
RemoveRules(sgIID IID, securityRules *[]SecurityRuleInfo) (bool, error)
}
type SecurityInfo ¶
type SecurityInfo struct {
IId IID // {NameId, SystemId}
VpcIID IID // {NameId, SystemId}
//Direction string // @todo userd??
SecurityRules *[]SecurityRuleInfo
KeyValueList []KeyValue
}
type SecurityReqInfo ¶
type SecurityReqInfo struct {
IId IID // {NameId, SystemId}
VpcIID IID // {NameId, SystemId}
//Direction string // To be deprecated
SecurityRules *[]SecurityRuleInfo
}
type SecurityRuleInfo ¶
type SecurityRuleInfo struct {
Direction string
IPProtocol string
FromPort string
ToPort string
CIDR string
}
@definitionAlias cres.SecurityRuleInfo
type SubnetInfo ¶ added in v0.1.3
type VMGroupInfo ¶ added in v0.5.6
type VMHandler ¶
type VMHandler interface {
StartVM(vmReqInfo VMReqInfo) (VMInfo, error)
SuspendVM(vmIID IID) (VMStatus, error)
ResumeVM(vmIID IID) (VMStatus, error)
RebootVM(vmIID IID) (VMStatus, error)
TerminateVM(vmIID IID) (VMStatus, error)
ListVMStatus() ([]*VMStatusInfo, error)
GetVMStatus(vmIID IID) (VMStatus, error)
ListVM() ([]*VMInfo, error)
GetVM(vmIID IID) (VMInfo, error)
}
type VMInfo ¶
type VMInfo struct {
IId IID // {NameId, SystemId}
StartTime time.Time // Timezone: based on cloud-barista server location.
Region RegionInfo // ex) {us-east1, us-east1-c} or {ap-northeast-2}
ImageType ImageType // PublicImage | MyImage
ImageIId IID
VMSpecName string // instance type or flavour, etc... ex) t2.micro or f1.micro
VpcIID IID
SubnetIID IID // AWS, ex) subnet-8c4a53e4
SecurityGroupIIds []IID // AWS, ex) sg-0b7452563e1121bb6
KeyPairIId IID
RootDiskType string // "SSD(gp2)", "Premium SSD", ...
RootDiskSize string // "default", "50", "1000" (GB)
RootDeviceName string // "/dev/sda1", ...
DataDiskIIDs []IID
VMBootDisk string // Deprecated soon
VMBlockDisk string // Deprecated soon
VMUserId string // ex) user1
VMUserPasswd string
NetworkInterface string // ex) eth0
PublicIP string
PublicDNS string
PrivateIP string
PrivateDNS string
SSHAccessPoint string // ex) 10.2.3.2:22, 123.456.789.123:4321
KeyValueList []KeyValue
}
type VMReqInfo ¶
type VMReqInfo struct {
IId IID // {NameId, SystemId}
ImageType ImageType // PublicImage | MyImage, default: PublicImage
ImageIID IID
VpcIID IID
SubnetIID IID
SecurityGroupIIDs []IID
VMSpecName string
KeyPairIID IID
RootDiskType string // "", "SSD(gp2)", "Premium SSD", ...
RootDiskSize string // "", "default", "50", "1000" (GB)
DataDiskIIDs []IID
VMUserId string
VMUserPasswd string
}
type VMSpecHandler ¶
type VMSpecHandler interface {
ListVMSpec() ([]*VMSpecInfo, error)
GetVMSpec(Name string) (VMSpecInfo, error)
ListOrgVMSpec() (string, error) // return string: json format
GetOrgVMSpec(Name string) (string, error) // return string: json format
}
type VMSpecInfo ¶
type VMStatus ¶
type VMStatus string
GO do not support Enum. So, define like this.
const ( Creating VMStatus = "Creating" // from launch to running Running VMStatus = "Running" Suspending VMStatus = "Suspending" // from running to suspended Suspended VMStatus = "Suspended" Resuming VMStatus = "Resuming" // from suspended to running Rebooting VMStatus = "Rebooting" // from running to running Terminating VMStatus = "Terminating" // from running, suspended to terminated Terminated VMStatus = "Terminated" NotExist VMStatus = "NotExist" // VM does not exist Failed VMStatus = "Failed" )
type VMStatusInfo ¶
type VPCHandler ¶ added in v0.1.3
type VPCInfo ¶ added in v0.1.3
type VPCInfo struct {
IId IID // {NameId, SystemId}
IPv4_CIDR string
SubnetInfoList []SubnetInfo
KeyValueList []KeyValue
}
type VPCReqInfo ¶ added in v0.1.3
type VPCReqInfo struct {
IId IID // {NameId, SystemId}
IPv4_CIDR string
SubnetInfoList []SubnetInfo
}
Click to show internal directories.
Click to hide internal directories.