service

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2024 License: Apache-2.0 Imports: 30 Imported by: 0

README

API 호출기준 CRUD 에 따른 명명규칙

  1. 조회(목록) : GetXXXList
  2. 조회(항목) : GetXXXData
  3. 등록 : RegXXX
  4. 삭제 : DelXXX

CommonHandler

NameSpaceHandler

  • GetNameSpaceList
  • RegNameSpace
  • CreateDefaultNameSpace : Namespace가 없는경우 기본으로 1개의 namespace를 자동으로 생성
  • DelNameSpace

CloudConnectionHandler ResourceHandler McisHandler


handler의 return 값중 두번째 인자는 model.WebStatus 로 한다. WebStatus.Status 는 code를, Message에는 message를 error가 났을 때 Status = 500, Message에는 error의 값을

정상적으로 호출했으나 해당 내용이 Error일 때는 최종 수신단(UI)에서 StatusCode에 따라 결정한다.


TODO

  1. TB : lookup, search 등 method 호출 테스트 필요(UI등 에서 어떻게 사용될 지)
  2. TB : lifecycle 변경의 경우 TB API명세에 없는데 호출 됨.
  3. TB : lifecycle 호출하는 handlerMethod 명 변경해야하나?? Get, Reg, Del 외에...

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CicadaURL = os.Getenv("CICADA_URL")
View Source
var DragonFlyURL = os.Getenv("DRAGONFLY_URL")
View Source
var HoneyBeeURL = os.Getenv("HONEYBEE_URL")
View Source
var LadyBugURL = os.Getenv("LADYBUG_URL")
View Source
var SpiderURL = os.Getenv("SPIDER_URL")
View Source
var TumbleBugURL = os.Getenv("TUMBLE_URL")

Functions

func AddVmToNLBTargetGroup

func AddVmToNLBTargetGroup(nameSpaceID string, mcisID string, nlbID string, nlbTargetGroupReq *tbmcis.TbNLBAddRemoveVMReq) (*tbmcis.TbNLBInfo, model.WebStatus)

NLB의 TargetGroup에 VM 추가

func AsyncAttachDetachDataDiskToVM

func AsyncAttachDetachDataDiskToVM(nameSpaceID string, mcisID string, vmID string, optionParam string, attachDetachDataDiskReq *tbmcir.TbAttachDetachDataDiskReq, c echo.Context)

AsyncAttachDetachDataDiskToVM

func AsyncDelDataDisk

func AsyncDelDataDisk(nameSpaceID string, dataDiskID string, c echo.Context)

func AsyncRegDataDisk

func AsyncRegDataDisk(nameSpaceID string, dataDiskReqInfo *webtool.DataDiskCreateReq, c echo.Context)

Async로 Disk 생성 : 항목 안에 attached Vm 정보가 있으면 생성 후 attach까지 한다.

func AsyncRegVm

func AsyncRegVm(nameSpaceID string, mcisID string, vmInfo *tbmcis.TbVmReq, c echo.Context)

VM 등록

func AsyncRegVmSnapshot

func AsyncRegVmSnapshot(nameSpaceID string, mcisID string, vmID string, vmSnapshotReq *mcis.TbVmSnapshotReq, c echo.Context)

func AttachDetachDataDiskToVM

func AttachDetachDataDiskToVM(nameSpaceID string, mcisID string, vmID string, optionParam string, attachDetachDataDiskReq *tbmcir.TbAttachDetachDataDiskReq) (*tbmcis.TbVmInfo, model.WebStatus)

VM 에 DataDisk를 Attach 또는 Detach ( commane로 구분 )

func CallLoginInfo

func CallLoginInfo(c echo.Context) model.LoginInfo

해당 유저가 유효한지만 체크. : store에 저장되어 있으면 OK. TODO : token이 유효하면 시간연장, 유효하지 않으면 refresh token이 유효하면 시간연장, 둘다 expired되었으면 login으로

func CheckLegacySourceGroupConnection

func CheckLegacySourceGroupConnection(sourceGroupId string) ([]honeybeesourcegroup.SourceConnectionInfo, model.WebStatus)

/honeybee/source_group/{sgId}/connection_check get

func ClearWebsocketMessage

func ClearWebsocketMessage(expireHour int, c echo.Context)

일정 시간이 지난 data는 제거. : 0이면 기본값(24), 0보다 크면 음수로 바꾸어 계산.

func CommandMcis

func CommandMcis(nameSpaceID string, mcisID string, mcisCommandInfo *tbmcis.McisCmdReq) (tbmcis.RestPostCmdMcisResponseWrapper, model.WebStatus)

MCIS에 명령 내리기

func CommandVmOfMcis

func CommandVmOfMcis(nameSpaceID string, mcisID string, vmID string, mcisCommandInfo *tbmcis.McisCmdReq) (tbmcis.RestPostCmdMcisVmResponse, model.WebStatus)

특정 VM에 명령내리기

func ConvertCicadaToButterfly

func ConvertCicadaToButterfly(workflowList []workflow.WorkflowInfo) string

TODO : Cicada 의 workflow를 Butterfly 의 workflow 형태로 변경

func CreateDefaultNamespace

func CreateDefaultNamespace() (*tbcommon.TbNsInfo, model.WebStatus)

저장된 namespace가 없을 때 최초 1개 생성하고 해당 namespace 정보를 return : 검증 필요(TODO : 이미 namespace가 있어서 확인 못함)

func DataDiskGet

func DataDiskGet(nameSpaceID string, dataDiskID string) (*tbmcir.TbDataDiskInfo, model.WebStatus)

DataDisk 상세 조회

func DataDiskPut

func DataDiskPut(nameSpaceID string, dataDiskID string, dataDiskUpsizeReq *tbmcir.TbDataDiskUpsizeReq) (*tbmcir.TbDataDiskInfo, model.WebStatus)

func DelAllDataDisk

func DelAllDataDisk(nameSpaceID string) (model.WebStatus, model.WebStatus)

Namespace내 모든 DataDisk 삭제

func DelAllMcis

func DelAllMcis(nameSpaceID string, optionParam string) (tbcommon.TbSimpleMsg, model.WebStatus)

Delete All MCISs

func DelAllMcisPolicy

func DelAllMcisPolicy(nameSpaceID string) (tbcommon.TbSimpleMsg, model.WebStatus)

func DelAllMyImage

func DelAllMyImage(nameSpaceID string) (model.WebStatus, model.WebStatus)

Namespace내 모든 MyImage 삭제

func DelAllNameSpace

func DelAllNameSpace() (tbcommon.TbSimpleMsg, model.WebStatus)

NameSpace 삭제

func DelAllNlb

func DelAllNlb(nameSpaceID string, mcisID string) (io.ReadCloser, model.WebStatus)

특정 Namespace의 MCIS 내 모든 NLB 제거

func DelAllSecurityGroup

func DelAllSecurityGroup(nameSpaceID string) (model.WebStatus, model.WebStatus)

해당 Namespace의 모든 SecurityGroup 삭제

func DelAllSshKey

func DelAllSshKey(nameSpaceID string) (tbcommon.TbSimpleMsg, model.WebStatus)

전체 sshKey 삭제

func DelAllTbConfig

func DelAllTbConfig() (tbcommon.TbSimpleMsg, model.WebStatus)

func DelAllVMSpec

func DelAllVMSpec(nameSpaceID string) (model.WebStatus, model.WebStatus)

해당 namespace의 모든 VMSpec 삭제 : TODO : 로그인 유저의 동일 namespace일 때만 삭제가능하도록

func DelAllVirtualMachineImage

func DelAllVirtualMachineImage(nameSpaceID string) (model.WebStatus, model.WebStatus)

해당 namespace의 모든 VirtualMachineImage 삭제

func DelAllVpc

func DelAllVpc(nameSpaceID string) (tbcommon.TbSimpleMsg, model.WebStatus)

전체 vpc 삭제

func DelCloudConnectionConfig

