service

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2022 License: Apache-2.0 Imports: 21 Imported by: 4

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 DragonFlyURL = os.Getenv("DRAGONFLY_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 AsyncRegVm added in v0.4.0

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

VM 등록

func CallLoginInfo added in v0.4.0

func CallLoginInfo(c echo.Context) model.LoginInfo

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

func ClearWebsocketMessage added in v0.4.5

func ClearWebsocketMessage(expireHour int, c echo.Context)

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

func CommandMcis added in v0.4.0

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

MCIS에 명령 내리기

func CommandVmOfMcis added in v0.4.0

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

특정 VM에 명령내리기

func CreateDefaultNamespace added in v0.4.0

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

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

func DelAllMcis added in v0.4.0

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

Delete All MCISs

func DelAllMcisPolicy added in v0.4.0

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

func DelAllNameSpace added in v0.4.5

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

NameSpace 삭제

func DelAllSecurityGroup added in v0.4.0

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

해당 Namespace의 모든 SecurityGroup 삭제

func DelAllSshKey added in v0.4.5

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

전체 sshKey 삭제

func DelAllTbConfig added in v0.4.5

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

func DelAllVMSpec added in v0.4.0

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

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

func DelAllVirtualMachineImage added in v0.4.0

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

해당 namespace의 모든 VirtualMachineImage 삭제

func DelAllVpc added in v0.4.5

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

전체 vpc 삭제

func DelCloudConnectionConfig added in v0.4.0

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

CloudConnectionConfigInfo 삭제

func DelCluster added in v0.4.0

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

Cluster 삭제

func DelClusterByAsync added in v0.4.5

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

Cluster 삭제 비동기 처리

func DelConfig added in v0.4.0

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

Driver 삭제

func DelCredential added in v0.4.0

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

Credential 삭제

func DelDefaultResources added in v0.5.1

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

func DelDriver added in v0.4.0

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

Driver 삭제

func DelFirewallRules added in v0.5.1

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

func DelMcis added in v0.4.0

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 added in v0.4.0

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

func DelMonitoringAlert added in v0.4.0

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

알람 제거 Delete Monitoring Alert

func DelMonitoringAlertEventHandler added in v0.4.0

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

알람 제거 Delete monitoring alert event-handler

func DelNameSpace added in v0.4.0

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

NameSpace 삭제

func DelNode added in v0.4.0

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

Node 삭제

func DelObject added in v0.4.5

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

func DelObjects added in v0.4.5

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

func DelRegion added in v0.4.0

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

Region 삭제

func DelSecurityGroup added in v0.4.0

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

SecurityGroup 삭제

func DelSshKey added in v0.4.0

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

sshKey 삭제

func DelTbConfig added in v0.4.5

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

func DelVM added in v0.4.0

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

func DelVMSpec added in v0.4.0

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

VMSpec 삭제

func DelVirtualMachineImage added in v0.4.0

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

해당 namespace의 특정 VirtualMachineImage 삭제

func DelVpc added in v0.4.0

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

vpc 삭제

func FetchVirtualMachineImageList added in v0.4.0

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

csp에 등록된 정보조회.

func FetchVmSpecInfoList added in v0.4.0

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

Fetch는 결과만 return

func FetchVmSpecInfoListByAsync added in v0.4.5

func FetchVmSpecInfoListByAsync(nameSpaceID string, c echo.Context)

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

func FilterVmSpecInfoList added in v0.4.0

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

spec들을 filterling

func FilterVmSpecInfoListByRange added in v0.4.0

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

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

func GetAPIDocument added in v0.4.5

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

func GetAllTbConfig added in v0.4.5

func GetBenchmarkAllMcisList added in v0.4.0

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

List all MCISs

func GetBenchmarkMcisData added in v0.4.0

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

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

func GetCheckResourceExistence added in v0.4.5

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

func GetCloudConnectionConfigData added in v0.4.0

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

Connection 상세

func GetCloudConnectionConfigList added in v0.4.0

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

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

func GetCloudConnectionCountMap added in v0.4.0

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

provider 별 connection count, connection 있는 provider 수

func GetCloudOSList added in v0.4.0

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

Cloud Provider 목록

func GetClusterData added in v0.4.0

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

특정 Cluster 조회

func GetClusterList added in v0.4.0

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

Cluster 목록 조회

func GetClusterListByID added in v0.4.5

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

func GetConfigData added in v0.4.0

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

Config 상세조회

func GetConfigList added in v0.4.0

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

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

func GetCredentialData added in v0.4.0

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

Credential 상세조회

func GetCredentialList

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

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

func GetDriverData added in v0.4.0

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

Driver 상세조회

func GetDriverList added in v0.4.0

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

현재 설정된 Driver 목록

func GetHealth added in v0.4.5

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

func GetHealthy added in v0.4.0

func GetHealthy() model.WebStatus

Health Check

func GetInspectResourceList added in v0.4.0

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

자신의 provider에 등록된 resource 조회

func GetInspectResourcesOverview added in v0.5.1

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

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

func GetLoadCommonResource added in v0.4.5

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

func GetMcisData added in v0.4.0

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 added in v0.4.5

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

func GetMcisDataByStatus added in v0.4.5

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

func GetMcisDynamicCheckList added in v0.5.1

// 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 added in v0.4.0

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

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

func GetMcisListByID added in v0.4.5

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

func GetMcisListByOption added in v0.4.5

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

func GetMcisOnDemandMonitoringMetricInfo added in v0.4.0

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

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

func GetMcisPolicyInfoData added in v0.4.0

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

Get McisPolish Data

func GetMcisPolicyList added in v0.4.0

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

List all MCIS Policys

func GetMcisRecommendVmSpecList added in v0.5.1

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

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

func GetMcisStatusCountMap added in v0.4.0

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

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

func GetMcksStatusCountMap added in v0.4.0

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

MCKS의 상태값 숫자로 표시

func GetMonitoringAlertData added in v0.4.0

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

알람 조회 monitoring alert

func GetMonitoringAlertEventHandlerData added in v0.4.0

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

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

func GetMonitoringAlertEventHandlerList added in v0.4.0

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

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

func GetMonitoringAlertList added in v0.4.0

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

알람 목록 조회 List monitoring alert

func GetMonitoringAlertLogList added in v0.4.0

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

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

func GetMonitoringConfig added in v0.4.0

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

모니터링 정책 조회 Get monitoring config

func GetNameSpaceData added in v0.4.0

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

Get namespace

func GetNameSpaceList added in v0.4.0

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

사용자의 namespace 목록 조회

func GetNameSpaceListByOption added in v0.4.5

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

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

func GetNameSpaceListByOptionID added in v0.4.5

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

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

func GetNameSpaceToString added in v0.4.0

func GetNameSpaceToString(c echo.Context) string

func GetNodeData added in v0.4.0

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

특정 Cluster 조회

func GetNodeList added in v0.4.0

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

Node 목록 조회

func GetObject added in v0.4.5

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

func GetObjectList added in v0.4.5

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

func GetRegionData added in v0.4.0

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

func GetRegionList

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

현재 설정된 region 목록

func GetSecurityGroupData added in v0.4.0

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

SecurityGroup 상세 조회

func GetSecurityGroupList added in v0.4.0

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

해당 namespace의 SecurityGroup 목록 조회

func GetSecurityGroupListByOption added in v0.4.5

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

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

func GetSecurityGroupListByOptionID added in v0.4.5

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

ID만 조회

func GetSimpleNodeCountMap added in v0.4.0

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

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

func GetSimpleVmWithStatusCountMap added in v0.4.0

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

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

func GetSshKeyData added in v0.4.0

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

sshKey 상세 조회

func GetSshKeyInfoList added in v0.4.0

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

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

func GetSshKeyInfoListByID added in v0.4.5

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

func GetSshKeyInfoListByOption added in v0.4.5

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

func GetStoredCloudConnectionConfigList added in v0.4.0

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

GetCloudConnectionConfigList

func GetStoredCloudOSList added in v0.4.0

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

GetCloudOSList

func GetStoredCredentialList added in v0.4.0

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

GetCredentialList

func GetStoredDriverList added in v0.4.0

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

GetDriverList

func GetStoredNameSpaceList added in v0.4.0

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

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

func GetStoredRegionList added in v0.4.0

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

GetRegionList

func GetTbConfig added in v0.4.5

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

func GetVMofMcisData added in v0.4.0

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

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

func GetVirtualMachineImageData added in v0.4.0

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

VirtualMachineImage 상세 조회

func GetVirtualMachineImageInfoList added in v0.4.0

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

VirtualMachineImage 목록 조회

func GetVirtualMachineImageInfoListByID added in v0.4.5

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

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

func GetVirtualMachineImageInfoListByOption added in v0.4.5

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

func GetVmConnectionCountByMcis added in v0.4.0

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

해당 MCIS의 VM 연결 수

func GetVmConnectionCountMap added in v0.4.0

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

MCIS별 connection count

func GetVmData added in v0.4.0

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

특정 VM 조회

func GetVmMonitoring added in v0.4.0

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

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

func GetVmMonitoringInfoData added in v0.4.0

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

Get Monitoring Data

func GetVmOnDemandMonitoringMetricInfo added in v0.4.0

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

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

func GetVmSpecInfoData added in v0.4.0

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

VMSpec 상세 조회

func GetVmSpecInfoList added in v0.4.0

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

VMSpec 목록 조회

func GetVmSpecInfoListByID added in v0.4.5

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

func GetVmSpecInfoListByOption added in v0.4.5

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

func GetVnetList added in v0.4.0

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

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

func GetVnetListByID added in v0.4.5

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

ID목록만 조회

func GetVnetListByOption added in v0.4.5

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

List 조회시 optionParam 추가

func GetVpcData added in v0.4.0

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

vpc 상세 조회-> ResourceHandler로 이동

func GetWebsocketMessageByProcessTime added in v0.4.5

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

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

func GetWebsocketMessageBySend added in v0.4.5

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 added in v0.4.5

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

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

func InstallAgentToVm added in v0.4.0

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

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

func InstallBenchmarkAgentToMcis added in v0.4.0

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

Install the benchmark agent to specified MCIS

func LoadDefaultResources added in v0.5.1

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

func LookupVirtualMachineImageData added in v0.4.0

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

특정 provider의 특정 image정보 조회

func LookupVirtualMachineImageList added in v0.4.0

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

VM Image 조회

func LookupVmSpecInfoData added in v0.4.0

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

func LookupVmSpecInfoList added in v0.4.0

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

func MakeNameSpace added in v0.4.0

func MakeNameSpace(name string) string

func McisLifeCycle added in v0.4.0

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

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

func McisLifeCycleByAsync added in v0.4.5

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

func McisVmLifeCycle added in v0.4.0

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

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

func McisVmLifeCycleByAsync added in v0.4.5

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

func PutMonigoringConfig added in v0.4.0

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

모니터링 정책 설정

func PutMonitoringAlert added in v0.4.0

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

알람 수정 Update Monitoring Alert

func PutMonitoringAlertEventHandlerSlack added in v0.4.0

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

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

func PutMonitoringAlertEventHandlerSmtp added in v0.4.0

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

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

func RegAdaptiveNetwork added in v0.5.1

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

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

func RegBenchmarkAgentInVm added in v0.4.0

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

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

func RegCloudConnectionConfig added in v0.4.0

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

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

func RegCluster added in v0.4.0

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

Cluster 생성

func RegClusterByAsync added in v0.4.5

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

Cluster 생성

func RegConfig added in v0.4.0

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

Driver 등록

func RegCredential added in v0.4.0

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

Credential 등록

func RegCspResources added in v0.5.1

func RegCspResources(resourcesRequest *tbcommon.RestRegisterCspNativeResourcesRequest, optionParam string) (*tbmcis.RegisterResourceResult, model.WebStatus)

func RegCspResourcesAll added in v0.5.1

func RegCspResourcesAll(resourcesRequest *tbcommon.RestRegisterCspNativeResourcesRequestAll, optionParam string) (*tbmcis.RegisterResourceAllResult, model.WebStatus)

func RegCspVm added in v0.5.1

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

func RegDriver added in v0.4.0

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

Driver 등록

func RegFirewallRules added in v0.5.1

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

func RegMcis added in v0.4.0

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

MCIS 등록. VM도 함께 등록

func RegMcisByAsync added in v0.4.5

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

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

func RegMcisDynamic added in v0.4.6

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

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

func RegMcisDynamicByAsync added in v0.5.1

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

func RegMcisPolicy added in v0.4.0

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

func RegMonitoringAgentInVm added in v0.4.0

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

func RegMonitoringAlert added in v0.4.0

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

알람 생성 Create Monitoring Alert

func RegMonitoringAlertEventHandler added in v0.4.0

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

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

func RegNameSpace added in v0.4.0

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

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

func RegNode added in v0.4.0

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

Node 생성

func RegOrUpdateConfig added in v0.4.5

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

func RegRegion added in v0.4.0

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

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

func RegSecurityGroup added in v0.4.0

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

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

func RegSshKey added in v0.4.0

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

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

func RegVM added in v0.4.0

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

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

func RegVirtualMachineImage added in v0.4.0

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

VirtualMachineImage 등록 registeringMethod = imageID

func RegVirtualMachineImageWithInfo added in v0.4.5

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

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

func RegVm added in v0.4.0

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

MCIS에 VM 추가 등록

func RegVmGroup added in v0.4.0

func RegVmGroup(nameSpaceID string, mcisID string, vmGroupInfo *tbmcis.TbVmReq) (*tbmcis.TbMcisInfo, model.WebStatus)

MCIS에 VM 추가 등록

func RegVmSpec added in v0.4.0

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

VMSpecInfo 등록

func RegVmSpecWithInfo added in v0.4.5

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

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

func RegVpc added in v0.4.0

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

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

func ResetMonigoringConfig added in v0.4.0

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

모니터링 정책 초기화

func SearchVirtualMachineImageList added in v0.4.0

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

VirtualMachineImage 상세 조회

func SetStoreCloudConnectionConfigList added in v0.4.0

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

func SetStoreCloudOSList added in v0.4.0

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

func SetStoreCredentialList added in v0.4.0

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

func SetStoreDriverList added in v0.4.0

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

func SetStoreNameSpaceList added in v0.4.0

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

func SetStoreRegionList added in v0.4.0

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

func SetWebsocketMessage added in v0.4.5

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

WebSocket에 전달할 Message Set

func SetWebsocketMessageBySend added in v0.4.5

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

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

func StoreWebsocketMessage added in v0.4.5

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 UnInstallAgentToVm added in v0.4.0

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

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

func UpdateAdaptiveNetwork added in v0.5.1

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

Inject Cloud Information For Cloud Adaptive Network

func UpdateNameSpace added in v0.4.0

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

NameSpace 수정

func UpdateSshKey added in v0.5.1

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

func UpdateVMSpec added in v0.4.0

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

func UpdateVirtualMachineImage added in v0.5.1

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

Types

type CommonURL added in v0.4.0

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

func GetCommonURL added in v0.4.0

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 added in v0.2.8

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

type ImageRESP added in v0.2.8

type ImageRESP struct {
	Image []struct {
		KeyValueInfoList []spider.KeyValueInfoList `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.KeyValueInfoList `json:"KeyValueInfoList"`
	} `json:"region"`
}

뭐에쓰는 거지?

Jump to

Keyboard shortcuts

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