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.