func DelCloudConnectionConfig(configName string) (io.ReadCloser, model.WebStatus)

CloudConnectionConfigInfo 삭제

func DelCluster

func DelCluster(nameSpaceID string, clusterName string) (*ladybug.StatusInfo, model.WebStatus)

Cluster 삭제

func DelClusterByAsync

func DelClusterByAsync(nameSpaceID string, clusterName string, c echo.Context)

Cluster 삭제 비동기 처리

func DelConfig

func DelConfig(configID string) (io.ReadCloser, model.WebStatus)

Driver 삭제

func DelCredential

func DelCredential(credentialName string) (model.WebStatus, model.WebStatus)

Credential 삭제

func DelDataDisk

func DelDataDisk(nameSpaceID string, dataDiskID string) (model.WebStatus, model.WebStatus)

DataDisk 삭제

func DelDefaultResources

func DelDefaultResources(nameSpaceID string) (*tbcommon.TbIdList, model.WebStatus)

func DelDriver

func DelDriver(driverName string) (io.ReadCloser, model.WebStatus)

Driver 삭제

func DelFirewallRules

func DelFirewallRules(nameSpaceID string, securityGroupID string, firewallRuleReq *tbmcir.TbFirewallRulesWrapper) (*tbmcir.TbSecurityGroupInfo, model.WebStatus)

func DelMcis

func DelMcis(nameSpaceID string, mcisID string, optionParam string) (io.ReadCloser, model.WebStatus)

MCIS 삭제. TODO : 해당 namespace의 MCIS만 삭제 가능... 창 두개에서 1개는 MCIS삭제, 1개는 namespace 변경이 있을 수 있으므로 UI에서 namespace도 넘겨서 비교할 것. optionParam은 없거나 force, terminate 가 있음.

func DelMcisPolicy

func DelMcisPolicy(nameSpaceID string, mcisID string) (io.ReadCloser, model.WebStatus)

func DelMonitoringAlert

func DelMonitoringAlert(taskName string) (io.ReadCloser, model.WebStatus)

알람 제거 Delete Monitoring Alert

func DelMonitoringAlertEventHandler

func DelMonitoringAlertEventHandler(eventHandlerType string, eventName string) (io.ReadCloser, model.WebStatus)

알람 제거 Delete monitoring alert event-handler

func DelMyImage

func DelMyImage(nameSpaceID string, myImageID string) (model.WebStatus, model.WebStatus)

MyImage 삭제

func DelNameSpace

func DelNameSpace(nameSpaceID string) (tbcommon.TbSimpleMsg, model.WebStatus)

NameSpace 삭제

func DelNlb

func DelNlb(nameSpaceID string, mcisID string, nlbID string, optionParam string) (io.ReadCloser, model.WebStatus)

DelNlb : nlbId 에 해당하는 nlb 제거

func DelNode

func DelNode(nameSpaceID string, clusterName string, node string) (*ladybug.StatusInfo, model.WebStatus)

Node 삭제

func DelObject

func DelObject(optionParam string) (tbcommon.TbSimpleMsg, model.WebStatus)

func DelObjects

func DelObjects(optionParam string) (tbcommon.TbSimpleMsg, model.WebStatus)

func DelPmksCluster

func DelPmksCluster(cluster string, clusterReqInfo spider.ClusterReqInfo) (*spider.SpClusterInfo, model.WebStatus)

PMKS Cluster 삭제

func DelPmksClusterByAsync

func DelPmksClusterByAsync(cluster string, clusterReqInfo *spider.ClusterReqInfo, c echo.Context)

Cluster 삭제 비동기 처리

func DelPmksNodeGroup

func DelPmksNodeGroup(clusterID string, nodeGroupID string, nodeGroupReqInfo *spider.NodeGroupReqInfo) (bool, model.WebStatus)

NodeGroup 삭제

func DelRegion

func DelRegion(regionName string) (io.ReadCloser, model.WebStatus)

Region 삭제

func DelSecurityGroup

func DelSecurityGroup(nameSpaceID string, securityGroupID string) (model.WebStatus, model.WebStatus)

SecurityGroup 삭제

func DelSshKey

func DelSshKey(nameSpaceID string, sshKeyID string) (model.WebStatus, model.WebStatus)

sshKey 삭제

func DelTbConfig

func DelTbConfig(configID string) (tbcommon.TbConfigInfo, model.WebStatus)

func DelVM

func DelVM(nameSpaceID string, mcisID string, vmID string) (io.ReadCloser, model.WebStatus)

func DelVMSpec

func DelVMSpec(nameSpaceID string, vmSpecID string) (model.WebStatus, model.WebStatus)

VMSpec 삭제

func DelVirtualMachineImage

func DelVirtualMachineImage(nameSpaceID string, virtualMachineImageID string) (model.WebStatus, model.WebStatus)

해당 namespace의 특정 VirtualMachineImage 삭제

func DelVpc

func DelVpc(nameSpaceID string, vNetID string) (model.WebStatus, model.WebStatus)

vpc 삭제

func DelWorkflow

func DelWorkflow(workflowID string) (*cicada_common.SimpleMsg, model.WebStatus)

Workflow 삭제

func DeleteLegacySourceConnectionInfo

func DeleteLegacySourceConnectionInfo(connectionId string, sourceGroupId string) (*common.SimpleMsg, model.WebStatus)

put /honeybee/source_group/{sgId}/connection_info/{connId}

func DeleteLegacySourceGroupData

func DeleteLegacySourceGroupData(sourceGroupId string) (*common.SimpleMsg, model.WebStatus)

/honeybee/source_group/{sgId} delete

func DiskLookup

func DiskLookup(provider string, connectionName string) ([]webtool.LookupDiskInfo, error)

Disk 정보 조회 Provider, connection 에서 사용가능한 DiskType 조회 현재 : spider의 cloudos_meta.yaml 값 사용

func FetchVirtualMachineImageList

func FetchVirtualMachineImageList(nameSpaceID string) ([]tbcommon.TbSimpleMsg, model.WebStatus)

csp에 등록된 정보조회.

func FetchVmSpecInfoList

func FetchVmSpecInfoList(nameSpaceID string) (*tbcommon.TbSimpleMsg, model.WebStatus)

Fetch는 결과만 return

func FetchVmSpecInfoListByAsync

func FetchVmSpecInfoListByAsync(nameSpaceID string, c echo.Context)

오래걸리므로 비동기로 처리

func FilterVmSpecInfoList

func FilterVmSpecInfoList(nameSpaceID string, vmSpecRegInfo *tbmcir.TbSpecInfo) ([]tbmcir.TbSpecInfo, model.WebStatus)

spec들을 filterling

func FilterVmSpecInfoListByRange

func FilterVmSpecInfoListByRange(nameSpaceID string, vmSpecRangeMinMax *tbmcir.FilterSpecsByRangeRequest) ([]tbmcir.TbSpecInfo, model.WebStatus)

resourcesGroup.POST("/vmspec/filterspecsbyrange", controller.FilterVmSpecListByRange)

func GetAPIDocument

func GetAPIDocument(optionParam string) (tbcommon.TbSimpleMsg, model.WebStatus)

func GetAvailableDataDiskListForVM

func GetAvailableDataDiskListForVM(nameSpaceID string, mcisID string, vmID string) ([]mcir.TbDataDiskInfo, model.WebStatus)

VM에서 Attach 가능한 DataDisk 목록 : Get available dataDisks for a VM

func GetBenchmarkAllMcisList

func GetBenchmarkAllMcisList(nameSpaceID string, mcisID string, hostIp string) ([]tbmcis.BenchmarkInfo, model.WebStatus)

List all MCISs

func GetBenchmarkMcisData

func GetBenchmarkMcisData(nameSpaceID string, mcisID string, hostIp string, optionParam string) ([]tbmcis.BenchmarkInfo, model.WebStatus)

