Documentation
¶
Overview ¶
Package mci is to handle REST API for mci
Package mci is to handle REST API for mci ¶
Package mci is to handle REST API for mci ¶
Package mci is to handle REST API for mci ¶
Package mci is to handle REST API for mci ¶
Package mci is to handle REST API for mci ¶
Package mci is to handle REST API for mci ¶
Package mci is to handle REST API for mci ¶
Package mci is to handle REST API for mci ¶
Package mci is to handle REST API for mci
Index ¶
- func RestAddNLBVMs(c echo.Context) error
- func RestCheckMci(c echo.Context) error
- func RestCheckVm(c echo.Context) error
- func RestDelAllMci(c echo.Context) error
- func RestDelAllMciPolicy(c echo.Context) error
- func RestDelAllNLB(c echo.Context) error
- func RestDelMci(c echo.Context) error
- func RestDelMciPolicy(c echo.Context) error
- func RestDelMciVm(c echo.Context) error
- func RestDelNLB(c echo.Context) error
- func RestGetAllBenchmark(c echo.Context) error
- func RestGetAllMci(c echo.Context) error
- func RestGetAllMciPolicy(c echo.Context) error
- func RestGetAllNLB(c echo.Context) error
- func RestGetBastionNodes(c echo.Context) error
- func RestGetBenchmark(c echo.Context) error
- func RestGetBenchmarkLatency(c echo.Context) error
- func RestGetControlMci(c echo.Context) error
- func RestGetControlMciVm(c echo.Context) error
- func RestGetMci(c echo.Context) error
- func RestGetMciAssociatedResources(c echo.Context) error
- func RestGetMciGroupIds(c echo.Context) error
- func RestGetMciGroupVms(c echo.Context) error
- func RestGetMciPolicy(c echo.Context) error
- func RestGetMciVm(c echo.Context) error
- func RestGetMonitorData(c echo.Context) error
- func RestGetNLB(c echo.Context) error
- func RestGetNLBHealth(c echo.Context) error
- func RestPostCmdMci(c echo.Context) error
- func RestPostFileToMci(c echo.Context) error
- func RestPostInstallBenchmarkAgentToMci(c echo.Context) error
- func RestPostInstallMonitorAgentToMci(c echo.Context) error
- func RestPostMcNLB(c echo.Context) error
- func RestPostMci(c echo.Context) error
- func RestPostMciDynamic(c echo.Context) error
- func RestPostMciDynamicCheckRequest(c echo.Context) error
- func RestPostMciPolicy(c echo.Context) error
- func RestPostMciSubGroupScaleOut(c echo.Context) error
- func RestPostMciVm(c echo.Context) error
- func RestPostMciVmDynamic(c echo.Context) error
- func RestPostMciVmSnapshot(c echo.Context) error
- func RestPostNLB(c echo.Context) error
- func RestPostRegisterCSPNativeVM(c echo.Context) error
- func RestPostSystemMci(c echo.Context) error
- func RestPutMciAssociatedSecurityGroups(c echo.Context) error
- func RestPutMciPolicy(c echo.Context) error
- func RestPutMonitorAgentStatusInstalled(c echo.Context) error
- func RestPutNLB(c echo.Context) error
- func RestRecommendVm(c echo.Context) error
- func RestRemoveBastionNodes(c echo.Context) error
- func RestRemoveNLBVMs(c echo.Context) error
- func RestSetBastionNodes(c echo.Context) error
- type JSONResult
- type RestGetAllBenchmarkRequest
- type RestGetAllMciPolicyResponse
- type RestGetAllMciResponse
- type RestGetAllMciStatusResponse
- type RestGetAllNLBResponse
- type RestGetBenchmarkRequest
- type RestPostMciRecommendResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RestAddNLBVMs ¶
RestAddNLBVMs godoc @ID AddNLBVMs @Summary Add VMs to NLB @Description Add VMs to NLB @Tags [Infra Resource] NLB Management (for developer) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param nlbId path string true "NLB ID" default(g1) @Param nlbAddRemoveVMReq body model.TbNLBAddRemoveVMReq true "VMs to add to NLB" @Success 200 {object} model.TbNLBInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/nlb/{nlbId}/vm [post]
func RestCheckMci ¶
func RestCheckVm ¶
func RestDelAllMci ¶
RestDelAllMci godoc @ID DelAllMci @Summary Delete all MCIs @Description Delete all MCIs @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param option query string false "Option for delete all MCIs (support force object delete, terminate before delete)" Enums(force, terminate) @Success 200 {object} model.SimpleMsg @Failure 404 {object} model.SimpleMsg @Router /ns/{nsId}/mci [delete]
func RestDelAllMciPolicy ¶
RestDelAllMciPolicy godoc @ID DelAllMciPolicy @Summary Delete all MCI policies @Description Delete all MCI policies @Tags [MC-Infra] MCI Orchestration Management (WIP) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Success 200 {object} model.SimpleMsg @Failure 404 {object} model.SimpleMsg @Router /ns/{nsId}/policy/mci [delete]
func RestDelAllNLB ¶
RestDelAllNLB godoc @ID DelAllNLB @Summary Delete all NLBs @Description Delete all NLBs @Tags [Infra Resource] NLB Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param match query string false "Delete resources containing matched ID-substring only" default() @Success 200 {object} model.IdList @Failure 404 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/nlb [delete]
func RestDelMci ¶
RestDelMci godoc @ID DelMci @Summary Delete MCI @Description Delete MCI @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param option query string false "Option for delete MCI (support force delete)" Enums(terminate,force) @Success 200 {object} model.IdList @Failure 404 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId} [delete]
func RestDelMciPolicy ¶
DelMciPolicy godoc @ID DelMciPolicy @Summary Delete MCI Policy @Description Delete MCI Policy @Tags [MC-Infra] MCI Orchestration Management (WIP) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Success 200 {object} model.SimpleMsg @Failure 404 {object} model.SimpleMsg @Router /ns/{nsId}/policy/mci/{mciId} [delete]
func RestDelMciVm ¶
RestDelMciVm godoc @ID DelMciVm @Summary Delete VM in specified MCI @Description Delete VM in specified MCI @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param vmId path string true "VM ID" default(g1-1) @Param option query string false "Option for delete VM (support force delete)" Enums(force) @Success 200 {object} model.SimpleMsg @Failure 404 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/vm/{vmId} [delete]
func RestDelNLB ¶
RestDelNLB godoc @ID DelNLB @Summary Delete NLB @Description Delete NLB @Tags [Infra Resource] NLB Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param nlbId path string true "NLB ID" @Success 200 {object} model.SimpleMsg @Failure 404 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/nlb/{nlbId} [delete]
func RestGetAllBenchmark ¶
RestGetAllBenchmark godoc @ID GetAllBenchmark @Summary Run MCI benchmark for all performance metrics and return results @Description Run MCI benchmark for all performance metrics and return results @Tags [MC-Infra] MCI Performance Benchmarking (WIP) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param hostIP body RestGetAllBenchmarkRequest true "Host IP address to benchmark" @Success 200 {object} model.BenchmarkInfoArray @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/benchmarkAll/mci/{mciId} [post]
func RestGetAllMci ¶
RestGetAllMci godoc @ID GetAllMci @Summary List all MCIs or MCIs' ID @Description List all MCIs or MCIs' ID @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param option query string false "Option" Enums(id, simple, status) @Success 200 {object} JSONResult{[DEFAULT]=RestGetAllMciResponse,[SIMPLE]=RestGetAllMciResponse,[ID]=model.IdList,[STATUS]=RestGetAllMciStatusResponse} "Different return structures by the given option param" @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci [get]
func RestGetAllMciPolicy ¶
RestGetAllMciPolicy godoc @ID GetAllMciPolicy @Summary List all MCI policies @Description List all MCI policies @Tags [MC-Infra] MCI Orchestration Management (WIP) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Success 200 {object} RestGetAllMciPolicyResponse @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/policy/mci [get]
func RestGetAllNLB ¶
RestGetAllNLB godoc @ID GetAllNLB @Summary List all NLBs or NLBs' ID @Description List all NLBs or NLBs' ID @Tags [Infra Resource] NLB Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param option query string false "Option" Enums(id) @Param filterKey query string false "Field key for filtering (ex: cspResourceName)" @Param filterVal query string false "Field value for filtering (ex: default-alibaba-ap-northeast-1-vpc)" @Success 200 {object} JSONResult{[DEFAULT]=RestGetAllNLBResponse,[ID]=model.IdList} "Different return structures by the given option param" @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/nlb [get]
func RestGetBastionNodes ¶
RestGetBastionNodes godoc @ID GetBastionNodes @Summary Get bastion nodes for a VM @Description Get bastion nodes for a VM @Tags [MC-Infra] MCI Remote Command @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param targetVmId path string true "Target VM ID" default(g1-1) @Success 200 {object} []model.BastionNode @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/vm/{targetVmId}/bastion [get]
func RestGetBenchmark ¶
RestGetBenchmark godoc @ID GetBenchmark @Summary Run MCI benchmark for a single performance metric and return results @Description Run MCI benchmark for a single performance metric and return results @Tags [MC-Infra] MCI Performance Benchmarking (WIP) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param hostIP body RestGetBenchmarkRequest true "Host IP address to benchmark" @Param action query string true "Benchmark Action to MCI" Enums(install, init, cpus, cpum, memR, memW, fioR, fioW, dbR, dbW, rtt, mrtt, clean) @Success 200 {object} model.BenchmarkInfoArray @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/benchmark/mci/{mciId} [post]
func RestGetBenchmarkLatency ¶
RestGetLatencyBenchmark godoc @ID GetLatencyBenchmark @Summary Run MCI benchmark for network latency @Description Run MCI benchmark for network latency @Tags [MC-Infra] MCI Performance Benchmarking (WIP) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(system) @Param mciId path string true "MCI ID" default(probe) @Success 200 {object} model.BenchmarkInfoArray @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/benchmarkLatency/mci/{mciId} [get]
func RestGetControlMci ¶
RestGetControlMci godoc @ID GetControlMci @Summary Control the lifecycle of MCI (refine, suspend, resume, reboot, terminate) @Description Control the lifecycle of MCI (refine, suspend, resume, reboot, terminate) @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param action query string true "Action to MCI" Enums(suspend, resume, reboot, terminate, refine, continue, withdraw) @Param force query string false "Force control to skip checking controllable status" Enums(false, true) @Success 200 {object} model.SimpleMsg @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/control/mci/{mciId} [get]
func RestGetControlMciVm ¶
RestGetControlMciVm godoc @ID GetControlMciVm @Summary Control the lifecycle of VM (suspend, resume, reboot, terminate) @Description Control the lifecycle of VM (suspend, resume, reboot, terminate) @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param vmId path string true "VM ID" default(g1-1) @Param action query string true "Action to MCI" Enums(suspend, resume, reboot, terminate) @Param force query string false "Force control to skip checking controllable status" Enums(false, true) @Success 200 {object} model.SimpleMsg @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/control/mci/{mciId}/vm/{vmId} [get]
func RestGetMci ¶
RestGetMci godoc @ID GetMci @Summary Get MCI object (option: status, accessInfo, vmId) @Description Get MCI object (option: status, accessInfo, vmId) @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param option query string false "Option" Enums(default, id, status, accessinfo) @Param filterKey query string false "(For option=id) Field key for filtering (ex: connectionName)" @Param filterVal query string false "(For option=id) Field value for filtering (ex: aws-ap-northeast-2)" @Param accessInfoOption query string false "(For option=accessinfo) accessInfoOption (showSshKey)" @success 200 {object} JSONResult{[DEFAULT]=model.TbMciInfo,[ID]=model.IdList,[STATUS]=model.MciStatusInfo,[AccessInfo]=model.MciAccessInfo} "Different return structures by the given action param" @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId} [get]
func RestGetMciAssociatedResources ¶ added in v0.11.2
RestGetMciAssociatedResources godoc @ID GetMciAssociatedResources @Summary Get associated resource ID list for a given MCI @Description Get associated resource ID list for a given MCI (VNet, Subnet, SecurityGroup, SSHKey, etc.) @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Success 200 {object} model.MciAssociatedResourceList @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/associatedResources [get]
func RestGetMciGroupIds ¶
RestGetMciGroupIds godoc @ID GetMciGroupIds @Summary List SubGroup IDs in a specified MCI @Description List SubGroup IDs in a specified MCI @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Success 200 {object} model.IdList @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/subgroup [get]
func RestGetMciGroupVms ¶
RestGetMciGroupVms godoc @ID GetMciGroupVms @Summary List VMs with a SubGroup label in a specified MCI @Description List VMs with a SubGroup label in a specified MCI @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param subgroupId path string true "subGroup ID" default(g1) @Param option query string false "Option" Enums(id) @Success 200 {object} model.IdList @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/subgroup/{subgroupId} [get]
func RestGetMciPolicy ¶
RestGetMciPolicy godoc @ID GetMciPolicy @Summary Get MCI Policy @Description Get MCI Policy @Tags [MC-Infra] MCI Orchestration Management (WIP) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Success 200 {object} model.MciPolicyInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/policy/mci/{mciId} [get]
func RestGetMciVm ¶
RestGetMciVm godoc @ID GetMciVm @Summary Get VM in specified MCI @Description Get VM in specified MCI @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param vmId path string true "VM ID" default(g1-1) @Param option query string false "Option for MCI" Enums(default, status, idsInDetail, accessinfo) @Param accessInfoOption query string false "(For option=accessinfo) accessInfoOption (showSshKey)" @success 200 {object} JSONResult{[DEFAULT]=model.TbVmInfo,[STATUS]=model.TbVmStatusInfo,[IDNAME]=model.TbIdNameInDetailInfo} "Different return structures by the given option param" @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/vm/{vmId} [get]
func RestGetMonitorData ¶
RestGetMonitorData godoc @ID GetMonitorData @Summary Get monitoring data of specified MCI for specified monitoring metric (cpu, memory, disk, network) @Description Get monitoring data of specified MCI for specified monitoring metric (cpu, memory, disk, network) @Tags [MC-Infra] MCI Resource Monitor (for developer) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param metric path string true "Metric type: cpu, memory, disk, network" @Success 200 {object} model.MonResultSimpleResponse @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/monitoring/mci/{mciId}/metric/{metric} [get]
func RestGetNLB ¶
RestGetNLB godoc @ID GetNLB @Summary Get NLB @Description Get NLB @Tags [Infra Resource] NLB Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param nlbId path string true "NLB ID" default(g1) @Success 200 {object} model.TbNLBInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/nlb/{nlbId} [get]
func RestGetNLBHealth ¶
RestGetNLBHealth godoc @ID GetNLBHealth @Summary Get NLB Health @Description Get NLB Health @Tags [Infra Resource] NLB Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param nlbId path string true "NLB ID" default(g1) @Success 200 {object} model.TbNLBInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/nlb/{nlbId}/healthz [get]
func RestPostCmdMci ¶
RestPostCmdMci godoc @ID PostCmdMci @Summary Send a command to specified MCI @Description Send a command to specified MCI @Tags [MC-Infra] MCI Remote Command @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param mciCmdReq body model.MciCmdReq true "MCI Command Request" @Param subGroupId query string false "subGroupId to apply the command only for VMs in subGroup of MCI" default(g1) @Param vmId query string false "vmId to apply the command only for a VM in MCI" default(g1-1) @Param labelSelector query string false "Target VM Label selector query. Example: sys.id=g1-1,role=worker" @Param x-request-id header string false "Custom request ID" @Success 200 {object} model.MciSshCmdResult @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/cmd/mci/{mciId} [post]
func RestPostFileToMci ¶
RestPostFileToMci godoc @ID PostFileToMci @Summary Transfer a file to specified MCI @Description Transfer a file to specified MCI to the specified path. @Description The file size should be less than 10MB. @Description Not for gerneral file transfer but for specific purpose (small configuration files). @Tags [MC-Infra] MCI Remote Command @Accept multipart/form-data @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param subGroupId query string false "subGroupId to apply the file transfer only for VMs in subGroup of MCI" default(g1) @Param vmId query string false "vmId to apply the file transfer only for a VM in MCI" default(g1-1) @Param path formData string true "Target path where the file will be stored" default(/home/cb-user/) @Param file formData file true "The file to be uploaded (Max 10MB)" @Param x-request-id header string false "Custom request ID" @Success 200 {object} model.MciSshCmdResult @Failure 400 {object} model.SimpleMsg "Invalid request" @Failure 500 {object} model.SimpleMsg "Internal Server Error" @Router /ns/{nsId}/transferFile/mci/{mciId} [post]
func RestPostInstallBenchmarkAgentToMci ¶
RestPostInstallBenchmarkAgentToMci godoc @ID PostInstallBenchmarkAgentToMci @Summary Install the benchmark agent to specified MCI @Description Install the benchmark agent to specified MCI @Tags [MC-Infra] MCI Performance Benchmarking (WIP) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param mciCmdReq body model.MciCmdReq true "MCI Command Request" @Param option query string false "Option for checking update" Enums(update) @Success 200 {object} model.MciSshCmdResult @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/installBenchmarkAgent/mci/{mciId} [post]
func RestPostInstallMonitorAgentToMci ¶
RestPostInstallMonitorAgentToMci godoc @ID PostInstallMonitorAgentToMci @Summary Install monitoring agent (CB-Dragonfly agent) to MCI @Description Install monitoring agent (CB-Dragonfly agent) to MCI @Tags [MC-Infra] MCI Resource Monitor (for developer) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param mciInfo body model.MciCmdReq true "Details for an MCI object" @Success 200 {object} model.AgentInstallContentWrapper @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/monitoring/install/mci/{mciId} [post]
func RestPostMcNLB ¶
RestPostMcNLB godoc @ID PostMcNLB @Summary Create a special purpose MCI for NLB and depoly and setting SW NLB @Description Create a special purpose MCI for NLB and depoly and setting SW NLB @Tags [Infra Resource] NLB Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param nlbReq body model.TbNLBReq true "Details of the NLB object" @Success 200 {object} model.McNlbInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/mcSwNlb [post]
func RestPostMci ¶
RestPostMci godoc @ID PostMci @Summary Create MCI @Description Create MCI @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciReq body model.TbMciReq true "Details for an MCI object" @Success 200 {object} model.TbMciInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci [post]
func RestPostMciDynamic ¶
RestPostMciDynamic godoc @ID PostMciDynamic @Summary Create MCI Dynamically @Description Create MCI Dynamically from common spec and image @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciReq body model.TbMciDynamicReq true "Request body to provision MCI dynamically. Must include commonSpec and commonImage info of each VM request.(ex: {name: mci01,vm: [{commonImage: aws+ap-northeast-2+ubuntu22.04,commonSpec: aws+ap-northeast-2+t2.small}]} ) You can use /mciRecommendVm and /mciDynamicCheckRequest to get it) Check the guide: https://github.com/cloud-barista/cb-tumblebug/discussions/1570" @Param option query string false "Option for MCI creation" Enums(hold) @Param x-request-id header string false "Custom request ID" @Success 200 {object} model.TbMciInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mciDynamic [post]
func RestPostMciDynamicCheckRequest ¶
RestPostMciDynamicCheckRequest godoc @ID PostMciDynamicCheckRequest @Summary Check available ConnectionConfig list for creating MCI Dynamically @Description Check available ConnectionConfig list before create MCI Dynamically from common spec and image @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param mciReq body model.MciConnectionConfigCandidatesReq true "Details for MCI dynamic request information" @Success 200 {object} model.CheckMciDynamicReqInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /mciDynamicCheckRequest [post]
func RestPostMciPolicy ¶
RestPostMciPolicy godoc @ID PostMciPolicy @Summary Create MCI Automation policy @Description Create MCI Automation policy @Tags [MC-Infra] MCI Orchestration Management (WIP) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param mciPolicyReq body model.MciPolicyReq true "Details for an MCI automation policy request" @Success 200 {object} model.MciPolicyInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/policy/mci/{mciId} [post]
func RestPostMciSubGroupScaleOut ¶
RestPostMciSubGroupScaleOut godoc @ID PostMciSubGroupScaleOut @Summary ScaleOut subGroup in specified MCI @Description ScaleOut subGroup in specified MCI @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param subgroupId path string true "subGroup ID" default(g1) @Param vmReq body model.TbScaleOutSubGroupReq true "subGroup scaleOut request" @Success 200 {object} model.TbMciInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/subgroup/{subgroupId} [post]
func RestPostMciVm ¶
RestPostMciVm godoc @ID PostMciVm @Summary Create and add homogeneous VMs(subGroup) to a specified MCI (Set subGroupSize for multiple VMs) @Description Create and add homogeneous VMs(subGroup) to a specified MCI (Set subGroupSize for multiple VMs) @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param vmReq body model.TbVmReq true "Details for VMs(subGroup)" @Success 200 {object} model.TbMciInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/vm [post]
func RestPostMciVmDynamic ¶
RestPostMciVmDynamic godoc @ID PostMciVmDynamic @Summary Create VM Dynamically and add it to MCI @Description Create VM Dynamically and add it to MCI @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param vmReq body model.TbVmDynamicReq true "Details for Vm dynamic request" @Success 200 {object} model.TbMciInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/vmDynamic [post]
func RestPostMciVmSnapshot ¶
RestPostMciVmSnapshot godoc @ID PostMciVmSnapshot @Summary Snapshot VM and create a Custom Image Object using the Snapshot @Description Snapshot VM and create a Custom Image Object using the Snapshot @Tags [Infra Resource] Image Management @Accept json @Produce json @Param vmSnapshotReq body model.TbVmSnapshotReq true "Request body to create VM snapshot" @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param vmId path string true "VM ID" default(g1-1) @Success 200 {object} model.TbCustomImageInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/vm/{vmId}/snapshot [post]
func RestPostNLB ¶
RestPostNLB godoc @ID PostNLB @Summary Create NLB @Description Create NLB @Tags [Infra Resource] NLB Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param option query string false "Option: [required params for register] connectionName, name, cspResourceId" Enums(register) @Param nlbReq body model.TbNLBReq true "Details of the NLB object" @Success 200 {object} model.TbNLBInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/nlb [post]
func RestPostRegisterCSPNativeVM ¶
RestPostRegisterCSPNativeVM godoc @ID PostRegisterCSPNativeVM @Summary Register existing VM in a CSP to Cloud-Barista MCI @Description Register existing VM in a CSP to Cloud-Barista MCI @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciReq body model.TbMciReq true "Details for an MCI object with existing CSP VM ID" @Success 200 {object} model.TbMciInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/registerCspVm [post]
func RestPostSystemMci ¶
RestPostSystemMci godoc @ID PostSystemMci @Summary Create System MCI Dynamically for Special Purpose in NS:system @Description Create System MCI Dynamically for Special Purpose @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param option query string false "Option for the purpose of system MCI" Enums(probe) @Success 200 {object} model.TbMciInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /systemMci [post]
func RestPutMciAssociatedSecurityGroups ¶ added in v0.11.2
RestPutMciAssociatedSecurityGroups godoc @ID PutMciAssociatedSecurityGroups @Summary Update all Security Groups associated with a given MCI @Description Update all Security Groups associated with a given MCI. The firewall rules of all Security Groups will be synchronized to match the requested set. @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param securityGroupInfo body model.TbSecurityGroupUpdateReq true "Details for SecurityGroup update (only firewallRules field is used for update)" @Success 200 {array} model.TbSecurityGroupInfo "Updated Security Group info list with synchronized firewall rules" @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/associatedSecurityGroups [put] @Summary Update all Security Groups associated with a given MCI (Synchronize Firewall Rules) @Description Update all Security Groups associated with a given MCI. The firewall rules of all associated Security Groups will be synchronized to match the requested set. @Description @Description This API will add missing rules and delete extra rules so that each Security Group's rules become identical to the requested set. @Description Only firewall rules are updated; other metadata (name, description, etc.) is not changed. @Description @Description Usage: @Description Use this API to update (synchronize) the firewall rules of all Security Groups associated with the specified MCI. The rules in the request body will become the only rules in each Security Group after the operation. @Description - All existing rules not present in the request will be deleted. @Description - All rules in the request that do not exist will be added. @Description - If a rule exists but differs in CIDR or port range, it will be replaced. @Description - Special protocols (ICMP, etc.) are handled in the same way. @Description @Description Notes: @Description - "Ports" field supports single port ("22"), port range ("80-100"), and multiple ports/ranges ("22,80-100,443"). @Description - The valid port number range is 0 to 65535 (inclusive). @Description - "Protocol" can be TCP, UDP, ICMP, etc. (as supported by the cloud provider). @Description - "Direction" must be either "inbound" or "outbound". @Description - "CIDR" is the allowed IP range. @Description - All existing rules not in the request (including default ICMP, etc.) will be deleted. @Description - Metadata (name, description, etc.) is not changed. @Success 200 {object} model.TbRestWrapperSecurityGroupUpdateResponse "Updated Security Group info list with synchronized firewall rules"
func RestPutMciPolicy ¶
function RestPutMciPolicy not yet implemented
// RestPutMciPolicy godoc // @ID PutMciPolicy // @Summary Update MCI Policy // @Description Update MCI Policy // @Tags [MC-Infra] MCI Orchestration Management (WIP) // @Accept json // @Produce json // @Param mciInfo body MciPolicyInfo true "Details for an MCI Policy object" // @Success 200 {object} MciPolicyInfo // @Failure 404 {object} model.SimpleMsg // @Failure 500 {object} model.SimpleMsg // @Router /ns/{nsId}/policy/mci/{mciId} [put]
func RestPutMonitorAgentStatusInstalled ¶
RestPutMonitorAgentStatusInstalled godoc @ID PutMonitorAgentStatusInstalled @Summary Set monitoring agent (CB-Dragonfly agent) installation status installed (for Windows VM only) @Description Set monitoring agent (CB-Dragonfly agent) installation status installed (for Windows VM only) @Tags [MC-Infra] MCI Resource Monitor (for developer) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param vmId path string true "VM ID" default(vm01) @Success 200 {object} model.TbVmInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/monitoring/status/mci/{mciId}/vm/{vmId} [put]
func RestPutNLB ¶
function RestPutNLB not yet implemented
// RestPutNLB godoc // @ID PutNLB // @Summary Update NLB // @Description Update NLB // @Tags [Infra Resource] NLB Management // @Accept json // @Produce json // @Param nsId path string true "Namespace ID" default(default) // @Param mciId path string true "MCI ID" default(mci01) // @Param nlbId path string true "NLB ID" default(g1) // @Param nlbInfo body model.TbNLBInfo true "Details of the NLB object" // @Success 200 {object} model.TbNLBInfo // @Failure 404 {object} model.SimpleMsg // @Failure 500 {object} model.SimpleMsg // @Router /ns/{nsId}/mci/{mciId}/nlb/{nlbId} [put]
func RestRecommendVm ¶
RestRecommendVm godoc @ID RecommendVm @Summary Recommend MCI plan (filter and priority) @Description Recommend MCI plan (filter and priority) Find details from https://github.com/cloud-barista/cb-tumblebug/discussions/1234 @Tags [MC-Infra] MCI Provisioning and Management @Accept json @Produce json @Param deploymentPlan body model.DeploymentPlan false "Recommend MCI plan (filter and priority)" @Success 200 {object} []model.TbSpecInfo @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /mciRecommendVm [post]
func RestRemoveBastionNodes ¶
RestRemoveBastionNodes godoc @ID RemoveBastionNodes @Summary Remove a bastion VM from all vNets @Description Remove a bastion VM from all vNets @Tags [MC-Infra] MCI Remote Command @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param bastionVmId path string true "Bastion VM ID" default(g1-1) @Success 200 {object} model.SimpleMsg @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/bastion/{bastionVmId} [delete]
func RestRemoveNLBVMs ¶
RestRemoveNLBVMs godoc @ID RemoveNLBVMs @Summary Delete VMs from NLB @Description Delete VMs from NLB @Tags [Infra Resource] NLB Management (for developer) @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param nlbId path string true "NLB ID" default(g1) @Param nlbAddRemoveVMReq body model.TbNLBAddRemoveVMReq true "Select VMs to remove from NLB" @Success 200 {object} model.SimpleMsg @Failure 404 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/nlb/{nlbId}/vm [delete]
func RestSetBastionNodes ¶
RestSetBastionNodes godoc @ID SetBastionNodes @Summary Set bastion nodes for a VM @Description Set bastion nodes for a VM @Tags [MC-Infra] MCI Remote Command @Accept json @Produce json @Param nsId path string true "Namespace ID" default(default) @Param mciId path string true "MCI ID" default(mci01) @Param targetVmId path string true "Target VM ID" default(g1-1) @Param bastionVmId path string true "Bastion VM ID" default(g1-1) @Success 200 {object} model.SimpleMsg @Failure 404 {object} model.SimpleMsg @Failure 500 {object} model.SimpleMsg @Router /ns/{nsId}/mci/{mciId}/vm/{targetVmId}/bastion/{bastionVmId} [put]
Types ¶
type RestGetAllBenchmarkRequest ¶
type RestGetAllBenchmarkRequest struct {
Host string `json:"host"`
}
Request struct for RestGetAllBenchmark
type RestGetAllMciPolicyResponse ¶
type RestGetAllMciPolicyResponse struct {
MciPolicy []model.MciPolicyInfo `json:"mciPolicy"`
}
Response structure for RestGetAllMciPolicy
type RestGetAllMciResponse ¶
RestGetAllMciResponse is a response structure for RestGetAllMci
type RestGetAllMciStatusResponse ¶
type RestGetAllMciStatusResponse struct {
Mci []model.MciStatusInfo `json:"mci"`
}
RestGetAllMciStatusResponse is a response structure for RestGetAllMciStatus
type RestGetAllNLBResponse ¶
Response structure for RestGetAllNLB
type RestGetBenchmarkRequest ¶
type RestGetBenchmarkRequest struct {
Host string `json:"host"`
}
type RestPostMciRecommendResponse ¶
type RestPostMciRecommendResponse struct {
//VmReq []TbVmRecommendReq `json:"vmReq"`
VmRecommend []model.TbVmRecommendInfo `json:"vmRecommend"`
PlacementAlgo string `json:"placementAlgo"`
PlacementParam []model.KeyValue `json:"placementParam"`
}