벤치마크?? MCIS 조회. 근데 왜 결과는 resultarray지? TODO : 여러개 return되면 method이름을 xxxData -> xxxList 로 바꿀 것

func GetCheckResourceExistence

func GetCheckResourceExistence(nameSpaceID string, resourceType string, resourceId string) (tbcommon.TbSimpleMsg, model.WebStatus)

func GetCicadaReadyz

func GetCicadaReadyz() model.WebStatus

Readyz of Cicada

func GetCloudConnectionConfigData

func GetCloudConnectionConfigData(configName string) (spider.CloudConnectionConfigInfo, model.WebStatus)

Connection 상세

func GetCloudConnectionConfigList

func GetCloudConnectionConfigList() ([]spider.CloudConnectionConfigInfo, model.WebStatus)

현재 설정된 connection 목록 GetConnectionConfigListData -> GetCloudConnectionConfigList로 변경

func GetCloudConnectionCountMap

func GetCloudConnectionCountMap(cloudConnectionConfigInfoList []spider.CloudConnectionConfigInfo) (map[string]int, int)

provider 별 connection count, connection 있는 provider 수

func GetCloudOSList

func GetCloudOSList() ([]string, model.WebStatus)

Cloud Provider 목록

func GetClusterData

func GetClusterData(nameSpaceID string, cluster string) (*ladybug.ClusterInfo, model.WebStatus)

특정 Cluster 조회

func GetClusterList

func GetClusterList(nameSpaceID string) ([]ladybug.ClusterInfo, model.WebStatus)

Cluster 목록 조회

func GetClusterListByID

func GetClusterListByID(nameSpaceID string) ([]string, model.WebStatus)

func GetConfigData

func GetConfigData(configID string) (*spider.ConfigInfo, model.WebStatus)

Config 상세조회

func GetConfigList

func GetConfigList() ([]spider.ConfigInfo, model.WebStatus)

/////////// Config 현재 설정된 Config 목록 TODO :Spider에서 /config 가 없는 것 같은데.... 나중에 확인해서 안쓰면 제거할 것

func GetCredentialData

func GetCredentialData(credentialName string) (*spider.CredentialInfo, model.WebStatus)

Credential 상세조회

func GetCredentialList

func GetCredentialList() ([]spider.CredentialInfo, model.WebStatus)

현재 설정된 credential 목록 : 목록에서는 key의 value는 ...으로 표시

func GetDataDiskList

func GetDataDiskList(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]tbmcir.TbDataDiskInfo, model.WebStatus)

DataDisk 목록 조회

func GetDataDiskListByID

func GetDataDiskListByID(nameSpaceID string, filterKeyParam string, filterValParam string) ([]string, model.WebStatus)

func GetDataDiskListByOption

func GetDataDiskListByOption(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]tbmcir.TbDataDiskInfo, model.WebStatus)

List 조회시 optionParam 추가

func GetDriverData

func GetDriverData(driverlName string) (*spider.DriverInfo, model.WebStatus)

Driver 상세조회

func GetDriverList

func GetDriverList() ([]spider.DriverInfo, model.WebStatus)

현재 설정된 Driver 목록

func GetHealth

func GetHealth() (tbcommon.TbSimpleMsg, model.WebStatus)

func GetHealthy

func GetHealthy() model.WebStatus

Health Check

func GetHoneyBeeReadyz

func GetHoneyBeeReadyz() model.WebStatus

func GetImportLegacyInfraInfoBySourceIdAndConnId

func GetImportLegacyInfraInfoBySourceIdAndConnId(sourceGroupId string, connectionId string) (*honeybeesourcegroup.SavedInfraInfo, model.WebStatus)

[Import] Import source info

func GetImportLegacySoftwareInfoBySourceIdAndConnId

func GetImportLegacySoftwareInfoBySourceIdAndConnId(sourceGroupId string, connectionId string) (*honeybeesourcegroup.SavedSoftwareInfo, model.WebStatus)

func GetInfrastructureList

func GetInfrastructureList(infraID string) ([]beetle.MigrateInfraInfo, model.WebStatus)

func GetInspectResourceList

func GetInspectResourceList(inspectResource *tbcommon.RestInspectResourcesRequest) (*tbmcis.InspectResource, model.WebStatus)

자신의 provider에 등록된 resource 조회

func GetInspectResourcesOverview

func GetInspectResourcesOverview() (*tbmcis.InspectResourceAllResult, model.WebStatus)

CSP와 Tumblebug에 등록된 모든 리소스 비교 전체이므로 별도의 parameter 없음.

func GetLegacyInfraInfoBySourceIdAndConnId

func GetLegacyInfraInfoBySourceIdAndConnId(sourceGroupId string, connectionId string) (honeybeeinfra.InfraInfo, model.WebStatus)

[Get] Get source info /honeybee/source_group/{sgId}/connection_info/{connId}/infra

func GetLegacySoftwareInfoBySourceIdAndConnId

func GetLegacySoftwareInfoBySourceIdAndConnId(sourceGroupId string, connectionId string) (honeybeesoftware.SoftwareInfo, model.WebStatus)

func GetLegacySourceGroupDataById

func GetLegacySourceGroupDataById(sourceGroupId string) (*honeybeesourcegroup.SourceGroupInfo, model.WebStatus)

/honeybee/source_group/{sgId} get

func GetLegacySourceGroupList

func GetLegacySourceGroupList() ([]honeybeesourcegroup.SourceGroupInfo, model.WebStatus)

//////////////////////////////////////SourceGroup /honeybee/source_group get

func GetLoadCommonResource

func GetLoadCommonResource() (tbcommon.TbSimpleMsg, model.WebStatus)

func GetMcisData

func GetMcisData(nameSpaceID string, mcisID string) (*tbmcis.TbMcisInfo, model.WebStatus)

특정 MCIS 조회 action : status, suspend, resume, reboot, terminate, refine option : id, - [CONTROL] : common.SimpleMsg [DEFAULT] : mcis.TbMcisInfo [ID] : common.IdList [STATUS] : mcis.McisStatusInfo : status는 swagger에 정의되어 있지 않음. slack에 물어봐야 하나

func GetMcisDataByID

func GetMcisDataByID(nameSpaceID string, mcisID string) (*tbcommon.TbIdList, model.WebStatus)

func GetMcisDataByStatus

func GetMcisDataByStatus(nameSpaceID string, mcisID string, optionParam string) (tbmcis.McisStatusInfo, model.WebStatus)

func GetMcisDynamicCheckList

// Checkavaiable ConnectionConfig list for creating MCIS Dynamically

사용 가능한 connectionConfig 목록 조회 : 동적생성에서 사용
해당 spec들을 사용할 수 있는 conection 정보 목록
ex) "commonSpec": ["aws-ap-northeast-2-t2-small","gcp-us-west1-g1-small"]
	-> spec : "aws-ap-northeast-2-t2-small", connectionName : "conn-abc", region : "ap-northeast-2" ...

func GetMcisList

func GetMcisList(nameSpaceID string, optionParam string) ([]tbmcis.TbMcisInfo, model.WebStatus)

MCIS 목록 조회 : option (id, simple, status) 추가할 것.

func GetMcisListByID

func GetMcisListByID(nameSpaceID string, filterKeyParam string, filterValParam string) ([]string, model.WebStatus)

func GetMcisListByOption

func GetMcisListByOption(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]tbmcis.TbMcisInfo, model.WebStatus)

func GetMcisOnDemandMonitoringMetricInfo

func GetMcisOnDemandMonitoringMetricInfo(agentIp string, metricName string, vmMonitoring *dragonfly.VmMonitoring) (*dragonfly.McisMonitoringOnDemandInfo, model.WebStatus)

멀티 클라우드 인프라 VM 온디맨드 모니터링 정보 조회 Get MCIS on-demand monitoring metric info

func GetMcisPolicyInfoData

func GetMcisPolicyInfoData(nameSpaceID string, mcisID string) (*tbmcis.RestGetAllMcisPolicyResponse, model.WebStatus)

Get McisPolish Data

func GetMcisPolicyList

func GetMcisPolicyList(nameSpaceID string) ([]tbmcis.RestGetAllMcisPolicyResponse, model.WebStatus)

List all MCIS Policys

func GetMcisRecommendVmSpecList

func GetMcisRecommendVmSpecList(mcisDeploymentPlan *tbmcis.DeploymentPlan) ([]tbmcir.TbSpecInfo, model.WebStatus)

Recommend MCIS plan (filter and priority) 실제로는 추천 image 목록 async 로 만들 지

func GetMcisStatusCountMap

func GetMcisStatusCountMap(mcisInfo tbmcis.TbMcisInfo) map[string]int

MCIS 목록에서 mcis 상태별 count map반환

func GetMcksStatusCountMap

func GetMcksStatusCountMap(clusterList []ladybug.ClusterInfo) map[string]int

MCKS의 상태값 숫자로 표시

func GetMigrationInfraData

func GetMigrationInfraData(infraID string) (beetle.MigrateInfraInfo, model.WebStatus)

func GetMigrationInfraList

func GetMigrationInfraList() ([]beetle.MigrateInfraInfo, model.WebStatus)

func GetMonitoringAlertData

func GetMonitoringAlertData(taskName string) (dragonfly.VmMonitoringAlertInfo, model.WebStatus)

알람 조회 monitoring alert

func GetMonitoringAlertEventHandlerData

func GetMonitoringAlertEventHandlerData(eventHandlerType string, eventName string) (dragonfly.VmMonitoringAlertInfo, model.WebStatus)

알람 이벤트 핸들러 조회 Get monitoring alert event-handler type : 이벤트 핸들러 유형 ( "slack" | "smtp" ) name : slackHandler(EventHandlerName)

func GetMonitoringAlertEventHandlerList

func GetMonitoringAlertEventHandlerList() ([]dragonfly.VmMonitoringAlertEventHandlerInfo, model.WebStatus)

알람 이벤트 핸들러 목록 조회 List monitoring alert event handler

func GetMonitoringAlertList

func GetMonitoringAlertList() ([]dragonfly.VmMonitoringAlertInfo, model.WebStatus)

알람 목록 조회 List monitoring alert

func GetMonitoringAlertLogList

func GetMonitoringAlertLogList(taskName string, logLevel string) ([]dragonfly.VmMonitoringAlertLog, model.WebStatus)

알람 로그 정보 목록 조회 List monitoring alert event

func GetMonitoringConfig

func GetMonitoringConfig() (*dragonfly.MonitoringConfig, model.WebStatus)

모니터링 정책 조회 Get monitoring config

func GetMyImageList

func GetMyImageList(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]tbmcir.TbCustomImageInfo, model.WebStatus)

MyImage 목록 조회

func GetMyImageListByID

func GetMyImageListByID(nameSpaceID string, filterKeyParam string, filterValParam string) ([]string, model.WebStatus)

func GetMyImageListByOption

func GetMyImageListByOption(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]tbmcir.TbCustomImageInfo, model.WebStatus)

List 조회시 optionParam 추가

func GetNameSpaceData

func GetNameSpaceData(nameSpaceID string) (tbcommon.TbNsInfo, model.WebStatus)

Get namespace

func GetNameSpaceList

func GetNameSpaceList() ([]tbcommon.TbNsInfo, model.WebStatus)

사용자의 namespace 목록 조회

func GetNameSpaceListByOption

func GetNameSpaceListByOption(optionParam string) ([]tbcommon.TbNsInfo, model.WebStatus)

Namespace 조회 시 Option에 해당하는 값만 조회. GetNameSpaceList와 TB 호출은 동일하나 option 사용으로 받아오는 param이 다름. controller에서 분기

func GetNameSpaceListByOptionID

func GetNameSpaceListByOptionID(optionParam string) ([]string, model.WebStatus)

Namespace 조회 시 Option에 해당하는 값만 조회. GetNameSpaceList와 TB 호출은 동일하나 option 사용으로 받아오는 param이 다름

func GetNameSpaceToString

func GetNameSpaceToString(c echo.Context) string

func GetNlbData

func GetNlbData(nameSpaceID string, mcisID string, nlbID string) (tbmcis.TbNLBInfo, model.WebStatus)

특정 NLB 조회

func GetNlbHealth

func GetNlbHealth(nameSpaceID string, mcisID string, nlbID string) (tbmcis.TbNLBInfo, model.WebStatus)

특정 NLB의 Health

func GetNlbIdListByMcisID

func GetNlbIdListByMcisID(nameSpaceID string, mcisID string) ([]string, model.WebStatus)

NLB ID만 목록으로 제공

func GetNlbListByOption

func GetNlbListByOption(nameSpaceID string, mcisID string, optionParam string) ([]tbmcis.TbNLBInfo, model.WebStatus)

NLB 목록을 조회 조건에 따라 검색

func GetNodeData

func GetNodeData(nameSpaceID string, clusterName string, node string) (*ladybug.NodeInfo, model.WebStatus)

특정 Cluster 조회

func GetNodeList

func GetNodeList(nameSpaceID string, clusterName string) (ladybug.NodeList, model.WebStatus)

Node 목록 조회

func GetObject

func GetObject(optionParam string) (tbcommon.TbSimpleMsg, model.WebStatus)

func GetObjectList

func GetObjectList(optionParam string) (tbcommon.TbSimpleMsg, model.WebStatus)

func GetPmksClusterData

func GetPmksClusterData(cluster string, clusterReqInfo spider.ClusterReqInfo) (*spider.SpClusterInfo, model.WebStatus)

특정 Cluster 조회

func GetPmksClusterList

func GetPmksClusterList(clusterReqInfo spider.ClusterReqInfo) ([]spider.SpClusterInfo, model.WebStatus)

Cluster 목록 조회

func GetPmksNamespaceClusterList

func GetPmksNamespaceClusterList(clusterReqInfo spider.ClusterReqInfo) ([]spider.SpClusterInfo, model.WebStatus)

해당 namespace의 모든 pmks 목록 조회

func GetRegionData

func GetRegionData(regionName string) (*tbcommon.TbRegion, model.WebStatus)

func GetRegionList

func GetRegionList() ([]spider.RegionInfo, model.WebStatus)

현재 설정된 region 목록

func GetSecurityGroupData

func GetSecurityGroupData(nameSpaceID string, securityGroupID string) (*tbmcir.TbSecurityGroupInfo, model.WebStatus)

SecurityGroup 상세 조회

func GetSecurityGroupList

func GetSecurityGroupList(nameSpaceID string) ([]tbmcir.TbSecurityGroupInfo, model.WebStatus)

해당 namespace의 SecurityGroup 목록 조회

func GetSecurityGroupListByOption

func GetSecurityGroupListByOption(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]tbmcir.TbSecurityGroupInfo, model.WebStatus)

SecurityGroupList 조회 시 Option에 해당하는 값만 조회. GetSecurityGroupList와 TB 호출은 동일하나 option 사용으로 받아오는 param이 다름

func GetSecurityGroupListByOptionID

func GetSecurityGroupListByOptionID(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]string, model.WebStatus)

ID만 조회

func GetSimpleNodeCountMap

func GetSimpleNodeCountMap(cluster ladybug.ClusterInfo) ([]ladybug.NodeSimpleInfo, map[string]int)

Node의 간단정보(credential 제외) + kind별 node 갯수 return

func GetSimpleVmWithStatusCountMap

func GetSimpleVmWithStatusCountMap(mcisInfo tbmcis.TbMcisInfo) ([]webtool.VmSimpleInfo, map[string]int)

MCIS의 vm별 statun와 vm 상태별 count key는 vmID + vmName, value는 vmStatus

func GetSourceConnectionDataBysgIdAndconnId

func GetSourceConnectionDataBysgIdAndconnId(sourceGroupId string, connectionId string) (*honeybeesourcegroup.SourceConnectionInfo, model.WebStatus)

func GetSourceConnectionInfoDataById

func GetSourceConnectionInfoDataById(connectionId string) ([]honeybeesourcegroup.SourceConnectionInfo, model.WebStatus)

func GetSourceConnectionInfoListBySourcGroupId

func GetSourceConnectionInfoListBySourcGroupId(sourceGroupId string) (*[]honeybeesourcegroup.SourceConnectionInfo, model.WebStatus)

func GetSourceModelList

func GetSourceModelList(nameSpaceID string, optionParam string) ([]tbmcis.TbMcisInfo, model.WebStatus)

func GetSshKeyData

func GetSshKeyData(nameSpaceID string, sshKeyID string) (*tbmcir.TbSshKeyInfo, model.WebStatus)

sshKey 상세 조회

func GetSshKeyInfoList

func GetSshKeyInfoList(nameSpaceID string) ([]tbmcir.TbSshKeyInfo, model.WebStatus)

SSHKey 목록 조회 : /ns/{nsId}/resources/sshKey

func GetSshKeyInfoListByID

func GetSshKeyInfoListByID(nameSpaceID string, filterKeyParam string, filterValParam string) ([]string, model.WebStatus)

func GetSshKeyInfoListByOption

func GetSshKeyInfoListByOption(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]tbmcir.TbSshKeyInfo, model.WebStatus)

func GetStoredCloudConnectionConfigList

func GetStoredCloudConnectionConfigList(c echo.Context) ([]spider.CloudConnectionConfigInfo, model.WebStatus)

GetCloudConnectionConfigList

func GetStoredCloudOSList

func GetStoredCloudOSList(c echo.Context) ([]string, model.WebStatus)

GetCloudOSList

func GetStoredCredentialList

func GetStoredCredentialList(c echo.Context) ([]spider.CredentialInfo, model.WebStatus)

GetCredentialList

func GetStoredDriverList

func GetStoredDriverList(c echo.Context) ([]spider.DriverInfo, model.WebStatus)

GetDriverList

func GetStoredNameSpaceList

func GetStoredNameSpaceList(c echo.Context) ([]tbcommon.TbNsInfo, model.WebStatus)

로그인할 때, NameSpace 저장(Create, Delete, Update) 외에는 이 funtion 사용 없으면 tb 조회

func GetStoredRegionList

func GetStoredRegionList(c echo.Context) ([]spider.RegionInfo, model.WebStatus)

GetRegionList

func GetTargetModelList

func GetTargetModelList(nameSpaceID string, optionParam string) ([]tbmcis.TbMcisInfo, model.WebStatus)

func GetTaskComponentData

func GetTaskComponentData(taskComponentId string) (workflow.TaskComponentInfo, model.WebStatus)

func GetTaskComponentList

func GetTaskComponentList() ([]workflow.TaskComponentInfo, model.WebStatus)

custom task component 목록 조회

func GetTbConfig

func GetTbConfig(configID string) (tbcommon.TbConfigInfo, model.WebStatus)

func GetVMofMcisData

func GetVMofMcisData(nameSpaceID string, mcisID string, vmID string) (*tbmcis.TbVmInfo, model.WebStatus)

MCIS의 특정 VM 조회 action : status, suspend, resume, reboot, terminate

func GetVirtualMachineImageData

func GetVirtualMachineImageData(nameSpaceID string, virtualMachineImageID string) (*tbmcir.TbImageInfo, model.WebStatus)

VirtualMachineImage 상세 조회

func GetVirtualMachineImageInfoList

func GetVirtualMachineImageInfoList(nameSpaceID string) ([]tbmcir.TbImageInfo, model.WebStatus)

VirtualMachineImage 목록 조회

func GetVirtualMachineImageInfoListByID

func GetVirtualMachineImageInfoListByID(nameSpaceID string, filterKeyParam string, filterValParam string) ([]string, model.WebStatus)

VirtualMachineImage 목록에서 Option으로 ID 목록만 가져오는 function

func GetVirtualMachineImageInfoListByOption

func GetVirtualMachineImageInfoListByOption(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]tbmcir.TbImageInfo, model.WebStatus)

func GetVmConnectionCountByMcis

func GetVmConnectionCountByMcis(mcisInfo tbmcis.TbMcisInfo) map[string]int

해당 MCIS의 VM 연결 수

func GetVmConnectionCountMap

func GetVmConnectionCountMap(mcisInfo tbmcis.TbMcisInfo) map[string]int

MCIS별 connection count

func GetVmData

func GetVmData(nameSpaceID string, mcisID string, vmID string) (*tbmcis.TbVmInfo, model.WebStatus)

특정 VM 조회

func GetVmMonitoring

func GetVmMonitoring(vmMonitoring *dragonfly.VmMonitoring) (map[string]interface{}, model.WebStatus)

VM monitoring Get vm monitoring info 멀티 클라우드 인프라 VM 모니터링 정보 조회

func GetVmMonitoringInfoData

func GetVmMonitoringInfoData(nameSpaceID string, mcisID string, metric string) (*tbmcis.MonResultSimpleResponse, model.WebStatus)

Get Monitoring Data

func GetVmOnDemandMonitoringMetricInfo

func GetVmOnDemandMonitoringMetricInfo(agentIp string, metricName string, vmMonitoring *dragonfly.VmMonitoring) (*dragonfly.VmMonitoringOnDemandInfo, model.WebStatus)

멀티 클라우드 인프라 VM 온디맨드 모니터링 정보 조회 Get vm on-demand monitoring metric info

func GetVmSpecInfoData

func GetVmSpecInfoData(nameSpaceID string, vmSpecID string) (*tbmcir.TbSpecInfo, model.WebStatus)

VMSpec 상세 조회

func GetVmSpecInfoList

func GetVmSpecInfoList(nameSpaceID string) ([]tbmcir.TbSpecInfo, model.WebStatus)

VMSpec 목록 조회

func GetVmSpecInfoListByID

func GetVmSpecInfoListByID(nameSpaceID string, filterKeyParam string, filterValParam string) ([]string, model.WebStatus)

func GetVmSpecInfoListByOption

func GetVmSpecInfoListByOption(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]tbmcir.TbSpecInfo, model.WebStatus)

func GetVnetList

func GetVnetList(nameSpaceID string) ([]tbmcir.TbVNetInfo, model.WebStatus)

해당 namespace의 vpc 목록 조회 func GetVnetList(nameSpaceID string) (io.ReadCloser, error) {

func GetVnetListByID

func GetVnetListByID(nameSpaceID string, filterKeyParam string, filterValParam string) ([]string, model.WebStatus)

ID목록만 조회

func GetVnetListByOption

func GetVnetListByOption(nameSpaceID string, optionParam string, filterKeyParam string, filterValParam string) ([]tbmcir.TbVNetInfo, model.WebStatus)

List 조회시 optionParam 추가

func GetVpcData

func GetVpcData(nameSpaceID string, vNetID string) (*tbmcir.TbVNetInfo, model.WebStatus)

vpc 상세 조회-> ResourceHandler로 이동

func GetWebsocketMessageByProcessTime

func GetWebsocketMessageByProcessTime(beginTime int64, c echo.Context) []modelsocket.WebSocketMessage

특정 시점 이후의 data만 추출 func GetWebsocketMessageByProcessTime(beginTime time.Time, c echo.Context) map[int64]modelsocket.WebSocketMessage {

func GetWebsocketMessageBySend

func GetWebsocketMessageBySend(send bool, c echo.Context) []modelsocket.WebSocketMessage

전송 상태에 따른 값 목록 조회. sendMessage==false 이면 전송 전 data목록만 :: 시간을 param으로 하므로 필요 없을 것. deprecated. func GetWebsocketMessageBySend(send bool, c echo.Context) map[int64]modelsocket.WebSocketMessage {

func GetWebsocketMessageByTaskKey

func GetWebsocketMessageByTaskKey(taskType string, taskKey string, c echo.Context) map[int64]modelsocket.WebSocketMessage

TaskKey에 해당하는 값 조회 : 요청, 완료 값이 return

func GetWorkflowData

func GetWorkflowData(workflowID string) (*workflow.WorkflowInfo, model.WebStatus)

특정 Workflow 조회

func GetWorkflowList

func GetWorkflowList(page string, row string) ([]workflow.WorkflowInfo, model.WebStatus)

Workflow 목록 조회

func GetWorkflowTemplateData

func GetWorkflowTemplateData(workflowTemplateID string) (workflow.WorkflowTemplateInfo, model.WebStatus)

WorkflowTemplate 조회

func GetWorkflowTemplateList

func GetWorkflowTemplateList() ([]workflow.WorkflowTemplateInfo, model.WebStatus)

WorkflowTemplate 목록 조회

func InstallAgentToVm

func InstallAgentToVm(nameSpaceID string, vmMonitoringInstallReg *dragonfly.VmMonitoringInstallReg) (*dragonfly.VmMonitoringInstallReg, model.WebStatus)

Install agent to vm 모니터링 에이전트 설치 : 위에 RegMonitoringAgentInVm 와 뭐가 다른거지?

func InstallBenchmarkAgentToMcis

func InstallBenchmarkAgentToMcis(nameSpaceID string, mcisID string, mcisCommandInfo *tbmcis.McisCmdReq) (*tbmcis.RestPostCmdMcisResponseWrapper, model.WebStatus)

Install the benchmark agent to specified MCIS

func LoadDefaultResources

func LoadDefaultResources(nameSpaceID string, optionParam string, connectionName string) (model.WebStatus, model.WebStatus)

func LookupVirtualMachineImageData

func LookupVirtualMachineImageData(restLookupImageRequest *tbmcir.RestLookupImageRequest) (*tbmcir.SpiderImageInfo, model.WebStatus)

특정 provider의 특정 image정보 조회

func LookupVirtualMachineImageList

func LookupVirtualMachineImageList(connectionName string) (tbmcir.SpiderImageInfos, model.WebStatus)

VM Image 조회

func LookupVmSpecInfoData

func LookupVmSpecInfoData(restLookupSpecRequest *tbmcir.RestLookupSpecRequest) (*tbmcir.SpiderSpecInfo, model.WebStatus)

func LookupVmSpecInfoList

func LookupVmSpecInfoList(connectionName *tbcommon.TbConnectionName) (tbmcir.SpiderSpecInfos, model.WebStatus)

func MakeNameSpace

func MakeNameSpace(name string) string

func McisLifeCycle

func McisLifeCycle(mcisLifeCycle *webtool.McisLifeCycle, queryParams []string) (*webtool.McisLifeCycle, model.WebStatus)

MCIS의 Status변경 LifeCycle 의 경우 요청에 대한 응답이 바로 오므로 asyncMethod를 따로 만들지 않음. 응답시간이 오래걸리는 경우 syncXXX 를 만들고 echo 를 같이 넘겨 결과 처리하도록 해야 함.

func McisLifeCycleByAsync

func McisLifeCycleByAsync(mcisLifeCycle *webtool.McisLifeCycle, queryParams []string, c echo.Context)

func McisSubGroupList

func McisSubGroupList(nameSpaceID string, mcisID string) (*tbcommon.TbIdList, model.WebStatus)

Mcis에 SubGroup 목록 조회

func McisVmLifeCycle

func McisVmLifeCycle(vmLifeCycle *webtool.VmLifeCycle) (*webtool.VmLifeCycle, model.WebStatus)

MCIS의 VM Status변경 : 요청에 대한 응답이 바로 오므로 async 만들지 않음

func McisVmLifeCycleByAsync

func McisVmLifeCycleByAsync(vmLifeCycle *webtool.VmLifeCycle, c echo.Context)

func MyImageGet

func MyImageGet(nameSpaceID string, myImageID string) (*tbmcir.TbCustomImageInfo, model.WebStatus)

MyImage 상세 조회

func PutMonigoringConfig

func PutMonigoringConfig(monitoringConfigReg *dragonfly.MonitoringConfigReg) (*dragonfly.MonitoringConfig, model.WebStatus)

모니터링 정책 설정

func PutMonitoringAlert

func PutMonitoringAlert(taskName string, vmMonitoringAlertInfo *dragonfly.VmMonitoringAlertInfo) (*dragonfly.VmMonitoringAlertInfo, model.WebStatus)

알람 수정 Update Monitoring Alert

func PutMonitoringAlertEventHandlerSlack

func PutMonitoringAlertEventHandlerSlack(eventHandlerType string, eventName string, vmMonitoringAlertEventHandlerSlackInfo *dragonfly.EventHandlerOptionSlack) (*dragonfly.VmMonitoringAlertEventHandlerSlackInfo, model.WebStatus)

알람 이벤트 핸들러 수정( handlerType=slack)

func PutMonitoringAlertEventHandlerSmtp

func PutMonitoringAlertEventHandlerSmtp(eventHandlerType string, eventName string, vmMonitoringAlertEventHandlerInfo *dragonfly.EventHandlerOptionSmtp) (*dragonfly.VmMonitoringAlertEventHandlerSmtpInfo, model.WebStatus)

알람 이벤트 핸들러 수정( handlerType=smtp)

func RegAdaptiveNetwork

func RegAdaptiveNetwork(nameSpaceID string, mcisID string, networkReq *tbmcis.NetworkReq) (*tbmcis.AgentInstallContentWrapper, model.WebStatus)

Configure Cloud Adaptive Network (cb-network agent) to MCIS

func RegBenchmarkAgentInVm

func RegBenchmarkAgentInVm(nameSpaceID string, mcisID string, vmMonitoringAgentReg *tbmcis.McisCmdReq) (*tbmcis.AgentInstallContentWrapper, model.WebStatus)

VM 에 모니터링 Agent 설치 /ns/{nsId}/monitoring/install/mcis/{mcisId}

func RegCloudConnectionConfig

func RegCloudConnectionConfig(cloudConnectionConfigInfo *spider.CloudConnectionConfigInfo) (*spider.CloudConnectionConfigInfo, model.WebStatus)

CloudConnectionConfigInfo 등록 func RegCloudConnectionConfig(cloudConnectionConfigInfo *model.CloudConnectionConfigInfo) (io.ReadCloser, model.WebStatus) {

func RegCluster

func RegCluster(nameSpaceID string, clusterReq *ladybug.ClusterRegReq) (*ladybug.ClusterInfo, model.WebStatus)

Cluster 생성

func RegClusterByAsync

func RegClusterByAsync(nameSpaceID string, clusterReq *ladybug.ClusterRegReq, c echo.Context)

Cluster 생성

func RegConfig

func RegConfig(configInfo *spider.ConfigInfo) (*spider.ConfigInfo, model.WebStatus)

Driver 등록

func RegCredential

func RegCredential(credentialInfo *spider.CredentialInfo) (*spider.CredentialInfo, model.WebStatus)

Credential 등록

func RegCspCustomImageToMyImage

func RegCspCustomImageToMyImage(nameSpaceID string, myImageReqInfo *tbmcir.TbCustomImageReq) (*tbmcir.TbCustomImageInfo, model.WebStatus)

CSP에 등록 된 customImage를 TB의 customImage로 등록

func RegCspVm

func RegCspVm(nameSpaceID string, mcisReq *tbmcis.TbMcisReq) (*tbmcis.TbMcisInfo, model.WebStatus)

func RegDataDisk

func RegDataDisk(nameSpaceID string, dataDiskReqInfo *tbmcir.TbDataDiskReq) (*tbmcir.TbDataDiskInfo, model.WebStatus)

func RegDriver

func RegDriver(driverInfo *spider.DriverInfo) (*spider.DriverInfo, model.WebStatus)

Driver 등록

func RegFirewallRules

func RegFirewallRules(nameSpaceID string, securityGroupID string, firewallRuleReq *tbmcir.TbFirewallRulesWrapper) (*tbmcir.TbSecurityGroupInfo, model.WebStatus)

func RegLegacySourceGroup

/honeybee/source_group post

func RegMcis

func RegMcis(nameSpaceID string, mcisInfo *tbmcis.TbMcisReq) (*tbmcis.TbMcisInfo, model.WebStatus)

MCIS 등록. VM도 함께 등록

func RegMcisByAsync

func RegMcisByAsync(nameSpaceID string, mcisInfo *tbmcis.TbMcisReq, c echo.Context)

MCIS 등록, channel 이용 : thread이긴 하나 ch를 통해 결과를 받은 후 처리되므로 다를 바가 없음. go routine으로 호출하므로 호출결과를 echo-session에 저장 -> web socket으로 front-end 에 전달

func RegMcisDynamic

func RegMcisDynamic(nameSpaceID string, mcisDynamicReq *tbmcis.TbMcisDynamicReq) (*tbmcis.TbMcisInfo, model.WebStatus)

Create MCIS Dynamically from common spec and image async 로 만들 지

func RegMcisDynamicByAsync

func RegMcisDynamicByAsync(nameSpaceID string, mcisInfo *tbmcis.TbMcisDynamicReq, c echo.Context)

func RegMcisPolicy

func RegMcisPolicy(nameSpaceID string, mcisID string, mcisPolicyInfo *tbmcis.McisPolicyInfo) (*tbmcis.McisPolicyInfo, model.WebStatus)

func RegMonitoringAgentInVm

func RegMonitoringAgentInVm(nameSpaceID string, mcisID string, vmMonitoringAgentReg *dragonfly.VmMonitoringInstallReg) (*model.WebStatus, model.WebStatus)

func RegMonitoringAlert

func RegMonitoringAlert(vmMonitoringAlertInfo *dragonfly.VmMonitoringAlertInfo) (*dragonfly.VmMonitoringAlertInfo, model.WebStatus)

알람 생성 Create Monitoring Alert

func RegMonitoringAlertEventHandler

func RegMonitoringAlertEventHandler(vmMonitoringAlertEventHandlerInfoReg *dragonfly.VmMonitoringAlertEventHandlerInfoReg) (*dragonfly.VmMonitoringAlertEventHandlerInfoReg, model.WebStatus)

알람 이벤트 핸들러 생성 Create monitoring alert event-handler

func RegNameSpace

func RegNameSpace(nameSpaceInfo *tbcommon.TbNsInfo) (tbcommon.TbNsInfo, model.WebStatus)

NameSpace 등록. 등록 후 생성된 Namespace 정보를 return

func RegNlbByAsync

func RegNlbByAsync(nameSpaceID string, mcisID string, nlbReq *tbmcis.TbNLBReq, c echo.Context)
NLB 등록
async로 호출하므로 결과를 받으면 websocket으로 전달

RegNlbByAsync

func RegNode

func RegNode(nameSpaceID string, clusterName string, nodeRegReq *ladybug.NodeRegReq) (*ladybug.NodeInfo, model.WebStatus)

Node 생성

func RegOrUpdateConfig

func RegOrUpdateConfig(configReg tbcommon.TbConfigReq) (tbcommon.TbConfigInfo, model.WebStatus)

func RegPmksCluster

func RegPmksCluster(nameSpaceID string, clusterReqInfo *spider.ClusterReqInfo) (*spider.SpClusterInfo, model.WebStatus)

Cluster 생성

func RegPmksClusterByAsync

func RegPmksClusterByAsync(clusterReqInfo *spider.ClusterReqInfo, c echo.Context)

PMKS Cluster 생성

func RegPmksNodeGroup

func RegPmksNodeGroup(clusterID string, nodeGroupReqInfo *spider.NodeGroupReqInfo) (*spider.NodeGroupInfo, model.WebStatus)

NodeGroup 생성

func RegRegion

func RegRegion(regionInfo *spider.RegionInfo) (*spider.RegionInfo, model.WebStatus)

Region 등록 func RegRegion(regionInfo *spider.RegionInfo) (io.ReadCloser, model.WebStatus) {

func RegSecurityGroup

func RegSecurityGroup(nameSpaceID string, securityGroupRegInfo *tbmcir.TbSecurityGroupReq) (*tbmcir.TbSecurityGroupInfo, model.WebStatus)

SecurityGroup 등록 option=register 항목은 TB에서 자동으로 넣을 때 사용하는 param으로 webtool에서 사용하지 않음.

func RegSshKey

func RegSshKey(nameSpaceID string, sshKeyRegInfo *tbmcir.TbSshKeyReq) (*tbmcir.TbSshKeyInfo, model.WebStatus)

sshKey 등록 option=register 항목은 TB에서 자동으로 넣을 때 사용하는 param으로 webtool에서 사용하지 않음.

func RegSubGroup

func RegSubGroup(nameSpaceID string, mcisID string, subGroupInfo *tbmcis.TbVmReq) (*tbmcis.TbMcisInfo, model.WebStatus)

MCIS에 VM 추가 등록

func RegVM

func RegVM(nameSpaceID string, mcisID string, vmInfo *tbmcis.TbVmInfo) (*tbmcis.TbVmInfo, model.WebStatus)

MCIS에 VM 생성. path에 mcisID가 있음. VMInfo에는 mcisID가 없음.

func RegVirtualMachineImage

func RegVirtualMachineImage(nameSpaceID string, registType string, virtualMachineImageRegInfo *tbmcir.TbImageReq) (*tbmcir.TbImageInfo, model.WebStatus)

VirtualMachineImage 등록 registeringMethod = imageID

func RegVirtualMachineImageWithInfo

func RegVirtualMachineImageWithInfo(nameSpaceID string, registType string, virtualMachineImageRegInfo *tbmcir.TbImageInfo) (*tbmcir.TbImageInfo, model.WebStatus)

VirtualMachineImage 등록 registeringMethod = imageID 생성시 action에 regist

func RegVm

func RegVm(nameSpaceID string, mcisID string, vmInfo *tbmcis.TbVmReq) (*tbmcis.TbVmInfo, model.WebStatus)

MCIS에 VM 추가 등록

func RegVmDynamicByAsync

func RegVmDynamicByAsync(nameSpaceID string, mcisID string, vmReqInfo *tbmcis.TbVmDynamicReq, c echo.Context)

Add VM dynamically from common spec and image

func RegVmSnapshot

func RegVmSnapshot(nameSpaceID string, mcisID string, vmID string, vmSnapshotReq *mcis.TbVmSnapshotReq) (*mcis.TbCustomImageInfo, model.WebStatus)

VM의 snapshot 생성

func RegVmSpec

func RegVmSpec(nameSpaceID string, specregisteringMethod string, vmSpecRegInfo *tbmcir.TbSpecReq) (*tbmcir.TbSpecInfo, model.WebStatus)

VMSpecInfo 등록

func RegVmSpecWithInfo

func RegVmSpecWithInfo(nameSpaceID string, specregisteringMethod string, vmSpecRegInfo *tbmcir.TbSpecInfo) (*tbmcir.TbSpecInfo, model.WebStatus)

specRegisteringMethod에 따라 requestMethod가 다르므로 function 분리 함

func RegVpc

func RegVpc(nameSpaceID string, vnetRegInfo *tbmcir.TbVNetReq) (*tbmcir.TbVNetInfo, model.WebStatus)

vpc 등록 option=register 항목은 TB에서 자동으로 넣을 때 사용하는 param으로 webtool에서 사용하지 않음.

func RegWorkflow

func RegWorkflow(workflowInfoReq *workflow.WorkflowReqInfo) model.WebStatus

Workflow 등록

func RemoveVmToNLBTargetGroup

func RemoveVmToNLBTargetGroup(nameSpaceID string, mcisID string, nlbID string, nlbTargetGroupReq *tbmcis.TbNLBAddRemoveVMReq) (tbcommon.TbSimpleMsg, model.WebStatus)

NLB의 TargetGroup에 VM 제거

func ResetMonigoringConfig

func ResetMonigoringConfig(monitoringConfig *dragonfly.MonitoringConfig) (*dragonfly.MonitoringConfig, model.WebStatus)

모니터링 정책 초기화

func RunWorkflow

func RunWorkflow(workflowID string) model.WebStatus

Workflow 실행

func ScaleOutSubGroup

func ScaleOutSubGroup(nameSpaceID string, mcisID string, subGroupID string, subGroupScaleOutReq *mcis.TbScaleOutSubGroupReq) (*mcis.TbMcisInfo, model.WebStatus)

SubGroup의 vm개수 조정

func SearchVirtualMachineImageList

func SearchVirtualMachineImageList(nameSpaceID string, restSearchImageRequest *tbmcir.RestSearchImageRequest) ([]tbmcir.TbImageInfo, model.WebStatus)

VirtualMachineImage 상세 조회

func SetStoreCloudConnectionConfigList

func SetStoreCloudConnectionConfigList(c echo.Context, connectionConfigList []spider.CloudConnectionConfigInfo) error

func SetStoreCloudOSList

func SetStoreCloudOSList(c echo.Context, cloudOSList []string) error

func SetStoreCredentialList

func SetStoreCredentialList(c echo.Context, credentialList []spider.CredentialInfo) error

func SetStoreDriverList

func SetStoreDriverList(c echo.Context, driverList []spider.DriverInfo) error

func SetStoreNameSpaceList

func SetStoreNameSpaceList(c echo.Context, nameSpaceList []tbcommon.TbNsInfo) error

func SetStoreRegionList

func SetStoreRegionList(c echo.Context, regionList []spider.RegionInfo) error

func SetWebsocketMessage

func SetWebsocketMessage(taskType string, taskKey string, lifeCycle string, status string, c echo.Context)

WebSocket에 전달할 Message Set

func SetWebsocketMessageBySend

func SetWebsocketMessageBySend(taskKey string, hasSend bool, c echo.Context)

전송여부를 set 하는데... 시간을 기준으로 가져올 것으로 필요없을 것.

func StoreWebsocketMessage

func StoreWebsocketMessage(taskType string, taskKey string, lifeCycle string, requestStatus string, c echo.Context)

taskType : mcis/vm/mcks ... lifecycle : create, suspend, resume. .... taskKey : status : requested, processing, failed, completed eccossion에 socketdata 에 추가. key는 timestamp인데 unixNanoTime(int64) 사용

func StoreWebsocketMessageDetail

func StoreWebsocketMessageDetail(taskType string, taskKey string, lifeCycle string, requestStatus string, desc string, c echo.Context)

func SubGroupVmListByID

func SubGroupVmListByID(nameSpaceID string, mcisID string, subGroupID string) (*tbcommon.TbIdList, model.WebStatus)

Mcis의 SubGroup 내 VM 목록조회. ID 만 반환

func SubGroupVmListByOption

func SubGroupVmListByOption(nameSpaceID string, mcisID string, subGroupID string, optionParam string) (*tbcommon.TbIdList, model.WebStatus)

Mcis의 SubGroup 내 VM 목록조회 TODO : return형태가 다를 수 있으므로 조회 결과대로 수정할 것.

func UnInstallAgentToVm

func UnInstallAgentToVm(nameSpaceID string, vmMonitoringInstallReg *dragonfly.VmMonitoringInstallReg) (*dragonfly.VmMonitoringInstallReg, model.WebStatus)

모니터링 에이전트 제거 Uninstall agent to vm

func UpdateAdaptiveNetwork

func UpdateAdaptiveNetwork(nameSpaceID string, mcisID string, networkReq *tbmcis.NetworkReq) (*tbmcis.AgentInstallContentWrapper, model.WebStatus)

Inject Cloud Information For Cloud Adaptive Network

func UpdateLegacySourceConnectionInfo

func UpdateLegacySourceConnectionInfo(connectionId string, sourceGroupId string, connectionInfo honeybeesourcegroup.SourceConnectionInfoReq) (*honeybeesourcegroup.SourceConnectionInfo, model.WebStatus)

put /honeybee/source_group/{sgId}/connection_info/{connId}

func UpdateLegacySourceGroupData

func UpdateLegacySourceGroupData(sourceGroupId string, updateSourceGroupInfo honeybeesourcegroup.SourceGroupReq) (*honeybeesourcegroup.SourceGroupInfo, model.WebStatus)

func UpdateNameSpace

func UpdateNameSpace(nameSpaceID string, nameSpaceInfo *tbcommon.TbNsReq) (tbcommon.TbNsInfo, model.WebStatus)

NameSpace 수정

func UpdatePmksCluster

func UpdatePmksCluster(clusterReqInfo *spider.ClusterReqInfo) (spider.SpClusterInfo, model.WebStatus)

PmksClusterUpdateProc : 현재는 버전만 upgrade. 추후 항목 update가 생기면 function 분리할 것

func UpdatePmksNodeGroupAutoScaling

func UpdatePmksNodeGroupAutoScaling(clusterID string, nodeGroupID string, nodeGroupReqInfo *spider.NodeGroupReqInfo) (spider.SpClusterInfo, model.WebStatus)

NodeGroup 수정 : onAutoScaling

func UpdatePmksNodeGroupAutoscaleSize

func UpdatePmksNodeGroupAutoscaleSize(clusterID string, nodeGroupID string, nodeGroupReqInfo *spider.NodeGroupReqInfo) (spider.SpClusterInfo, model.WebStatus)

NodeGroup 수정 : node Size

func UpdateSshKey

func UpdateSshKey(nameSpaceID string, sshKeyId string, sshKeyInfo *tbmcir.TbSshKeyInfo) (*tbmcir.TbSshKeyInfo, model.WebStatus)

func UpdateVMSpec

func UpdateVMSpec(nameSpaceID string, vmSpecRegInfo *tbmcir.TbSpecInfo) (*tbmcir.TbSpecInfo, model.WebStatus)

func UpdateVirtualMachineImage

func UpdateVirtualMachineImage(nameSpaceID string, virtualMachineImageID string, imageInfo *tbmcir.TbImageInfo) (*tbmcir.TbImageInfo, model.WebStatus)

func UpdateWorkflow

func UpdateWorkflow(workflowID string, workflowInfoReq *workflow.WorkflowReqInfo) model.WebStatus

Workflow 수정 수정된 workflow내용이 return되나 상태값만 return.

Types

type CommonURL

type CommonURL struct {
	SpiderURL    string
	TumbleBugURL string
	DragonFlyURL string
	LadyBugURL   string
	HoneyBeeURL  string
	CicadaURL    string
}
type CredentialInfo struct {
	Username string
	Password string
}

func GetCommonURL

func GetCommonURL() CommonURL

type IPStackInfo

type IPStackInfo struct {
	IP          string  `json:"ip"`
	Lat         float64 `json:"latitude"`
	Long        float64 `json:"longitude"`
	CountryCode string  `json:"country_code"`
	VMName      string
	VMID        string
	Status      string
}

type Image

type Image struct {
	KeyValueList spider.SpKeyValueList `json:"KeyValueList"`
	// contains filtered or unexported fields
}

type ImageRESP

type ImageRESP struct {
	Image []struct {
		KeyValueList spider.SpKeyValueList `json:"KeyValueList"`
		// contains filtered or unexported fields
	} `json:"image"`
}

뭐에쓰는 거지?

type RESP

type RESP struct {
	Region []struct {
		RegionName       string                `json:"RegionName"`
		ProviderName     string                `json:"ProviderName"`
		KeyValueInfoList spider.SpKeyValueList `json:"KeyValueInfoList"`
	} `json:"region"`
}

뭐에쓰는 거지?

Jump to

Keyboard shortcuts

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