restruntime

package
v0.12.5 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2025 License: Apache-2.0 Imports: 40 Imported by: 0

README

runtime for REST-based API.

Documentation

Index

Constants

define string of resource types redefined for backward compatibility

Variables

This section is empty.

Functions

func AddAccessSubnet added in v0.10.8

func AddAccessSubnet(c echo.Context) error

AddAccessSubnet godoc @Summary Add Access Subnet to FileSystem @Tags [FileSystem Management] @Accept json @Produce json @Param Name path string true "FileSystem Name" @Param AddRequest body restruntime.AccessSubnetRequest true "Add Access Subnet Info" @Success 200 {object} cres.FileSystemInfo @Router /filesystem/{Name}/access-subnet [post]

func AddNLBVMs added in v0.5.11

func AddNLBVMs(c echo.Context) error

addNLBVMs godoc @ID add-nlb-vm @Summary Add VMs to NLB @Description Add a new set of VMs to an existing Network Load Balancer (NLB). @Tags [NLB Management] @Accept json @Produce json @Param Name path string true "The name of the NLB to add VMs to" @Param NLBAddVMsRequest body restruntime.NLBAddVMsRequest true "Request body for adding VMs to an NLB" @Success 200 {object} cres.NLBInfo "Details of the NLB including the added VMs" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /nlb/{Name}/vms [post]

func AddNodeGroup added in v0.6.14

func AddNodeGroup(c echo.Context) error

addNodeGroup godoc @ID add-nodegroup @Summary Add Node Group @Description Add a new Node Group to an existing Cluster. @Tags [Cluster Management] @Accept json @Produce json @Param Name path string true "The name of the Cluster to add the Node Group to" @Param ClusterAddNodeGroupRequest body restruntime.ClusterAddNodeGroupRequest true "Request body for adding a Node Group" @Success 200 {object} cres.ClusterInfo "Details of the Cluster including the added Node Group" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cluster/{Name}/nodegroup [post]

func AddRules added in v0.5.4

func AddRules(c echo.Context) error

addRules godoc @ID add-rule @Summary Add Rules to SecurityGroup @Description Add new rules to a Security Group. @Tags [SecurityGroup Management] @Accept json @Produce json @Param SGName path string true "The name of the SecurityGroup to add rules to" @Param RuleControlRequest body restruntime.RuleControlRequest true "Request body for adding rules" @Success 200 {object} cres.SecurityInfo "Details of the SecurityGroup after adding rules" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /securitygroup/{SGName}/rules [post]

func AddSubnet added in v0.4.9

func AddSubnet(c echo.Context) error

addSubnet godoc @ID add-subnet @Summary Add Subnet @Description Add a new Subnet to an existing VPC. @Tags [VPC Management] @Accept json @Produce json @Param VPCName path string true "The name of the VPC to add the Subnet to" @Param SubnetAddRequest body restruntime.SubnetAddRequest true "Request body for adding a Subnet" @Success 200 {object} cres.VPCInfo "Details of the VPC including the added Subnet" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vpc/{VPCName}/subnet [post]

func AddTag added in v0.9.2

func AddTag(c echo.Context) error

addTag godoc @ID add-tag @Summary Add Tag @Description Add a tag to a specified resource. @Description ※ Resource types: VPC, SUBNET, SG, KEY, VM, NLB, DISK, MYIMAGE, CLUSTER @Tags [Tag Management] @Accept json @Produce json @Param TagAddRequest body restruntime.TagAddRequest true "Request body for adding a tag" @Success 200 {object} cres.KeyValue "Details of the added tag" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /tag [post]

func AnyCall added in v0.6.9

func AnyCall(c echo.Context) error

anyCall godoc @ID any-call @Summary Execute AnyCall @Description Execute a custom function (FID) with key-value parameters through AnyCall. 🕷️ [[Development Guide](https://github.com/cloud-barista/cb-spider/wiki/AnyCall-API-Extension-Guide)] @Tags [AnyCall Management] @Accept json @Produce json @Param AnyCallRequest body restruntime.AnyCallRequest true "Request body for executing AnyCall" @Success 200 {object} cres.AnyCallInfo "Result of the AnyCall operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /anycall [post]

func ApiServer

func ApiServer(routes []route)

================ REST API Server: setup & start

func AttachDisk added in v0.6.7

func AttachDisk(c echo.Context) error

attachDisk godoc @ID attach-disk @Summary Attach Disk @Description Attach an existing Disk to a VM. @Tags [Disk Management] @Accept json @Produce json @Param DiskAttachRequest body restruntime.DiskAttachRequest true "Request body for attaching a Disk to a VM" @Param Name path string true "The name of the Disk to attach" @Success 200 {object} cres.DiskInfo "Details of the attached Disk" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /disk/{Name}/attach [put]

func ChangeHealthChecker added in v0.5.11

func ChangeHealthChecker(c echo.Context) error

################## @todo To support or not will be decided later. // changeHealthChecker godoc // @ID change-healthchecker // @Summary Change NLB Health Checker // @Description Change the Health Checker configuration of a specified Network Load Balancer (NLB). // @Tags [NLB Management] // @Accept json // @Produce json // @Param Name path string true "The name of the NLB to change the Health Checker for" // @Param NLBChangeHealthCheckerRequest body restruntime.NLBChangeHealthCheckerRequest true "Request body for changing the Health Checker" // @Success 200 {object} cres.NLBInfo "Details of the NLB including the changed Health Checker" // @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" // @Failure 404 {object} SimpleMsg "Resource Not Found" // @Failure 500 {object} SimpleMsg "Internal Server Error" // @Router /nlb/{Name}/healthchecker [put] ##################

func ChangeListener added in v0.5.11

func ChangeListener(c echo.Context) error

################## @todo To support or not will be decided later. // changeListener godoc // @ID change-listener // @Summary Change NLB Listener // @Description Change the Listener configuration of a specified Network Load Balancer (NLB). // @Tags [NLB Management] // @Accept json // @Produce json // @Param Name path string true "The name of the NLB to change the listener for" // @Param NLBChangeListenerRequest body restruntime.NLBChangeListenerRequest true "Request body for changing the Listener" // @Success 200 {object} cres.NLBInfo "Details of the NLB including the changed Listener" // @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" // @Failure 404 {object} SimpleMsg "Resource Not Found" // @Failure 500 {object} SimpleMsg "Internal Server Error" // @Router /nlb/{Name}/listener [put] ##################

func ChangeNodeGroupScaling added in v0.6.14

func ChangeNodeGroupScaling(c echo.Context) error

changeNodeGroupScaling godoc @ID change-nodegroup-scaling @Summary Change Node Group Scaling @Description Change the scaling settings for a Node Group in a Cluster. @Tags [Cluster Management] @Accept json @Produce json @Param Name path string true "The name of the Cluster to change Node Group Scaling" @Param NodeGroupName path string true "The name of the Node Group" @Param ClusterChangeNodeGroupScalingRequest body restruntime.ClusterChangeNodeGroupScalingRequest true "Request body for changing Node Group scaling" @Success 200 {object} cres.NodeGroupInfo "Details of the updated Node Group" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cluster/{Name}/nodegroup/{NodeGroupName}/autoscalesize [put]

func ChangeVMGroup added in v0.5.11

func ChangeVMGroup(c echo.Context) error

################## @todo To support or not will be decided later. // changeVMGroup godoc // @ID change-vmgroup // @Summary Change NLB VM Group // @Description Change the VM Group configuration of a specified Network Load Balancer (NLB). // @Tags [NLB Management] // @Accept json // @Produce json // @Param Name path string true "The name of the NLB to change the VM Group for" // @Param NLBChangeVMGroupRequest body restruntime.NLBChangeVMGroupRequest true "Request body for changing the VM Group" // @Success 200 {object} cres.NLBInfo "Details of the NLB including the changed VM Group" // @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" // @Failure 404 {object} SimpleMsg "Resource Not Found" // @Failure 500 {object} SimpleMsg "Internal Server Error" // @Router /nlb/{Name}/vmgroup [put] ##################

func CheckTCPPort added in v0.9.5

func CheckTCPPort(c echo.Context) error

CheckTCPPort godoc @ID check-tcp-port @Summary Check if a specific TCP port is open @Description Verifies whether a given TCP port is open on the specified host. @Tags [Utility] @Accept json @Produce json @Param HostName query string true "The hostname or IP address to check" @Param Port query int true "The TCP port to check" @Success 200 {object} SimpleMsg "Success message with port status" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid parameters" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /check/tcp [get]

func CheckUDPPort added in v0.9.5

func CheckUDPPort(c echo.Context) error

CheckUDPPort godoc @ID check-udp-port @Summary Check if a specific UDP port is open @Description Verifies whether a given UDP port is open on the specified host. @Description ※ Note: As UDP is connectionless, this check mainly performs a lookup and may not confirm if the server is working. @Tags [Utility] @Accept json @Produce json @Param HostName query string true "The hostname or IP address to check" @Param Port query int true "The UDP port to check" @Success 200 {object} SimpleMsg "Success message with port status" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid parameters" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /check/udp [get]

func ControlVM added in v0.4.9

func ControlVM(c echo.Context) error

controlVM godoc @ID control-vm @Summary Control VM @Description Control the state of a Virtual Machine (VM) such as suspend, resume, or reboot. @Tags [VM Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for controlling a VM" @Param Name path string true "The name of the VM to control" @Param action query string true "The action to perform on the VM (suspend, resume, reboot)" @Success 200 {object} VMStatusResponse "Result of the control operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /controlvm/{Name} [put]

func CountAllClusters added in v0.8.17

func CountAllClusters(c echo.Context) error

countAllClusters godoc @ID count-all-cluster @Summary Count All Clusters @Description Get the total number of Clusters across all connections. @Tags [Cluster Management] @Produce json @Success 200 {object} CountResponse "Total count of Clusters" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countcluster [get]

func CountAllConnections added in v0.8.17

func CountAllConnections(c echo.Context) error

countAllConnections godoc @ID count-all-connection @Summary Count All Connections @Description Get the total number of connections. @Tags [Cloud Info Management] Connection Info @Produce json @Success 200 {object} CountResponse "Total count of connections" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countconnectionconfig [get]

func CountAllDisks added in v0.8.17

func CountAllDisks(c echo.Context) error

countAllDisks godoc @ID count-all-disk @Summary Count All Disks @Description Get the total number of Disks across all connections. @Tags [Disk Management] @Produce json @Success 200 {object} CountResponse "Total count of Disks" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countdisk [get]

func CountAllKeys added in v0.8.17

func CountAllKeys(c echo.Context) error

countAllKeys godoc @ID count-all-keypair @Summary Count All KeyPairs @Description Get the total number of KeyPairs across all connections. @Tags [KeyPair Management] @Produce json @Success 200 {object} CountResponse "Total count of KeyPairs" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countkeypair [get]

func CountAllMyImages added in v0.8.17

func CountAllMyImages(c echo.Context) error

countAllMyImages godoc @ID count-all-myimage @Summary Count All MyImages @Description Get the total number of MyImages across all connections. @Tags [MyImage Management] @Produce json @Success 200 {object} CountResponse "Total count of MyImages" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countmyimage [get]

func CountAllNLBs added in v0.8.17

func CountAllNLBs(c echo.Context) error

countAllNLBs godoc @ID count-all-nlb @Summary Count All NLBs @Description Get the total number of Network Load Balancers (NLBs) across all connections. @Tags [NLB Management] @Produce json @Success 200 {object} CountResponse "Total count of NLBs" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countnlb [get]

func CountAllSecurityGroups added in v0.8.17

func CountAllSecurityGroups(c echo.Context) error

countAllSecurityGroups godoc @ID count-all-securitygroup @Summary Count All SecurityGroups @Description Get the total number of Security Groups across all connections. @Tags [SecurityGroup Management] @Produce json @Success 200 {object} CountResponse "Total count of SecurityGroups" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countsecuritygroup [get]

func CountAllSubnets added in v0.8.17

func CountAllSubnets(c echo.Context) error

countAllSubnets godoc @ID count-all-subnet @Summary Count All Subnets @Description Get the total number of Subnets across all connections. @Tags [VPC Management] @Produce json @Success 200 {object} CountResponse "Total count of Subnets" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countsubnet [get]

func CountAllVMs added in v0.8.17

func CountAllVMs(c echo.Context) error

countAllVMs godoc @ID count-all-vm @Summary Count All VMs @Description Get the total number of Virtual Machines (VMs) across all connections. @Tags [VM Management] @Produce json @Success 200 {object} CountResponse "Total count of VMs" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countvm [get]

func CountAllVPCs added in v0.8.17

func CountAllVPCs(c echo.Context) error

countAllVPCs godoc @ID count-all-vpc @Summary Count All VPCs @Description Get the total number of VPCs across all connections. @Tags [VPC Management] @Produce json @Success 200 {object} CountResponse "Total count of VPCs" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countvpc [get]

func CountClustersByConnection added in v0.8.17

func CountClustersByConnection(c echo.Context) error

countClustersByConnection godoc @ID count-cluster-by-connection @Summary Count Clusters by Connection @Description Get the total number of Clusters for a specific connection. @Tags [Cluster Management] @Produce json @Param ConnectionName path string true "The name of the Connection" @Success 200 {object} CountResponse "Total count of Clusters for the connection" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countcluster/{ConnectionName} [get]

func CountConnectionsByProvider added in v0.8.17

func CountConnectionsByProvider(c echo.Context) error

countConnectionsByProvider godoc @ID count-connection-by-provider @Summary Count Connections by Provider @Description Get the total number of connections for a specific provider. @Tags [Cloud Info Management] Connection Info @Produce json @Param ProviderName path string true "The name of the provider" @Success 200 {object} CountResponse "Total count of connections for the provider" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countconnectionconfig/{ProviderName} [get]

func CountDisksByConnection added in v0.8.17

func CountDisksByConnection(c echo.Context) error

countDisksByConnection godoc @ID count-disk-by-connection @Summary Count Disks by Connection @Description Get the total number of Disks for a specific connection. @Tags [Disk Management] @Produce json @Param ConnectionName path string true "The name of the Connection" @Success 200 {object} CountResponse "Total count of Disks for the connection" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countdisk/{ConnectionName} [get]

func CountKeysByConnection added in v0.8.17

func CountKeysByConnection(c echo.Context) error

countKeysByConnection godoc @ID count-keypair-by-connection @Summary Count KeyPairs by Connection @Description Get the total number of KeyPairs for a specific connection. @Tags [KeyPair Management] @Produce json @Param ConnectionName path string true "The name of the Connection" @Success 200 {object} CountResponse "Total count of KeyPairs for the connection" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countkeypair/{ConnectionName} [get]

func CountMyImagesByConnection added in v0.8.17

func CountMyImagesByConnection(c echo.Context) error

countMyImagesByConnection godoc @ID count-myimage-by-connection @Summary Count MyImages by Connection @Description Get the total number of MyImages for a specific connection. @Tags [MyImage Management] @Produce json @Param ConnectionName path string true "The name of the Connection" @Success 200 {object} CountResponse "Total count of MyImages for the connection" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countmyimage/{ConnectionName} [get]

func CountNLBsByConnection added in v0.8.17

func CountNLBsByConnection(c echo.Context) error

countNLBsByConnection godoc @ID count-nlb-by-connection @Summary Count NLBs by Connection @Description Get the total number of Network Load Balancers (NLBs) for a specific connection. @Tags [NLB Management] @Produce json @Param ConnectionName path string true "The name of the Connection" @Success 200 {object} CountResponse "Total count of NLBs for the connection" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countnlb/{ConnectionName} [get]

func CountS3BucketsByConnection added in v0.12.1

func CountS3BucketsByConnection(c echo.Context) error

CountS3BucketsByConnection godoc @ID count-s3-by-connection @Summary Count S3 Buckets by Connection @Description Get the total number of S3 buckets for a specific connection. @Tags [S3 Object Storage Management] @Produce json @Param ConnectionName path string true "The name of the Connection" @Success 200 {object} CountResponse "Total count of S3 buckets for the connection" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /counts3/{ConnectionName} [get]

func CountSecurityGroupsByConnection added in v0.8.17

func CountSecurityGroupsByConnection(c echo.Context) error

countSecurityGroupsByConnection godoc @ID count-securitygroup-by-connection @Summary Count SecurityGroups by Connection @Description Get the total number of Security Groups for a specific connection. @Tags [SecurityGroup Management] @Produce json @Param ConnectionName path string true "The name of the Connection" @Success 200 {object} CountResponse "Total count of SecurityGroups for the connection" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countsecuritygroup/{ConnectionName} [get]

func CountSubnetsByConnection added in v0.8.17

func CountSubnetsByConnection(c echo.Context) error

countSubnetsByConnection godoc @ID count-subnet-by-connection @Summary Count Subnets by Connection @Description Get the total number of Subnets for a specific connection. @Tags [VPC Management] @Produce json @Param ConnectionName path string true "The name of the Connection" @Success 200 {object} CountResponse "Total count of Subnets for the connection" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countsubnet/{ConnectionName} [get]

func CountVMsByConnection added in v0.8.17

func CountVMsByConnection(c echo.Context) error

countVMsByConnection godoc @ID count-vm-by-connection @Summary Count VMs by Connection @Description Get the total number of Virtual Machines (VMs) for a specific connection. @Tags [VM Management] @Produce json @Param ConnectionName path string true "The name of the Connection" @Success 200 {object} CountResponse "Total count of VMs for the connection" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countvm/{ConnectionName} [get]

func CountVPCsByConnection added in v0.8.17

func CountVPCsByConnection(c echo.Context) error

countVPCsByConnection godoc @ID count-vpc-by-connection @Summary Count VPCs by Connection @Description Get the total number of VPCs for a specific connection. @Tags [VPC Management] @Produce json @Param ConnectionName path string true "The name of the Connection" @Success 200 {object} CountResponse "Total count of VPCs for the connection" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /countvpc/{ConnectionName} [get]

func CreateCluster added in v0.6.14

func CreateCluster(c echo.Context) error

createCluster godoc @ID create-cluster @Summary Create Cluster @Description Create a new Cluster with specified configurations. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Provider-Managed-Kubernetes-and-Driver-API)] <br> * NodeGroupList is optional, depends on CSP type: <br> &nbsp;- Type-I (e.g., Tencent, Alibaba): requires separate Node Group addition after Cluster creation. <br> &nbsp;- Type-II (e.g., Azure, NHN): mandates at least one Node Group during initial Cluster creation. @Tags [Cluster Management] @Accept json @Produce json @Param ClusterCreateRequest body restruntime.ClusterCreateRequest true "Request body for creating a Cluster" @Success 200 {object} cres.ClusterInfo "Details of the created Cluster" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cluster [post]

func CreateConnectionConfig added in v0.4.9

func CreateConnectionConfig(c echo.Context) error

createConnectionConfig godoc @ID create-connection-config @Summary Create Connection Config @Description Create a new Connection Config. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#4-cloud-connection-configuration-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)] @Tags [Cloud Info Management] Connection Info @Accept json @Produce json @Param ConnectionConfigInfo body ccim.ConnectionConfigInfo true "Request body for creating a Connection Config" @Success 200 {object} ccim.ConnectionConfigInfo "Details of the created Connection Config" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /connectionconfig [post]

func CreateDisk added in v0.6.7

func CreateDisk(c echo.Context) error

createDisk godoc @ID create-disk @Summary Create Disk @Description Create a new Disk with the specified configuration. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Disk-and-Driver-API)], [[Snapshot-MyImage,Disk Guide](https://github.com/cloud-barista/cb-spider/wiki/VM-Snapshot,-MyImage-and-Disk-Overview)] @Tags [Disk Management] @Accept json @Produce json @Param DiskCreateRequest body restruntime.DiskCreateRequest true "Request body for creating a Disk" @Success 200 {object} cres.DiskInfo "Details of the created Disk" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /disk [post]

func CreateFileSystem added in v0.10.8

func CreateFileSystem(c echo.Context) error

CreateFileSystem godoc @ID create-filesystem @Summary Create FileSystem @Description Create a new FileSystem with the specified configuration. @Tags [FileSystem Management] @Accept json @Produce json @Param FileSystemCreateRequest body restruntime.FileSystemCreateRequest true "Request body for creating a FileSystem" @Success 200 {object} cres.FileSystemInfo "Details of the created FileSystem" @Failure 400 {object} SimpleMsg "Bad Request" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /filesystem [post]

func CreateKey added in v0.4.9

func CreateKey(c echo.Context) error

createKey godoc @ID create-keypair @Summary Create KeyPair @Description Create a new KeyPair with the specified configurations. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#5-vm-keypair-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%A0%9C%EC%96%B4)] @Tags [KeyPair Management] @Accept json @Produce json @Param KeyPairCreateRequest body restruntime.KeyPairCreateRequest true "Request body for creating a KeyPair" @Success 200 {object} cres.KeyPairInfo "Details of the created KeyPair" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /keypair [post]

func CreateNLB added in v0.5.10

func CreateNLB(c echo.Context) error

createNLB godoc @ID create-nlb @Summary Create NLB @Description Create a new Network Load Balancer (NLB) with specified configurations. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Network-Load-Balancer-and-Driver-API)] @Tags [NLB Management] @Accept json @Produce json @Param NLBCreateRequest body restruntime.NLBCreateRequest true "Request body for creating an NLB" @Success 200 {object} cres.NLBInfo "Details of the created NLB" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /nlb [post]

func CreateS3Bucket added in v0.10.8

func CreateS3Bucket(c echo.Context) error

CreateS3Bucket godoc @ID create-s3-bucket @Summary Create a new S3 bucket or set bucket configuration @Description Creates a new S3 bucket or sets bucket configuration based on query parameters. @Description @Description **Operations:** @Description - No query params: Create a new bucket @Description - ?versioning: Set versioning configuration (Enable/Suspend) @Description - ?cors: Set CORS configuration @Description @Description **IMPORTANT: Choose only ONE body configuration based on query parameter:** @Description - If using ?versioning: Use VersioningConfiguration body @Description - If using ?cors: Use CORSConfiguration body @Description - If no query params: No body required (bucket creation) @Description @Description **Versioning Status Values:** @Description - Enabled: Enable versioning for the bucket @Description - Suspended: Suspend versioning for the bucket @Description @Description **CORS Configuration Example:** @Description - AllowedOrigin: ["*"] or ["https://example.com"] @Description - AllowedMethod: ["GET", "PUT", "POST", "DELETE", "HEAD"] @Description - AllowedHeader: ["*"] or ["Content-Type", "Authorization"] @Description - ExposeHeader: ["ETag", "x-amz-request-id"] @Description - MaxAgeSeconds: 3600 (cache preflight response for 1 hour) @Tags [S3 Object Storage Management] @Accept xml,json @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param versioning query string false "Set versioning configuration" @Param cors query string false "Set CORS configuration" @Param VersioningConfiguration body VersioningConfiguration false "USE THIS ONLY with ?versioning query parameter. Status: 'Enabled' or 'Suspended'" @Param CORSConfiguration body CORSConfiguration false "USE THIS ONLY with ?cors query parameter. Must include at least one CORSRule" @Success 200 "Bucket created or configuration updated successfully" @Failure 400 {object} S3Error "Bad Request" @Failure 409 {object} S3Error "Conflict - Bucket already exists" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/{BucketName} [put]

func CreateSecurity added in v0.4.9

func CreateSecurity(c echo.Context) error

createSecurity godoc @ID create-securitygroup @Summary Create SecurityGroup @Description Create a new Security Group with specified rules and tags. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Security-Group-Rules-and-Driver-API)], 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#4-securitygroup-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%A0%9C%EC%96%B4)] @Tags [SecurityGroup Management] @Accept json @Produce json @Param SecurityGroupCreateRequest body restruntime.SecurityGroupCreateRequest true "Request body for creating a SecurityGroup" @Success 200 {object} cres.SecurityInfo "Details of the created SecurityGroup" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /securitygroup [post]

func CreateVPC added in v0.4.9

func CreateVPC(c echo.Context) error

createVPC godoc @ID create-vpc @Summary Create VPC @Description Create a new Virtual Private Cloud (VPC) with specified subnet configurations. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#3-vpcsubnet-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%A0%9C%EC%96%B4)] @Tags [VPC Management] @Accept json @Produce json @Param VPCCreateRequest body restruntime.VPCCreateRequest true "Request body for creating a VPC" @Success 200 {object} cres.VPCInfo "Details of the created VPC" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vpc [post]

func DeleteCSPCluster added in v0.6.14

func DeleteCSPCluster(c echo.Context) error

deleteCSPCluster godoc @ID delete-csp-cluster @Summary Delete CSP Cluster @Description Delete a specified CSP Cluster. @Tags [Cluster Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a CSP Cluster" @Param Id path string true "The CSP Cluster ID to delete" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cspcluster/{Id} [delete]

func DeleteCSPDisk added in v0.6.7

func DeleteCSPDisk(c echo.Context) error

deleteCSPDisk godoc @ID delete-csp-disk @Summary Delete CSP Disk @Description Delete a specified CSP Disk. @Tags [Disk Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a CSP Disk" @Param Id path string true "The CSP Disk ID to delete" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cspdisk/{Id} [delete]

func DeleteCSPKey added in v0.4.9

func DeleteCSPKey(c echo.Context) error

deleteCSPKey godoc @ID delete-csp-keypair @Summary Delete CSP KeyPair @Description Delete a specified CSP KeyPair. @Tags [KeyPair Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a CSP KeyPair" @Param Id path string true "The CSP KeyPair ID to delete" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cspkeypair/{Id} [delete]

func DeleteCSPMyImage added in v0.6.10

func DeleteCSPMyImage(c echo.Context) error

deleteCSPMyImage godoc @ID delete-csp-myimage @Summary Delete CSP MyImage @Description Delete a specified CSP MyImage. @Tags [MyImage Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a CSP MyImage" @Param Id path string true "The CSP MyImage ID to delete" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cspmyimage/{Id} [delete]

func DeleteCSPNLB added in v0.5.10

func DeleteCSPNLB(c echo.Context) error

deleteCSPNLB godoc @ID delete-csp-nlb @Summary Delete CSP NLB @Description Delete a specified CSP Network Load Balancer (NLB). @Tags [NLB Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a CSP NLB" @Param Id path string true "The CSP NLB ID to delete" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cspnlb/{Id} [delete]

func DeleteCSPSecurity added in v0.4.9

func DeleteCSPSecurity(c echo.Context) error

deleteCSPSecurity godoc @ID delete-csp-securitygroup @Summary Delete CSP SecurityGroup @Description Delete a specified CSP Security Group. @Tags [SecurityGroup Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a CSP SecurityGroup" @Param Id path string true "The CSP SecurityGroup ID to delete" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cspsecuritygroup/{Id} [delete]

func DeleteCSPVPC added in v0.4.9

func DeleteCSPVPC(c echo.Context) error

deleteCSPVPC godoc @ID delete-csp-vpc @Summary Delete CSP VPC @Description Delete a specified CSP Virtual Private Cloud (VPC). @Tags [VPC Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a CSP VPC" @Param Id path string true "The CSP VPC ID to delete" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cspvpc/{Id} [delete]

func DeleteCluster added in v0.6.14

func DeleteCluster(c echo.Context) error

deleteCluster godoc @ID delete-cluster @Summary Delete Cluster @Description Delete a specified Cluster. @Tags [Cluster Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a Cluster" @Param Name path string true "The name of the Cluster to delete" @Param force query string false "Force delete the Cluster. ex) true or false(default: false)" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cluster/{Name} [delete]

func DeleteConnectionConfig added in v0.4.9

func DeleteConnectionConfig(c echo.Context) error

deleteConnectionConfig godoc @ID delete-connection-config @Summary Delete Connection Config @Description Delete a specific Connection Config. @Tags [Cloud Info Management] Connection Info @Produce json @Param ConfigName path string true "The name of the Connection Config" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /connectionconfig/{ConfigName} [delete]

func DeleteDisk added in v0.6.7

func DeleteDisk(c echo.Context) error

deleteDisk godoc @ID delete-disk @Summary Delete Disk @Description Delete a specified Disk. @Tags [Disk Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a Disk" @Param Name path string true "The name of the Disk to delete" @Param force query string false "Force delete the Disk. ex) true or false(default: false)" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /disk/{Name} [delete]

func DeleteFileSystem added in v0.10.8

func DeleteFileSystem(c echo.Context) error

DeleteFileSystem godoc @Summary Delete FileSystem @Tags [FileSystem Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Connection Name" @Param Name path string true "FileSystem Name" @Success 200 {object} BooleanInfo @Router /filesystem/{Name} [delete]

func DeleteKey added in v0.4.9

func DeleteKey(c echo.Context) error

deleteKey godoc @ID delete-keypair @Summary Delete KeyPair @Description Delete a specified KeyPair. @Tags [KeyPair Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a KeyPair" @Param Name path string true "The name of the KeyPair to delete" @Param force query string false "Force delete the KeyPair. ex) true or false(default: false)" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /keypair/{Name} [delete]

func DeleteMyImage added in v0.6.10

func DeleteMyImage(c echo.Context) error

deleteMyImage godoc @ID delete-myimage @Summary Delete MyImage @Description Delete a specified MyImage. @Tags [MyImage Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a MyImage" @Param Name path string true "The name of the MyImage to delete" @Param force query string false "Force delete the MyImage. ex) true or false(default: false)" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /myimage/{Name} [delete]

func DeleteNLB added in v0.5.10

func DeleteNLB(c echo.Context) error

deleteNLB godoc @ID delete-nlb @Summary Delete NLB @Description Delete a specified Network Load Balancer (NLB). @Tags [NLB Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting an NLB" @Param Name path string true "The name of the NLB to delete" @Param force query string false "Force delete the NLB. ex) true or false(default: false)" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /nlb/{Name} [delete]

func DeleteS3Bucket added in v0.10.8

func DeleteS3Bucket(c echo.Context) error

DeleteS3Bucket godoc @ID delete-s3-bucket @Summary Delete an S3 bucket or bucket configuration @Description Deletes an S3 bucket or specific bucket configuration based on query parameters. @Description @Description **Operations:** @Description - No query params: Delete bucket (must be empty) @Description - ?cors: Delete CORS configuration @Description - ?empty: Force empty bucket (removes all objects) @Description - ?force: Force delete bucket with all contents @Tags [S3 Object Storage Management] @Accept xml,json @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param cors query string false "Delete CORS configuration" @Param empty query string false "Force empty bucket" @Param force query string false "Force delete bucket with all contents" @Param X-Force-Empty header string false "Safety header for force empty (required with ?empty)" @Param X-Force-Delete header string false "Safety header for force delete (required with ?force)" @Success 200 "CORS configuration deleted" @Success 204 "Bucket deleted successfully" @Failure 400 {object} S3Error "Bad Request" @Failure 404 {object} S3Error "Bucket not found" @Failure 409 {object} S3Error "Conflict - Bucket not empty" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/{BucketName} [delete]

func DeleteS3Object added in v0.10.8

func DeleteS3Object(c echo.Context) error

DeleteS3Object godoc @ID delete-s3-object @Summary Delete an object from S3 or abort multipart upload @Description Deletes an object or aborts a multipart upload based on query parameters. @Description @Description **Operations:** @Description - No query params: Delete object (current version) @Description - ?versionId={id}: Delete specific version @Description - ?uploadId={id}: Abort multipart upload @Tags [S3 Object Storage Management] @Accept xml,json @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param ObjectKey path string true "Object key (full path)" @Param versionId query string false "Version ID to delete" @Param uploadId query string false "Upload ID to abort" @Success 204 "Object deleted or upload aborted successfully" @Failure 404 {object} S3Error "Object not found" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/{BucketName}/{ObjectKey} [delete]

func DeleteSecurity added in v0.4.9

func DeleteSecurity(c echo.Context) error

deleteSecurity godoc @ID delete-securitygroup @Summary Delete SecurityGroup @Description Delete a specified Security Group. @Tags [SecurityGroup Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a SecurityGroup" @Param Name path string true "The name of the SecurityGroup to delete" @Param force query string false "Force delete the SecurityGroup. ex) true or false(default: false)" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /securitygroup/{Name} [delete]

func DeleteVPC added in v0.4.9

func DeleteVPC(c echo.Context) error

deleteVPC godoc @ID delete-vpc @Summary Delete VPC @Description Delete a specified Virtual Private Cloud (VPC). @Tags [VPC Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting a VPC" @Param Name path string true "The name of the VPC to delete" @Param force query string false "Force delete the VPC. ex) true or false(default: false)" @Success 200 {object} BooleanInfo "Result of the delete operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vpc/{Name} [delete]

func Destroy added in v0.8.20

func Destroy(c echo.Context) error

Destroy godoc @ID destroy-all-resource @Summary Destroy all resources in a connection @Description Deletes all resources associated with a specific cloud connection. This action is irreversible. @Tags [Utility] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for deleting all resources" @Success 200 {object} cmrt.DestroyedInfo "Details of the destroyed resources" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to missing parameters" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /destroy [delete]

func DetachDisk added in v0.6.7

func DetachDisk(c echo.Context) error

detachDisk godoc @ID detach-disk @Summary Detach Disk @Description Detach an existing Disk from a VM. @Tags [Disk Management] @Accept json @Produce json @Param DiskDetachRequest body restruntime.DiskDetachRequest true "Request body for detaching a Disk from a VM" @Param Name path string true "The name of the Disk to detach" @Success 200 {object} BooleanInfo "Result of the detach operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /disk/{Name}/detach [put]

func DownloadS3Object added in v0.10.8

func DownloadS3Object(c echo.Context) error

DownloadS3Object godoc @ID download-s3-object @Summary Download an object from S3 or list parts of multipart upload @Description Downloads an object from S3 or lists parts of a multipart upload based on query parameters. @Description @Description **Operations:** @Description - No query params: Download object @Description - ?versionId={id}: Download specific version of object @Description - ?uploadId={id}&list-type=parts: List parts of multipart upload @Description @Description **List Parts Example (verify uploaded parts):** @Description - uploadId: Use UploadId from initiate response @Description - list-type: Must be "parts" @Description - Response shows all uploaded parts with PartNumber, ETag, Size @Description - Optional: part-number-marker (pagination), max-parts (limit) @Tags [S3 Object Storage Management] @Accept xml,json @Produce application/octet-stream,application/xml,application/json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param ObjectKey path string true "Object key (full path)" @Param versionId query string false "Version ID for versioned object" @Param uploadId query string false "Upload ID for listing parts" @Param list-type query string false "Must be 'parts' when listing multipart upload parts" @Success 200 "Object content or parts list" @Failure 404 {object} S3Error "Object not found" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/{BucketName}/{ObjectKey} [get]

func FetchResourceUsage added in v0.10.4

func FetchResourceUsage(c echo.Context) error

FetchResourceUsage godoc @ID fetch-resource-usage @Summary Fetch Resource Usage Information @Description Retrieve resource usage information such as CPU, memory, disk I/O, and network I/O. @Description Use query parameter 'mode=text' to get the output in text format instead of JSON. @Tags [Utility] @Accept json @Produce json,text/plain @Param mode query string false "Output format: set to 'text' for text output (default is JSON)" Enums(text) @Success 200 {object} cmrt.ResourceUsage "Resource Usage Information in JSON or text format based on 'mode' parameter" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /sysstats/usage [get]

func FetchSystemInfo added in v0.10.4

func FetchSystemInfo(c echo.Context) error

FetchSystemInfo godoc @ID fetch-system-info @Summary Fetch System Information @Description Retrieve system information such as hostname, platform, CPU, memory, and disk. @Description Use query parameter 'mode=text' to get the output in text format instead of JSON. @Tags [Utility] @Accept json @Produce json,text/plain @Param mode query string false "Output format: set to 'text' for text output (default is JSON)" Enums(text) @Success 200 {object} cmrt.SystemInfo "System Information in JSON or text format based on 'mode' parameter" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /sysstats/system [get]

func FindTag added in v0.9.2

func FindTag(c echo.Context) error

func ForceDeleteS3Bucket added in v0.11.0

func ForceDeleteS3Bucket(c echo.Context) error

ForceDeleteS3Bucket forcefully empties and deletes a bucket

func ForceEmptyS3Bucket added in v0.11.0

func ForceEmptyS3Bucket(c echo.Context) error

ForceEmptyS3Bucket forcefully empties a bucket but keeps the bucket

func GetAllSPLockInfo added in v0.5.7

func GetAllSPLockInfo(c echo.Context) error

func GetCSPResourceInfo added in v0.6.17

func GetCSPResourceInfo(c echo.Context) error

func GetCSPResourceName added in v0.6.6

func GetCSPResourceName(c echo.Context) error

func GetCSPVM added in v0.6.16

func GetCSPVM(c echo.Context) error

getCSPVM godoc @ID get-csp-vm @Summary Get CSP VM @Description Retrieve details of a specific CSP Virtual Machine (VM). @Tags [VM Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a CSP VM for" @Param Id path string true "The CSP VM ID to retrieve" @Success 200 {object} cres.VMInfo "Details of the CSP VM" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cspvm/{Id} [get]

func GetCloudDriver added in v0.4.9

func GetCloudDriver(c echo.Context) error

getCloudDriver godoc @ID get-driver @Summary Get Cloud Driver @Description Retrieve details of a specific Cloud Driver. @Tags [Cloud Info Management] Driver Info @Produce json @Param DriverName path string true "The name of the Cloud Driver" @Success 200 {object} dim.CloudDriverInfo "Details of the Cloud Driver" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /driver/{DriverName} [get]

func GetCloudDriverAndConnectionInfoTLS added in v0.9.8

func GetCloudDriverAndConnectionInfoTLS(c echo.Context) error

Critical data for Spiderlet. Requires a TLS environment.

func GetCloudOSMetaInfo added in v0.5.1

func GetCloudOSMetaInfo(c echo.Context) error

getCloudOSMetaInfo godoc @ID get-cloudos-metainfo @Summary Get Cloud OS Meta Info @Description Retrieve metadata information for a specific Cloud OS. @Tags [Cloud Info Management] CloudOS Info @Produce json @Param CloudOSName path string true "The name of the Cloud OS" @Success 200 {object} im.CloudOSMetaInfo "Cloud OS Meta Info" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cloudos/metainfo/{CloudOSName} [get]

func GetCluster added in v0.6.14

func GetCluster(c echo.Context) error

getCluster godoc @ID get-cluster @Summary Get Cluster @Description Retrieve details of a specific Cluster. @Tags [Cluster Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a Cluster for" @Param Name path string true "The name of the Cluster to retrieve" @Success 200 {object} cres.ClusterInfo "Details of the Cluster" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cluster/{Name} [get]

func GetClusterOwnerVPC added in v0.6.14

func GetClusterOwnerVPC(c echo.Context) error

getClusterOwnerVPC godoc @ID get-cluster-owner-vpc @Summary Get Cluster Owner VPC @Description Retrieve the owner VPC of a specified Cluster. @Tags [Cluster Management] @Accept json @Produce json @Param ClusterGetOwnerVPCRequest body restruntime.ClusterGetOwnerVPCRequest true "Request body for getting Cluster Owner VPC" @Success 200 {object} cres.IID "Details of the owner VPC" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /getclusterowner [post]

func GetClusterToken added in v0.11.13

func GetClusterToken(c echo.Context) error

getClusterToken godoc @ID get-cluster-token @Summary Get Cluster Token @Description Get a temporary token for accessing EKS cluster (for kubectl exec auth) @Tags [Cluster Management] @Accept json @Produce json @Param Name path string true "The name of the Cluster to get token for" @Param ConnectionName query string true "The name of the Connection to use" @Success 200 {object} ClusterTokenResponse "Temporary token for cluster access" @Failure 400 {object} SimpleMsg "Bad Request, missing required parameters" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cluster/{Name}/token [get]

func GetConnectionConfig added in v0.4.9

func GetConnectionConfig(c echo.Context) error

getConnectionConfig godoc @ID get-connection-config @Summary Get Connection Config @Description Retrieve details of a specific Connection Config. @Tags [Cloud Info Management] Connection Info @Produce json @Param ConfigName path string true "The name of the Connection Config" @Success 200 {object} ccim.ConnectionConfigInfo "Details of the Connection Config" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /connectionconfig/{ConfigName} [get]

func GetCredential added in v0.4.9

func GetCredential(c echo.Context) error

getCredential godoc @ID get-credential @Summary Get Credential @Description Retrieve details of a specific Credential. @Tags [Cloud Info Management] Credential Info @Produce json @Param CredentialName path string true "The name of the Credential" @Success 200 {object} cim.CredentialInfo "Details of the Credential" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /credential/{CredentialName} [get]

func GetDisk added in v0.6.7

func GetDisk(c echo.Context) error

getDisk godoc @ID get-disk @Summary Get Disk @Description Retrieve details of a specific Disk. @Tags [Disk Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a Disk for" @Param Name path string true "The name of the Disk to retrieve" @Success 200 {object} cres.DiskInfo "Details of the Disk" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /disk/{Name} [get]

func GetDriverCapability added in v0.10.3

func GetDriverCapability(c echo.Context) error

getDriverCapability godoc @ID get-driver-capability @Summary Get Driver Capability Information @Description Retrieve capability information of the cloud driver. @Tags [Cloud Driver] Capability @Accept json @Produce json @Param ConnectionName query string true "Name of connection to retrieve driver capability for" @Success 200 {object} DriverCapabilityResponse "Driver Capability Information Details" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to empty or invalid connection name" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /driver/capability [get]

func GetFileSystem added in v0.10.8

func GetFileSystem(c echo.Context) error

GetFileSystem godoc @Summary Get FileSystem @Tags [FileSystem Management] @Produce json @Param ConnectionName query string true "Connection Name" @Param Name path string true "FileSystem Name" @Success 200 {object} cres.FileSystemInfo @Router /filesystem/{Name} [get]

func GetImage added in v0.4.9

func GetImage(c echo.Context) error

getImage godoc @ID get-image @Summary Get Public Image @Description Retrieve details of a specific Public Image. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/How-to-get-Image-List-with-REST-API)] @Tags [Cloud Metadata] Public VM Image @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a specific Public Image for" @Param Name path string true "The name of the Public Image to retrieve" @Success 200 {object} cres.ImageInfo "Details of the Public Image" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vmimage/{Name} [get]

func GetKey added in v0.4.9

func GetKey(c echo.Context) error

getKey godoc @ID get-keypair @Summary Get KeyPair @Description Retrieve details of a specific KeyPair. @Tags [KeyPair Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a KeyPair for" @Param Name path string true "The name of the KeyPair to retrieve" @Success 200 {object} cres.KeyPairInfo "Details of the KeyPair" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /keypair/{Name} [get]

func GetMyImage added in v0.6.10

func GetMyImage(c echo.Context) error

getMyImage godoc @ID get-myimage @Summary Get MyImage @Description Retrieve details of a specific MyImage. @Tags [MyImage Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a MyImage for" @Param Name path string true "The name of the MyImage to retrieve" @Success 200 {object} cres.MyImageInfo "Details of the MyImage" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /myimage/{Name} [get]

func GetNLB added in v0.5.10

func GetNLB(c echo.Context) error

getNLB godoc @ID get-nlb @Summary Get NLB @Description Retrieve details of a specific Network Load Balancer (NLB). @Tags [NLB Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get an NLB for" @Param Name path string true "The name of the NLB to retrieve" @Success 200 {object} cres.NLBInfo "Details of the NLB" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /nlb/{Name} [get]

func GetNLBOwnerVPC added in v0.5.11

func GetNLBOwnerVPC(c echo.Context) error

registerNLB godoc @ID get-nlb-owner-vpc @Summary Get NLB Owner VPC @Description Retrieve the owner VPC of a specified Network Load Balancer (NLB). @Tags [NLB Management] @Accept json @Produce json @Param NLBGetOwnerVPCRequest body restruntime.NLBGetOwnerVPCRequest true "Request body for getting NLB Owner VPC" @Success 200 {object} cres.IID "Details of the owner VPC" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /getnlbowner [post]

func GetOrgVMSpec added in v0.4.9

func GetOrgVMSpec(c echo.Context) error

getOrgVMSpec godoc @ID get-org-vm-spec @Summary Get Original VM Spec @Description Retrieve details of a specific Original VM Spec. @Tags [Cloud Metadata] VM Spec @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a specific Original VM spec for" @Param Name path string true "The name of the VM spec to retrieve" @Success 200 {object} OriginalVMSpecListResponse "Details of the Original VM Spec" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vmorgspec/{Name} [get]

func GetRegion added in v0.4.9

func GetRegion(c echo.Context) error

getRegion godoc @ID get-region @Summary Get Region @Description Retrieve details of a specific Region. @Tags [Cloud Info Management] Region Info @Produce json @Param RegionName path string true "The name of the Region" @Success 200 {object} rim.RegionInfo "Details of the Region" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /region/{RegionName} [get]

func GetRegionZone added in v0.7.6

func GetRegionZone(c echo.Context) error

getRegionZone godoc @ID get-region-zone @Summary Get Region Zone @Description Retrieve details of a specific Region Zone. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)] @Tags [Cloud Metadata] Region/Zone @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a specific Region and Zones for" @Param Name path string true "The name of the Region to retrieve" @Success 200 {object} cres.RegionZoneInfo "Details of the Region Zone" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regionzone/{Name} [get]

func GetRegionZonePreConfig added in v0.8.5

func GetRegionZonePreConfig(c echo.Context) error

getRegionZonePreConfig godoc @ID get-region-zone-preconfig @Summary Get Pre-configured Region Zone @Description Retrieve details of a specific pre-configured Region Zone based on driver and credential names. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)] @Tags [Cloud Metadata] Region/Zone @Accept json @Produce json @Param PreConfigRegionZoneGetRequest query restruntime.PreConfigRegionZoneGetRequest true "Query parameters for getting a specific pre-configured region zone" @Param Name path string true "The name of the Region to retrieve" @Success 200 {object} cres.RegionZoneInfo "Details of the Pre-configured Region Zone" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /preconfig/regionzone/{Name} [get]

func GetS3Bucket added in v0.10.8

func GetS3Bucket(c echo.Context) error

func GetS3BucketGET added in v0.12.1

func GetS3BucketGET(c echo.Context) error

GetS3BucketGET godoc @ID get-s3-bucket-get @Summary Get S3 bucket information (GET request) @Description List objects in bucket or get bucket configuration based on query parameters. Query parameters: ?location (bucket location), ?versioning (versioning status), ?cors (CORS config), ?versions (object versions), ?uploads (multipart uploads). Without query params, lists objects in bucket. @Tags [S3 Object Storage Management] @Accept xml,json @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param location query string false "Get bucket location" @Param versioning query string false "Get versioning status" @Param cors query string false "Get CORS configuration" @Param versions query string false "List object versions" @Param uploads query string false "List multipart uploads" @Success 200 {object} object "Bucket information or object list" @Failure 404 {object} S3Error "Bucket not found" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/{BucketName} [get]

func GetS3BucketHEAD added in v0.12.1

func GetS3BucketHEAD(c echo.Context) error

GetS3BucketHEAD godoc @ID get-s3-bucket-head @Summary Check if S3 bucket exists @Description Check if a bucket exists using HEAD request. Returns 200 if exists, 404 if not found. @Tags [S3 Object Storage Management] @Accept xml,json @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Success 200 "Bucket exists" @Failure 403 "Access forbidden" @Failure 404 "Bucket not found" @Router /s3/{BucketName} [head]

func GetS3BucketUsage added in v0.12.5

func GetS3BucketUsage(c echo.Context) error

GetS3BucketUsage godoc @ID get-s3-bucket-usage @Summary Get S3 bucket storage usage @Description Returns the total size (in bytes) of all objects stored in an S3 bucket. @Description @Description **Response Format:** @Description - Supports both XML and JSON formats based on Accept header @Description - Default: XML format @Description - JSON: Set Accept header to "application/json" @Description @Description **Response Fields:** @Description - CurrentSize: Size of current (latest) objects in bytes @Description - DeletedVersionsSize: Size of non-current versions in bytes @Description - TotalSize: Total bucket size (CurrentSize + DeletedVersionsSize) @Description @Description **XML Response Example:** @Description ```xml @Description <?xml version="1.0" encoding="UTF-8"?> @Description <BucketUsage> @Description <BucketName>my-bucket</BucketName> @Description <CurrentSize>524288</CurrentSize> @Description <DeletedVersionsSize>524288</DeletedVersionsSize> @Description <TotalSize>1048576</TotalSize> @Description </BucketUsage> @Description ``` @Description @Description **JSON Response Example:** @Description ```json @Description { @Description "BucketName": "my-bucket", @Description "CurrentSize": 524288, @Description "DeletedVersionsSize": 524288, @Description "TotalSize": 1048576 @Description } @Description ``` @Tags [S3 Object Storage Management] @Accept xml,json @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Success 200 {object} object "Bucket usage information" @Failure 404 {object} S3Error "Bucket not found" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/{BucketName}/usage [get]

func GetS3ObjectInfo added in v0.10.8

func GetS3ObjectInfo(c echo.Context) error

GetS3ObjectInfo godoc @ID get-s3-object-info @Summary Get object metadata (HEAD request) @Description Returns metadata about an object without returning the object itself. @Description @Description **Important**: This is a HEAD request that only returns headers (metadata), not the file content. @Description The response includes Content-Type, Content-Length, Last-Modified, ETag, and version information. @Description Do NOT use "Download file" button in Swagger UI - it will create an empty/invalid file. @Description Use GET /s3/{BucketName}/{ObjectKey} to download the actual file. @Tags [S3 Object Storage Management] @Accept xml,json @Produce text/plain @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param ObjectKey path string true "Object key (full path)" @Param versionId query string false "Version ID for versioned object" @Success 200 "Object metadata in response headers (no body)" @Failure 404 {object} S3Error "Object not found" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/{BucketName}/{ObjectKey} [head]

func GetS3PresignedURLHandler added in v0.11.5

func GetS3PresignedURLHandler(c echo.Context) error

GetS3PresignedURLHandler godoc @ID get-s3-presigned-url @Summary Generate presigned URL for downloading object (CB-Spider special feature) @Description Generates a presigned URL that can be used to download an object from S3 without requiring AWS credentials. This is a CB-Spider special feature. @Tags [S3 Object Storage Management] @Accept xml,json @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param ObjectKey path string true "Object key (full path)" @Param method query string false "HTTP method for URL (default: GET)" @Param expires query int false "URL expiration time in seconds (default: 3600)" @Param response-content-disposition query string false "Content-Disposition header value for download" @Success 200 {object} S3PresignedURLXML "Presigned URL for download" @Failure 404 {object} S3Error "Bucket not found" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/presigned/download/{BucketName}/{ObjectKey} [get]

func GetS3PresignedUploadURLHandler added in v0.11.6

func GetS3PresignedUploadURLHandler(c echo.Context) error

GetS3PresignedUploadURLHandler godoc @ID get-s3-presigned-upload-url @Summary Generate presigned URL for uploading object (CB-Spider special feature) @Description Generates a presigned URL that can be used to upload an object to S3 without requiring AWS credentials. This is a CB-Spider special feature. @Tags [S3 Object Storage Management] @Accept xml,json @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param ObjectKey path string true "Object key (full path)" @Param expires query int false "URL expiration time in seconds (default: 3600)" @Success 200 {object} S3PresignedURLXML "Presigned URL for upload" @Failure 404 {object} S3Error "Bucket not found" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/presigned/upload/{BucketName}/{ObjectKey} [get]

func GetSGOwnerVPC added in v0.5.5

func GetSGOwnerVPC(c echo.Context) error

getSGOwnerVPC godoc @ID get-sg-owner-vpc @Summary Get Security Group Owner VPC @Description Retrieve the owner VPC of a specified Security Group. @Tags [VPC Management] @Accept json @Produce json @Param VPCGetSecurityGroupOwnerRequest body restruntime.VPCGetSecurityGroupOwnerRequest true "Request body for getting Security Group Owner VPC" @Success 200 {object} cres.IID "Details of the owner VPC" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /getsecuritygroupowner [post]

func GetSecurity added in v0.4.9

func GetSecurity(c echo.Context) error

getSecurity godoc @ID get-securitygroup @Summary Get SecurityGroup @Description Retrieve details of a specific Security Group. @Tags [SecurityGroup Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a SecurityGroup for" @Param Name path string true "The name of the SecurityGroup to retrieve" @Success 200 {object} cres.SecurityInfo "Details of the SecurityGroup" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /securitygroup/{Name} [get]

func GetSubnet added in v0.9.5

func GetSubnet(c echo.Context) error

getSubnet godoc @ID get-subnet @Summary Get Subnet @Description Retrieve a specific Subnet from a VPC. @Tags [VPC Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a Subnet for" @Param VPCName path string true "The name of the VPC" @Param SubnetName path string true "The name of the Subnet to retrieve" @Success 200 {object} cres.SubnetInfo "Details of the requested Subnet" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid parameters" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vpc/{VPCName}/subnet/{SubnetName} [get]

func GetTag added in v0.9.2

func GetTag(c echo.Context) error

getTag godoc @ID get-tag @Summary Get Tag @Description Retrieve a specific tag for a specified resource. @Description ※ Resource types: VPC, SUBNET, SG, KEY, VM, NLB, DISK, MYIMAGE, CLUSTER @Tags [Tag Management] @Accept json @Produce json @Param ConnectionName query string true "Connection Name. ex) aws-connection" @Param ResourceType query string true "Resource Type. ex) VPC" @Param ResourceName query string true "Resource Name. ex) vpc-01" @Param Key path string true "The key of the tag to retrieve" @Success 200 {object} cres.KeyValue "Details of the tag" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameters" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /tag/{Key} [get]

func GetVM added in v0.4.9

func GetVM(c echo.Context) error

getVM godoc @ID get-vm @Summary Get VM @Description Retrieve details of a specific Virtual Machine (VM). @Tags [VM Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a VM for" @Param Name path string true "The name of the VM to retrieve" @Success 200 {object} cres.VMInfo "Details of the VM" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vm/{Name} [get]

func GetVMGroupHealthInfo added in v0.5.11

func GetVMGroupHealthInfo(c echo.Context) error

getVMGroupHealthInfo godoc @ID get-vmgroup-healthinfo @Summary Get NLB VM Group Health Info @Description Retrieve the health information of the VM group in a specified Network Load Balancer (NLB). @Tags [NLB Management] @Accept json @Produce json @Param Name path string true "The name of the NLB to get the VM Group Health Info for" @Param ConnectionName query string true "The name of the Connection" @Success 200 {object} NLBGetVMGroupHealthInfoResponse "Health information of the VM group" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /nlb/{Name}/health [get]

func GetVMPriceInfo added in v0.10.5

func GetVMPriceInfo(c echo.Context) error

getVMPriceInfo godoc @ID get-vmprice-info @Summary Get VM Price Information @Description Retrieve VM Price Information for a specific connection and region. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/VM-Price-Info-Guide)] @Tags [Cloud Metadata] VM Price Info @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get Price Information for" @Param RegionName path string true "The name of the Region to retrieve vm price information for" @Param simple query bool false "Return simplified VM specification information (only VMSpecName). Default: false" @Success 200 {object} PriceInfoResponse "VM Price Information Details" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /priceinfo/vm/{RegionName} [get]

func GetVMSpec added in v0.4.9

func GetVMSpec(c echo.Context) error

getVMSpec godoc @ID get-vm-spec @Summary Get VM Spec @Description Retrieve details of a specific VM spec. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-vm-spec-%EC%A0%95%EB%B3%B4-%EC%A0%9C%EA%B3%B5)] @Tags [Cloud Metadata] VM Spec @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a specific VM spec for" @Param Name path string true "The name of the VM spec to retrieve" @Success 200 {object} cres.VMSpecInfo "Details of the VM spec" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vmspec/{Name} [get]

func GetVMStatus added in v0.4.9

func GetVMStatus(c echo.Context) error

getVMStatus godoc @ID get-vm-status @Summary Get VM Status @Description Retrieve the status of a specific Virtual Machine (VM). @Tags [VM Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a VM status for" @Param Name path string true "The name of the VM to retrieve the status of" @Success 200 {object} VMStatusResponse "Details of the VM status" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vmstatus/{Name} [get]

func GetVMUsingRS added in v0.5.5

func GetVMUsingRS(c echo.Context) error

getVMUsingRS godoc @ID get-vm-using-rs @Summary Get VM Using Resource @Description Retrieve details of a VM using resource ID. @Tags [VM Management] @Accept json @Produce json @Param ConnectionName query string true "Connection name for the VM" @Param CSPId query string true "CSP ID of the VM" @Success 200 {object} restruntime.VMUsingResources "Details of the VM using resource" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameters" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /getvmusingresources [post]

func GetVPC added in v0.4.9

func GetVPC(c echo.Context) error

getVPC godoc @ID get-vpc @Summary Get VPC @Description Retrieve details of a specific Virtual Private Cloud (VPC). @Tags [VPC Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to get a VPC for" @Param Name path string true "The name of the VPC to retrieve" @Success 200 {object} cres.VPCInfo "Details of the VPC" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vpc/{Name} [get]

func HandleS3BucketPost added in v0.11.0

func HandleS3BucketPost(c echo.Context) error

HandleS3BucketPost handles various POST operations on S3 bucket

func HandleS3ObjectPost added in v0.12.1

func HandleS3ObjectPost(c echo.Context) error

HandleS3ObjectPost godoc @ID handle-s3-object-post @Summary Handle S3 object POST operations (multipart upload) @Description Object-level POST operations: (1) Initiate multipart upload with ?uploads, (2) Complete multipart upload with ?uploadId @Description @Description **Multipart Upload Testing Guide (Swagger UI):** @Description @Description **Step 1: Initiate Multipart Upload** @Description - Use POST /s3/{BucketName}/{ObjectKey}?uploads @Description - Set ConnectionName, BucketName, ObjectKey (e.g., "testfile.bin") @Description - Response will contain UploadId (save this!) @Description @Description **Step 2: Upload Parts** @Description - Use PUT /s3/{BucketName}/{ObjectKey}?uploadId={saved_uploadId}&partNumber=1 @Description - In request body, upload file part (binary data) @Description - Response header contains ETag (save this!) @Description - Repeat for part 2, 3, etc. with partNumber=2, 3... @Description @Description **Step 3: List Parts (Optional)** @Description - Use GET /s3/{BucketName}/{ObjectKey}?uploadId={saved_uploadId}&list-type=parts @Description - Verify all uploaded parts @Description @Description **Step 4: Complete Upload** @Description - Use POST /s3/{BucketName}/{ObjectKey}?uploadId={saved_uploadId} @Description - IMPORTANT: Enter uploadId in query parameter field (not in the parameter table below) @Description - Body XML (required): Provide XML with all uploaded parts @Description - Note: ETag values must include double quotes, e.g., "abc123" not abc123 @Description @Description **Body XML Example:** @Description ```xml @Description <CompleteMultipartUpload> @Description <Part> @Description <PartNumber>1</PartNumber> @Description <ETag>"ETag_value_from_Step2_part1"</ETag> @Description </Part> @Description <Part> @Description <PartNumber>2</PartNumber> @Description <ETag>"ETag_value_from_Step2_part2"</ETag> @Description </Part> @Description </CompleteMultipartUpload> @Description ``` @Tags [S3 Object Storage Management] @Accept xml,json @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param ObjectKey path string true "Object key (full path including slashes, e.g., 'folder/subfolder/file.txt')" @Param uploads query string false "Initiate multipart upload: leave empty or set any value (e.g., 'uploads')" @Param uploadId query string false "Complete multipart upload: Upload ID from Step 1 response (paste UploadId here)" @Param body body string false "XML body for complete operation (required when uploadId is set)" example(<CompleteMultipartUpload><Part><PartNumber>1</PartNumber><ETag>"abc123"</ETag></Part></CompleteMultipartUpload>) @Success 200 {object} object "Operation result (InitiateMultipartUploadResult or CompleteMultipartUploadResult)" @Failure 400 {object} S3Error "Bad Request" @Failure 404 {object} S3Error "Bucket not found" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/{BucketName}/{ObjectKey} [post]

func HandleS3PresignedRequest added in v0.11.6

func HandleS3PresignedRequest(c echo.Context) error

HandleS3PresignedRequest handles AWS S3 standard presigned URL requests

func IncreaseDiskSize added in v0.9.3

func IncreaseDiskSize(c echo.Context) error

increaseDiskSize godoc @ID increase-disk-size @Summary Increase Disk Size @Description Increase the size of an existing disk. @Tags [Disk Management] @Accept json @Produce json @Param DiskSizeIncreaseRequest body restruntime.DiskSizeIncreaseRequest true "Request body for increasing the Disk size" @Param Name path string true "The name of the Disk to increase the size for" @Success 200 {object} BooleanInfo "Result of the size increase operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /disk/{Name}/size [put]

func ListAccessSubnet added in v0.10.8

func ListAccessSubnet(c echo.Context) error

ListAccessSubnet godoc @Summary List Access Subnets of FileSystem @Tags [FileSystem Management] @Produce json @Param ConnectionName query string true "Connection Name" @Param Name path string true "FileSystem Name" @Success 200 {array} cres.IID @Router /filesystem/{Name}/access-subnet [get]

func ListAllCluster added in v0.6.14

func ListAllCluster(c echo.Context) error

listAllCluster godoc @ID list-all-cluster @Summary List All Clusters in a Connection @Description Retrieve a comprehensive list of all Clusters associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [Cluster Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Clusters for" @Success 200 {object} AllResourceListResponse "List of all Clusters within the specified connection, including clusters in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allcluster [get]

func ListAllClusterInfo added in v0.10.2

func ListAllClusterInfo(c echo.Context) error

listAllClusterInfo godoc @ID list-all-cluster-info @Summary List All Cluster Info @Description Retrieve a list of all Cluster information associated with a specific connection. @Tags [Cluster Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Cluster information for" @Success 200 {object} AllResourceInfoListResponse "List of all Cluster information within the specified connection" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allclusterinfo [get]

func ListAllDisk added in v0.6.7

func ListAllDisk(c echo.Context) error

listAllDisk godoc @ID list-all-disk @Summary List All Disks in a Connection @Description Retrieve a comprehensive list of all Disks associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [Disk Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Disks for" @Success 200 {object} AllResourceListResponse "List of all Disks within the specified connection, including Disks in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /alldisk [get]

func ListAllDiskInfo added in v0.10.2

func ListAllDiskInfo(c echo.Context) error

listAllDiskInfo godoc @ID list-all-disk-info @Summary List All Disk Info @Description Retrieve a list of all Disk information associated with all connections. @Tags [Disk Management] @Accept json @Produce json @Success 200 {object} AllResourceListResponse "List of all Disk information across all connections" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /alldiskinfo [get]

func ListAllKey added in v0.4.9

func ListAllKey(c echo.Context) error

listAllKeyPairs godoc @ID list-all-keypair @Summary List All KeyPairs in a Connection @Description Retrieve a comprehensive list of all KeyPairs associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [KeyPair Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list KeyPairs for" @Success 200 {object} AllResourceListResponse "List of all KeyPairs within the specified connection, including KeyPairs in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allkeypair [get]

func ListAllKeyPairInfo added in v0.10.2

func ListAllKeyPairInfo(c echo.Context) error

listAllKeyPairInfo godoc @ID list-all-keypair-info @Summary List All KeyPair Info @Description Retrieve a list of KeyPair information associated with all connections. @Tags [KeyPair Management] @Accept json @Produce json @Success 200 {object} AllResourceInfoListResponse "List of KeyPair information associated with all connections" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allkeypairinfo [get]

func ListAllMyImage added in v0.6.10

func ListAllMyImage(c echo.Context) error

listAllMyImage godoc @ID list-all-myimage @Summary List All MyImages in a Connection @Description Retrieve a comprehensive list of all MyImages associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [MyImage Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list MyImages for" @Success 200 {object} AllResourceListResponse "List of all MyImages within the specified connection, including MyImages in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allmyimage [get]

func ListAllMyImageInfo added in v0.10.2

func ListAllMyImageInfo(c echo.Context) error

listAllMyImageInfo godoc @ID list-all-myimage-info @Summary List All MyImage Info @Description Retrieve a comprehensive list of all MyImage information associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [MyImage Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list MyImage information for" @Success 200 {object} AllResourceInfoListResponse "List of all MyImage information within the specified connection, including MyImage information in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allmyimageinfo [get]

func ListAllNLB added in v0.5.10

func ListAllNLB(c echo.Context) error

listAllNLB godoc @ID list-all-nlb @Summary List All NLBs in a Connection @Description Retrieve a comprehensive list of all Network Load Balancers (NLBs) associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [NLB Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list NLBs for" @Success 200 {object} AllResourceListResponse "List of all NLBs within the specified connection, including NLBs in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allnlb [get]

func ListAllNLBInfo added in v0.10.2

func ListAllNLBInfo(c echo.Context) error

listAllNLBInfo godoc @ID list-all-nlb-info @Summary List All NLB Info @Description Retrieve a comprehensive list of all Network Load Balancers (NLBs) associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [NLB Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list NLBs for" @Success 200 {object} AllResourceInfoListResponse "List of all NLBs within the specified connection, including NLBs in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allnlbinfo [get]

func ListAllSecurity added in v0.4.9

func ListAllSecurity(c echo.Context) error

listAllSecurityGroups godoc @ID list-all-securitygroup @Summary List All Security Groups in a Connection @Description Retrieve a comprehensive list of all Security Groups associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [SecurityGroup Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Security Groups for" @Success 200 {object} AllResourceListResponse "List of all Security Groups within the specified connection, including Security Groups in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allsecuritygroup [get]

func ListAllSecurityGroupInfo added in v0.10.2

func ListAllSecurityGroupInfo(c echo.Context) error

listAllSecurityGroupInfo godoc @ID list-all-securitygroup-info @Summary List All SecurityGroup Info @Description Retrieve a list of Security Group information associated with all connections. @Tags [SecurityGroup Management] @Accept json @Produce json @Success 200 {object} AllResourceInfoListResponse "List of all Security Group information" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allsecuritygroupinfo [get]

func ListAllVM added in v0.4.9

func ListAllVM(c echo.Context) error

listAllVM godoc @ID list-all-vm @Summary List All VMs in a Connection @Description Retrieve a comprehensive list of all Virtual Machines (VMs) associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [VM Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list VMs for" @Success 200 {object} AllResourceListResponse "List of all VMs within the specified connection, including VMs in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allvm [get]

func ListAllVMInfo added in v0.10.2

func ListAllVMInfo(c echo.Context) error

listAllVMInfo godoc @ID list-all-vm-info @Summary List All VM Info @Description Retrieve a list of detailed information on all Virtual Machines (VMs) associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [VM Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list VMs for" @Success 200 {object} AllResourceInfoListResponse "List of detailed information on all VMs within the specified connection, including VMs in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allvminfo [get]

func ListAllVPC added in v0.4.9

func ListAllVPC(c echo.Context) error

listAllVPC godoc @ID list-all-vpc @Summary List All VPCs in a Connection @Description Retrieve a comprehensive list of all Virtual Private Clouds (VPCs) associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [VPC Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list VPCs for" @Success 200 {object} AllResourceListResponse "List of all VPCs within the specified connection, including VPCs in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allvpc [get]

func ListAllVPCInfo added in v0.10.2

func ListAllVPCInfo(c echo.Context) error

listAllVPCInfo godoc @ID list-all-vpc-info @Summary List All VPCs Info @Description Retrieve a comprehensive list of all Virtual Private Clouds (VPCs) associated with a specific connection, <br> including those mapped between CB-Spider and the CSP, <br> only registered in CB-Spider's metadata, <br> and only existing in the CSP. @Tags [VPC Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list VPCs for" @Success 200 {object} AllResourceInfoListResponse "List of all VPCs within the specified connection, including VPCs in CB-Spider only, CSP only, and mapped between both." @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /allvpcinfo [get]

func ListCloudDriver added in v0.4.9

func ListCloudDriver(c echo.Context) error

listCloudDriver godoc @ID list-driver @Summary List Cloud Drivers @Description Retrieve a list of registered Cloud Drivers. @Tags [Cloud Info Management] Driver Info @Produce json @Param provider query string false "The name of the provider to filter the Cloud Drivers by" @Success 200 {object} ListCloudDriverResponse "List of Cloud Drivers" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /driver [get]

func ListCloudOS added in v0.4.9

func ListCloudOS(c echo.Context) error

listCloudOS godoc @ID list-cloudos @Summary List Cloud OS @Description Retrieve a list of supported Cloud OS. @Tags [Cloud Info Management] CloudOS Info @Produce json @Success 200 {object} ListCloudOSResponse "List of supported Cloud OS" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cloudos [get]

func ListCluster added in v0.6.14

func ListCluster(c echo.Context) error

listCluster godoc @ID list-cluster @Summary List Clusters @Description Retrieve a list of Clusters associated with a specific connection. @Tags [Cluster Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Clusters for" @Success 200 {object} ClusterListResponse "List of Clusters" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cluster [get]

func ListConnectionConfig added in v0.4.9

func ListConnectionConfig(c echo.Context) error

listConnectionConfig godoc @ID list-connection-config @Summary List Connection Configs @Description Retrieve a list of registered Connection Configs. @Tags [Cloud Info Management] Connection Info @Produce json @Success 200 {object} ListConnectionConfigResponse "List of Connection Configs" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /connectionconfig [get]

func ListCredential added in v0.4.9

func ListCredential(c echo.Context) error

listCredential godoc @ID list-credential @Summary List Credentials @Description Retrieve a list of registered Credentials. @Tags [Cloud Info Management] Credential Info @Produce json @Param provider query string false "The name of the provider to filter the Credentials by" @Success 200 {object} ListCredentialResponse "List of Credentials" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /credential [get]

func ListDisk added in v0.6.7

func ListDisk(c echo.Context) error

listDisk godoc @ID list-disk @Summary List Disks @Description Retrieve a list of Disks associated with a specific connection. @Tags [Disk Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Disks for" @Success 200 {object} DiskListResponse "List of Disks" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /disk [get]

func ListFileSystem added in v0.10.8

func ListFileSystem(c echo.Context) error

ListFileSystem godoc @Summary List FileSystems @Tags [FileSystem Management] @Produce json @Param ConnectionName query string true "Connection Name" @Success 200 {array} cres.FileSystemInfo @Router /filesystem [get]

func ListImage added in v0.4.9

func ListImage(c echo.Context) error

listImage godoc @ID list-image @Summary List Public Images @Description Retrieve a list of Public Images associated with a specific connection. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/How-to-get-Image-List-with-REST-API)] @Tags [Cloud Metadata] Public VM Image @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Public Images for" @Success 200 {object} ImageListResponse "List of Public Images" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vmimage [get]

func ListKey added in v0.4.9

func ListKey(c echo.Context) error

listKey godoc @ID list-keypair @Summary List KeyPairs @Description Retrieve a list of KeyPairs associated with a specific connection. @Tags [KeyPair Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list KeyPairs for" @Success 200 {object} restruntime.KeyPairListResponse "List of KeyPairs" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /keypair [get]

func ListMyImage added in v0.6.10

func ListMyImage(c echo.Context) error

listMyImage godoc @ID list-myimage @Summary List MyImages @Description Retrieve a list of MyImages associated with a specific connection. @Tags [MyImage Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list MyImages for" @Success 200 {object} MyImageListResponse "List of MyImages" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /myimage [get]

func ListNLB added in v0.5.10

func ListNLB(c echo.Context) error

listNLB godoc @ID list-nlb @Summary List NLBs @Description Retrieve a list of Network Load Balancers (NLBs) associated with a specific connection. @Tags [NLB Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list NLBs for" @Success 200 {object} NLBListResponse "List of NLBs" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /nlb [get]

func ListOrgRegion added in v0.7.6

func ListOrgRegion(c echo.Context) error

listOrgRegion godoc @ID list-org-region @Summary List Original Regions @Description Retrieve a list of Original Regions associated with a specific connection. <br> The response structure may vary depending on the request ConnectionName. @Tags [Cloud Metadata] Region/Zone @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Original regions for" @Success 200 {object} OriginalRegionListResponse "Dynamic JSON structure representing the list of Original Regions" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /orgregion [get]

func ListOrgRegionPreConfig added in v0.8.5

func ListOrgRegionPreConfig(c echo.Context) error

ListOrgRegionPreConfig godoc @ID list-preconfigured-original-org-region @Summary List Pre-configured Original Regions @Description Retrieve a list of pre-configured Original Regions based on driver and credential names. <br> The response structure may vary depending on the request DriverName and CredentialName. @Tags [Cloud Metadata] Region/Zone @Accept json @Produce json @Param PreConfigOriginalRegionListRequest query restruntime.PreConfigOriginalRegionListRequest true "Query parameters for listing pre-configured Original regions" @Success 200 {object} OriginalRegionListResponse "List of Pre-configured Original Regions" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /preconfig/orgregion [get]

func ListOrgVMSpec added in v0.4.9

func ListOrgVMSpec(c echo.Context) error

listOrgVMSpec godoc @ID list-org-vm-spec @Summary List Original VM Specs @Description Retrieve a list of Original VM Specs associated with a specific connection. <br> The response structure may vary depending on the request ConnectionName. @Tags [Cloud Metadata] VM Spec @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Original VM specs for" @Success 200 {object} OriginalVMSpecListResponse "Dynamic JSON structure representing the list of Original VM Specs" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vmorgspec [get]

func ListOrgZone added in v0.7.6

func ListOrgZone(c echo.Context) error

listOrgZone godoc @ID list-org-zone @Summary List Original Zones @Description Retrieve a list of Original Zones associated with a specific connection. <br> The response structure may vary depending on the request ConnectionName. @Tags [Cloud Metadata] Region/Zone @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Original zones for" @Success 200 {object} OriginalZoneListResponse "Dynamic JSON structure representing the list of Original Zones" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /orgzone [get]

func ListProductFamily added in v0.8.2

func ListProductFamily(c echo.Context) error

listProductFamily godoc @ID list-product-family @Summary List Product Families @Description Retrieve a list of Product Families associated with a specific connection and region. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/Price-Info-and-Cloud-Driver-API)], 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/RestAPI-Multi%E2%80%90Cloud-Price-Information-Guide)] @Tags [Cloud Metadata] VM Price Info @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Product Families for" @Param RegionName path string true "The name of the Region to list Product Families for" @Success 200 {object} ProductFamilyListResponse "List of Product Families" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /productfamily/{RegionName} [get]

func ListRegion added in v0.4.9

func ListRegion(c echo.Context) error

listRegion godoc @ID list-region @Summary List Regions @Description Retrieve a list of registered Regions. @Tags [Cloud Info Management] Region Info @Produce json @Param provider query string false "The name of the provider to filter the Regions by" @Success 200 {object} ListRegionResponse "List of Regions" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /region [get]

func ListRegionZone added in v0.7.6

func ListRegionZone(c echo.Context) error

listRegionZone godoc @ID list-region-zone @Summary List Region Zones @Description Retrieve a list of Region Zones associated with a specific connection. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)] @Tags [Cloud Metadata] Region/Zone @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list Region and Zones for" @Success 200 {object} RegionZoneListResponse "List of Region Zones" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regionzone [get]

func ListRegionZonePreConfig added in v0.8.5

func ListRegionZonePreConfig(c echo.Context) error

listRegionZonePreConfig godoc @ID list-region-zone-preconfig @Summary List Pre-configured Region Zones @Description Retrieve a list of pre-configured Region Zones based on driver and credential names. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/REST-API-Region-Zone-Information-Guide)] @Tags [Cloud Metadata] Region/Zone @Accept json @Produce json @Param PreConfigRegionZoneListRequest query restruntime.PreConfigRegionZoneListRequest true "Query parameters for listing pre-configured region zones" @Success 200 {object} RegionZoneListResponse "List of Pre-configured Region Zones" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /preconfig/regionzone [get]

func ListS3Buckets added in v0.10.8

func ListS3Buckets(c echo.Context) error

ListS3Buckets godoc @ID list-s3-buckets @Summary List all S3 buckets @Description Returns a list of all buckets owned by the authenticated sender of the request. To list buckets, you must have the ConnectionName parameter. @Tags [S3 Object Storage Management] @Accept xml,json @Produce xml,json @Param ConnectionName query string true "Connection name" @Success 200 {object} ListAllMyBucketsResult "List of buckets" @Failure 400 {object} S3Error "Bad Request - Missing ConnectionName" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3 [get]

func ListS3Objects added in v0.10.8

func ListS3Objects(c echo.Context) error

func ListSecurity added in v0.4.9

func ListSecurity(c echo.Context) error

listSecurity godoc @ID list-securitygroup @Summary List SecurityGroups @Description Retrieve a list of Security Groups associated with a specific connection. @Tags [SecurityGroup Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list SecurityGroups for" @Success 200 {object} restruntime.SecurityGroupListResponse "List of SecurityGroups" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /securitygroup [get]

func ListTag added in v0.9.2

func ListTag(c echo.Context) error

listTag godoc @ID list-tag @Summary List Tags @Description Retrieve a list of tags for a specified resource. @Description ※ Resource types: VPC, SUBNET, SG, KEY, VM, NLB, DISK, MYIMAGE, CLUSTER @Tags [Tag Management] @Accept json @Produce json @Param ConnectionName query string true "Connection Name. ex) aws-connection" @Param ResourceType query string true "Resource Type. ex) VPC" @Param ResourceName query string true "Resource Name. ex) vpc-01" @Success 200 {object} []cres.KeyValue "List of tags" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /tag [get]

func ListVM added in v0.4.9

func ListVM(c echo.Context) error

listVM godoc @ID list-vm @Summary List VMs @Description Retrieve a list of Virtual Machines (VMs) associated with a specific connection. @Tags [VM Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list VMs for" @Success 200 {object} VMListResponse "List of VMs" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vm [get]

func ListVMSpec added in v0.4.9

func ListVMSpec(c echo.Context) error

listVMSpec godoc @ID list-vm-spec @Summary List VM Specs @Description Retrieve a list of VM specs associated with a specific connection. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-vm-spec-%EC%A0%95%EB%B3%B4-%EC%A0%9C%EA%B3%B5)] @Tags [Cloud Metadata] VM Spec @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list VM specs for" @Success 200 {object} VMSpecListResponse "List of VM specs" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vmspec [get]

func ListVMStatus added in v0.4.9

func ListVMStatus(c echo.Context) error

listVMStatus godoc @ID list-vm-status @Summary List VM Statuses @Description Retrieve a list of statuses for Virtual Machines (VMs) associated with a specific connection. @Tags [VM Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list VM statuses for" @Success 200 {object} VMListStatusResponse "List of VM statuses" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vmstatus [get]

func ListVPC added in v0.4.9

func ListVPC(c echo.Context) error

listVPC godoc @ID list-vpc @Summary List VPCs @Description Retrieve a list of Virtual Private Clouds (VPCs) associated with a specific connection. @Tags [VPC Management] @Accept json @Produce json @Param ConnectionName query string true "The name of the Connection to list VPCs for" @Success 200 {object} VPCListResponse "List of VPCs" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid query parameter" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vpc [get]

func ListVpcSecurity added in v0.10.2

func ListVpcSecurity(c echo.Context) error

listVpcSecurity godoc @ID list-vpc-securitygroup @Summary List Security Groups in a Specific VPC @Description Retrieve a list of Security Groups associated with a specific VPC in a given cloud connection. @Tags [SecurityGroup Management] @Accept json @Produce json @Param VPCName path string true "The name of the VPC to list Security Groups for" @Param ConnectionName query string true "The name of the Connection to list Security Groups for" @Success 200 {object} restruntime.SecurityGroupListResponse "Response containing security groups under the key 'securitygroup'" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to missing parameters" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /securitygroup/vpc/{VPCName} [get]

func PutS3BucketConfig added in v0.12.1

func PutS3BucketConfig(c echo.Context) error

PutS3BucketConfig is an internal handler that redirects to GetS3Bucket This function is called internally by CreateS3Bucket when configuration query parameters are detected Do not expose this in Swagger - use PUT /s3/{Name} instead

func PutS3ObjectFromFile added in v0.10.8

func PutS3ObjectFromFile(c echo.Context) error

PutS3ObjectFromFile godoc @ID put-s3-object-from-file @Summary Upload an object to S3 or upload a part of multipart upload @Description Uploads a file to S3 bucket or uploads a part for multipart upload based on query parameters. @Description @Description **Operations:** @Description - No query params: Upload object (standard upload) @Description - ?uploadId={id}&partNumber={num}: Upload a part for multipart upload @Description @Description **Part Upload Example (Step 2 of multipart upload):** @Description - uploadId: Use UploadId from initiate response (Step 1) @Description - partNumber: 1, 2, 3... (consecutive integers, minimum 1) @Description - Body: Binary file data (in Swagger UI, use "Choose File" button) @Description - Response: Check ETag header - save it for completion (Step 4) @Description - Repeat for each part with different partNumber @Tags [S3 Object Storage Management] @Accept application/octet-stream @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param ObjectKey path string true "Object key (full path)" @Param uploadId query string false "Upload ID for multipart upload" @Param partNumber query int false "Part number (1-10000) for multipart upload" @Param body body string true "File content (binary)" @Success 200 "Object uploaded successfully (returns ETag in header)" @Failure 400 {object} S3Error "Bad Request" @Failure 404 {object} S3Error "Bucket not found" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/{BucketName}/{ObjectKey} [put]

func PutS3ObjectFromForm added in v0.11.5

func PutS3ObjectFromForm(c echo.Context) error

PutS3ObjectFromForm godoc @ID put-s3-object-from-form @Summary Upload object using HTML form or delete multiple objects @Description Uploads a file using HTML form (multipart/form-data) or deletes multiple objects based on query parameters. @Description @Description **Operations:** @Description - No query params: Upload object via form (requires 'key' and 'file' fields, Content-Type: multipart/form-data) @Description - ?delete: Delete multiple objects (requires XML/JSON body, Content-Type: application/xml or application/json) @Description @Description **XML Body Example for Delete Multiple Objects:** @Description ```xml @Description <Delete> @Description <Object> @Description <Key>file1.txt</Key> @Description </Object> @Description <Object> @Description <Key>file2.txt</Key> @Description </Object> @Description <Object> @Description <Key>folder/file3.txt</Key> @Description </Object> @Description </Delete> @Description ``` @Description @Description **JSON Body Example for Delete Multiple Objects:** @Description ```json @Description { @Description "Delete": { @Description "Objects": [ @Description {"Key": "file1.txt"}, @Description {"Key": "file2.txt"}, @Description {"Key": "folder/file3.txt"} @Description ] @Description } @Description } @Description ``` @Tags [S3 Object Storage Management] @Accept multipart/form-data,application/xml,application/json @Produce xml,json @Param ConnectionName query string true "Connection name" @Param BucketName path string true "Bucket name" @Param delete query string false "Delete multiple objects (use with body parameter)" @Param body body string false "XML/JSON body for delete operation (only when ?delete is specified)" @Param key formData string false "Object key/name (only for upload operation without ?delete)" @Param file formData file false "File to upload (only for upload operation without ?delete)" @Success 200 {object} S3UploadInfo "Object uploaded or deletion result" @Failure 400 {object} S3Error "Bad Request" @Failure 404 {object} S3Error "Bucket not found" @Failure 500 {object} S3Error "Internal Server Error" @Router /s3/{BucketName} [post]

func RegisterCloudDriver added in v0.4.9

func RegisterCloudDriver(c echo.Context) error

registerCloudDriver godoc @ID register-driver @Summary Register Cloud Driver @Description Register a new Cloud Driver. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#1-cloud-driver-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)] @Tags [Cloud Info Management] Driver Info @Accept json @Produce json @Param CloudDriverInfo body dim.CloudDriverInfo true "Request body for registering a Cloud Driver" @Success 200 {object} dim.CloudDriverInfo "Details of the registered Cloud Driver" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /driver [post]

func RegisterCluster added in v0.6.14

func RegisterCluster(c echo.Context) error

registerCluster godoc @ID register-cluster @Summary Register Cluster @Description Register a new Cluster with the specified VPC and CSP ID. @Tags [Cluster Management] @Accept json @Produce json @Param ClusterRegisterRequest body restruntime.ClusterRegisterRequest true "Request body for registering a Cluster" @Success 200 {object} cres.ClusterInfo "Details of the registered Cluster" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regcluster [post]

func RegisterCredential added in v0.4.9

func RegisterCredential(c echo.Context) error

registerCredential godoc @ID register-credential @Summary Register Credential @Description Register a new Credential. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-cloud-credential-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)] @Tags [Cloud Info Management] Credential Info @Accept json @Produce json @Param CredentialInfo body cim.CredentialInfo true "Request body for registering a Credential" @Success 200 {object} cim.CredentialInfo "Details of the registered Credential" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /credential [post]

func RegisterDisk added in v0.6.7

func RegisterDisk(c echo.Context) error

registerDisk godoc @ID register-disk @Summary Register Disk @Description Register a new Disk with the specified name, zone, and CSP ID. @Tags [Disk Management] @Accept json @Produce json @Param DiskRegisterRequest body restruntime.DiskRegisterRequest true "Request body for registering a Disk" @Success 200 {object} cres.DiskInfo "Details of the registered Disk" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regdisk [post]

func RegisterKey added in v0.4.12

func RegisterKey(c echo.Context) error

registerKey godoc @ID register-keypair @Summary Register KeyPair @Description Register a new KeyPair with the specified name and CSP ID. @Tags [KeyPair Management] @Accept json @Produce json @Param KeyPairRegisterRequest body restruntime.KeyPairRegisterRequest true "Request body for registering a KeyPair" @Success 200 {object} cres.KeyPairInfo "Details of the registered KeyPair" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regkeypair [post]

func RegisterMyImage added in v0.6.10

func RegisterMyImage(c echo.Context) error

registerMyImage godoc @ID register-myimage @Summary Register MyImage @Description Register a new MyImage with the specified name and CSP ID. @Tags [MyImage Management] @Accept json @Produce json @Param MyImageRegisterRequest body restruntime.MyImageRegisterRequest true "Request body for registering a MyImage" @Success 200 {object} cres.MyImageInfo "Details of the registered MyImage" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regmyimage [post]

func RegisterNLB added in v0.5.10

func RegisterNLB(c echo.Context) error

registerNLB godoc @ID register-nlb @Summary Register NLB @Description Register a new Network Load Balancer (NLB) with the specified name and CSP ID. @Tags [NLB Management] @Accept json @Produce json @Param NLBRegisterRequest body restruntime.NLBRegisterRequest true "Request body for registering an NLB" @Success 200 {object} cres.NLBInfo "Details of the registered NLB" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regnlb [post]

func RegisterRegion added in v0.4.9

func RegisterRegion(c echo.Context) error

registerRegion godoc @ID register-region @Summary Register Region @Description Register a new Region. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#3-cloud-regionzone-%EC%A0%95%EB%B3%B4-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EA%B4%80%EB%A6%AC)] @Tags [Cloud Info Management] Region Info @Accept json @Produce json @Param RegionInfo body rim.RegionInfo true "Request body for registering a Region" @Success 200 {object} rim.RegionInfo "Details of the registered Region" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /region [post]

func RegisterSecurity added in v0.4.12

func RegisterSecurity(c echo.Context) error

registerSecurity godoc @ID register-securitygroup @Summary Register SecurityGroup @Description Register a new Security Group with the specified name and CSP ID. @Tags [SecurityGroup Management] @Accept json @Produce json @Param SecurityGroupRegisterRequest body restruntime.SecurityGroupRegisterRequest true "Request body for registering a SecurityGroup" @Success 200 {object} cres.SecurityInfo "Details of the registered SecurityGroup" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regsecuritygroup [post]

func RegisterSubnet added in v0.7.6

func RegisterSubnet(c echo.Context) error

registerSubnet godoc @ID register-subnet @Summary Register Subnet @Description Register a new Subnet within a specified VPC. @Tags [VPC Management] @Accept json @Produce json @Param SubnetRegisterRequest body restruntime.SubnetRegisterRequest true "Request body for registering a Subnet" @Success 200 {object} cres.VPCInfo "Details of the VPC including the registered Subnet" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regsubnet [post]

func RegisterVM added in v0.4.12

func RegisterVM(c echo.Context) error

registerVM godoc @ID register-vm @Summary Register VM @Description Register a new Virtual Machine (VM) with the specified name and CSP ID. @Tags [VM Management] @Accept json @Produce json @Param VMRegisterRequest body restruntime.VMRegisterRequest true "Request body for registering a VM" @Success 200 {object} cres.VMInfo "Details of the registered VM" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regvm [post]

func RegisterVPC added in v0.4.12

func RegisterVPC(c echo.Context) error

registerVPC godoc @ID register-vpc @Summary Register VPC @Description Register a new Virtual Private Cloud (VPC) with the specified name and CSP ID. @Tags [VPC Management] @Accept json @Produce json @Param VPCRegisterRequest body restruntime.VPCRegisterRequest true "Request body for registering a VPC" @Success 200 {object} cres.VPCInfo "Details of the registered VPC" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regvpc [post]

func RemoveAccessSubnet added in v0.10.8

func RemoveAccessSubnet(c echo.Context) error

RemoveAccessSubnet godoc @Summary Remove Access Subnet from FileSystem @Tags [FileSystem Management] @Accept json @Produce json @Param Name path string true "FileSystem Name" @Param RemoveRequest body restruntime.AccessSubnetRequest true "Remove Access Subnet Info" @Success 200 {object} BooleanInfo @Router /filesystem/{Name}/access-subnet [delete]

func RemoveCSPSubnet added in v0.4.9

func RemoveCSPSubnet(c echo.Context) error

removeCSPSubnet godoc @ID remove-csp-subnet @Summary Remove CSP Subnet @Description Remove an existing CSP Subnet from a VPC. @Tags [VPC Management] @Accept json @Produce json @Param VPCName path string true "The name of the VPC" @Param Id path string true "The CSP Subnet ID to remove" @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for removing a CSP Subnet" @Success 200 {object} BooleanInfo "Result of the remove operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vpc/{VPCName}/cspsubnet/{Id} [delete]

func RemoveNLBVMs added in v0.5.11

func RemoveNLBVMs(c echo.Context) error

removeNLBVMs godoc @ID remove-nlb-vm @Summary Remove VMs from NLB @Description Remove a set of VMs from an existing Network Load Balancer (NLB). @Tags [NLB Management] @Accept json @Produce json @Param Name path string true "The name of the NLB to remove VMs from" @Param NLBRemoveVMsRequest body restruntime.NLBRemoveVMsRequest true "Request body for removing VMs from an NLB" @Success 200 {object} BooleanInfo "Result of the remove operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /nlb/{Name}/vms [delete]

func RemoveNodeGroup added in v0.6.14

func RemoveNodeGroup(c echo.Context) error

removeNodeGroup godoc @ID remove-nodegroup @Summary Remove Node Group @Description Remove an existing Node Group from a Cluster. @Tags [Cluster Management] @Accept json @Produce json @Param Name path string true "The name of the Cluster to remove the Node Group to" @Param NodeGroupName path string true "The name of the Node Group to remove" @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for removing a Node Group" @Success 200 {object} BooleanInfo "Result of the remove operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cluster/{Name}/nodegroup/{NodeGroupName} [delete]

func RemoveRules added in v0.5.4

func RemoveRules(c echo.Context) error

removeRules godoc @ID remove-rule @Summary Remove Rules from SecurityGroup @Description Remove existing rules from a Security Group. @Tags [SecurityGroup Management] @Accept json @Produce json @Param SGName path string true "The name of the SecurityGroup to remove rules from" @Param RuleControlRequest body restruntime.RuleControlRequest true "Request body for removing rules" @Success 200 {object} BooleanInfo "Result of the remove operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /securitygroup/{SGName}/rules [delete]

func RemoveSubnet added in v0.4.9

func RemoveSubnet(c echo.Context) error

removeSubnet godoc @ID remove-subnet @Summary Remove Subnet @Description Remove an existing Subnet from a VPC. @Tags [VPC Management] @Accept json @Produce json @Param VPCName path string true "The name of the VPC" @Param SubnetName path string true "The name of the Subnet to remove" @Param force query string false "Force delete the VPC. ex) true or false(default: false)" @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for removing a Subnet" @Success 200 {object} BooleanInfo "Result of the remove operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vpc/{VPCName}/subnet/{SubnetName} [delete]

func RemoveTag added in v0.9.2

func RemoveTag(c echo.Context) error

removeTag godoc @ID remove-tag @Summary Remove Tag @Description Remove a specific tag from a specified resource. @Description ※ Resource types: VPC, SUBNET, SG, KEY, VM, NLB, DISK, MYIMAGE, CLUSTER @Tags [Tag Management] @Accept json @Produce json @Param TagRemoveRequest body restruntime.TagRemoveRequest true "Request body for removing a specific tag" @Param Key path string true "The key of the tag to remove" @Success 200 {object} BooleanInfo "Result of the remove operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /tag/{Key} [delete]

func RunServer added in v0.2.1

func RunServer()

func RunTLSServer added in v0.9.8

func RunTLSServer(certFile, keyFile, caCertFile string, port int)

func SSHRun added in v0.4.9

func SSHRun(c echo.Context) error

================ SSH RUN

func SetNodeGroupAutoScaling added in v0.6.14

func SetNodeGroupAutoScaling(c echo.Context) error

setNodeGroupAutoScaling godoc @ID set-nodegroup-autoscaling @Summary Set Node Group Auto Scaling @Description Enable or disable auto scaling for a Node Group in a Cluster. @Tags [Cluster Management] @Accept json @Produce json @Param Name path string true "The name of the Cluster to set Node Group Auto Scaling" @Param NodeGroupName path string true "The name of the Node Group" @Param ClusterSetNodeGroupAutoScalingRequest body restruntime.ClusterSetNodeGroupAutoScalingRequest true "Request body for setting auto scaling for a Node Group" @Success 200 {object} BooleanInfo "Result of the auto scaling operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cluster/{Name}/nodegroup/{NodeGroupName}/onautoscaling [put]

func SetVersionInfo added in v0.10.3

func SetVersionInfo(version string)

func SnapshotVM added in v0.6.10

func SnapshotVM(c echo.Context) error

snapshotVM godoc @ID create-myimage @Summary Snapshot VM @Description Create a new MyImage snapshot from a specified VM. 🕷️ [[Concept Guide](https://github.com/cloud-barista/cb-spider/wiki/MyImage-and-Driver-API)], [[Snapshot-MyImage,Disk Guide](https://github.com/cloud-barista/cb-spider/wiki/VM-Snapshot,-MyImage-and-Disk-Overview)] @Tags [MyImage Management] @Accept json @Produce json @Param MyImageSnapshotRequest body restruntime.MyImageSnapshotRequest true "Request body for creating a MyImage snapshot" @Success 200 {object} cres.MyImageInfo "Details of the created MyImage snapshot" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /myimage [post]

func SpiderletAnyCall added in v0.9.8

func SpiderletAnyCall(c echo.Context) error

// for Spiderlet

func StartVM added in v0.4.9

func StartVM(c echo.Context) error

startVM godoc @ID start-vm @Summary Start VM @Description Start a new Virtual Machine (VM) with specified configurations. 🕷️ [[User Guide](https://github.com/cloud-barista/cb-spider/wiki/features-and-usages#2-%EB%A9%80%ED%8B%B0%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-vm-%EC%9D%B8%ED%94%84%EB%9D%BC-%EC%9E%90%EC%9B%90-%EC%A0%9C%EC%96%B4multi-cloud-vm-infra-resource-control)], [[Snapshot-MyImage,Disk Guide](https://github.com/cloud-barista/cb-spider/wiki/VM-Snapshot,-MyImage-and-Disk-Overview)] @Tags [VM Management] @Accept json @Produce json @Param VMStartRequest body restruntime.VMStartRequest true "Request body for starting a VM" @Success 200 {object} cres.VMInfo "Details of the started VM" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vm [post]

func TerminateCSPVM added in v0.4.9

func TerminateCSPVM(c echo.Context) error

terminateCSPVM godoc @ID terminate-csp-vm @Summary Terminate CSP VM @Description Terminate a specified CSP Virtual Machine (VM). @Tags [VM Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for terminating a CSP VM" @Param Id path string true "The CSP VM ID to terminate" @Success 200 {object} VMStatusResponse "Result of the terminate operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cspvm/{Id} [delete]

func TerminateVM added in v0.4.9

func TerminateVM(c echo.Context) error

terminateVM godoc @ID terminate-vm @Summary Terminate VM @Description Terminate a specified Virtual Machine (VM). @Tags [VM Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for terminating a VM" @Param Name path string true "The name of the VM to terminate" @Param force query string false "Force terminate the VM. ex) true or false(default: false)" @Success 200 {object} VMStatusResponse "Result of the terminate operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /vm/{Name} [delete]

func UnRegisterCloudDriver added in v0.4.9

func UnRegisterCloudDriver(c echo.Context) error

unregisterCloudDriver godoc @ID unregister-driver @Summary Unregister Cloud Driver @Description Unregister a specific Cloud Driver. @Tags [Cloud Info Management] Driver Info @Produce json @Param DriverName path string true "The name of the Cloud Driver" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /driver/{DriverName} [delete]

func UnRegisterCredential added in v0.4.9

func UnRegisterCredential(c echo.Context) error

unregisterCredential godoc @ID unregister-credential @Summary Unregister Credential @Description Unregister a specific Credential. @Tags [Cloud Info Management] Credential Info @Produce json @Param CredentialName path string true "The name of the Credential" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /credential/{CredentialName} [delete]

func UnRegisterRegion added in v0.4.9

func UnRegisterRegion(c echo.Context) error

unregisterRegion godoc @ID unregister-region @Summary Unregister Region @Description Unregister a specific Region. @Tags [Cloud Info Management] Region Info @Produce json @Param RegionName path string true "The name of the Region" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /region/{RegionName} [delete]

func UnregisterCluster added in v0.6.14

func UnregisterCluster(c echo.Context) error

unregisterCluster godoc @ID unregister-cluster @Summary Unregister Cluster @Description Unregister a Cluster with the specified name. @Tags [Cluster Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for unregistering a Cluster" @Param Name path string true "The name of the Cluster to unregister" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regcluster/{Name} [delete]

func UnregisterDisk added in v0.6.7

func UnregisterDisk(c echo.Context) error

unregisterDisk godoc @ID unregister-disk @Summary Unregister Disk @Description Unregister a Disk with the specified name. @Tags [Disk Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for unregistering a Disk" @Param Name path string true "The name of the Disk to unregister" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regdisk/{Name} [delete]

func UnregisterKey added in v0.4.12

func UnregisterKey(c echo.Context) error

unregisterKey godoc @ID unregister-keypair @Summary Unregister KeyPair @Description Unregister a KeyPair with the specified name. @Tags [KeyPair Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for unregistering a KeyPair" @Param Name path string true "The name of the KeyPair to unregister" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regkeypair/{Name} [delete]

func UnregisterMyImage added in v0.6.10

func UnregisterMyImage(c echo.Context) error

unregisterMyImage godoc @ID unregister-myimage @Summary Unregister MyImage @Description Unregister a MyImage with the specified name. @Tags [MyImage Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for unregistering a MyImage" @Param Name path string true "The name of the MyImage to unregister" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regmyimage/{Name} [delete]

func UnregisterNLB added in v0.5.10

func UnregisterNLB(c echo.Context) error

unregisterNLB godoc @ID unregister-nlb @Summary Unregister NLB @Description Unregister a Network Load Balancer (NLB) with the specified name. @Tags [NLB Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for unregistering an NLB" @Param Name path string true "The name of the NLB to unregister" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regnlb/{Name} [delete]

func UnregisterSecurity added in v0.4.12

func UnregisterSecurity(c echo.Context) error

unregisterSecurity godoc @ID unregister-securitygroup @Summary Unregister SecurityGroup @Description Unregister a Security Group with the specified name. @Tags [SecurityGroup Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for unregistering a SecurityGroup" @Param Name path string true "The name of the SecurityGroup to unregister" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regsecuritygroup/{Name} [delete]

func UnregisterSubnet added in v0.7.6

func UnregisterSubnet(c echo.Context) error

unregisterSubnet godoc @ID unregister-subnet @Summary Unregister Subnet @Description Unregister a Subnet from a specified VPC. @Tags [VPC Management] @Accept json @Produce json @Param SubnetUnregisterRequest body restruntime.SubnetUnregisterRequest true "Request body for unregistering a Subnet" @Param Name path string true "The name of the Subnet to unregister" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regsubnet/{Name} [delete]

func UnregisterVM added in v0.4.12

func UnregisterVM(c echo.Context) error

unregisterVM godoc @ID unregister-vm @Summary Unregister VM @Description Unregister a Virtual Machine (VM) with the specified name. @Tags [VM Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for unregistering a VM" @Param Name path string true "The name of the VM to unregister" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regvm/{Name} [delete]

func UnregisterVPC added in v0.4.12

func UnregisterVPC(c echo.Context) error

unregisterVPC godoc @ID unregister-vpc @Summary Unregister VPC @Description Unregister a VPC with the specified name. @Tags [VPC Management] @Accept json @Produce json @Param ConnectionRequest body restruntime.ConnectionRequest true "Request body for unregistering a VPC" @Param Name path string true "The name of the VPC to unregister" @Success 200 {object} BooleanInfo "Result of the unregister operation" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /regvpc/{Name} [delete]

func UpgradeCluster added in v0.6.14

func UpgradeCluster(c echo.Context) error

upgradeCluster godoc @ID upgrade-cluster @Summary Upgrade Cluster @Description Upgrade a Cluster to a specified version. @Tags [Cluster Management] @Accept json @Produce json @Param Name path string true "The name of the Cluster to upgrade" @Param ClusterUpgradeRequest body restruntime.ClusterUpgradeRequest true "Request body for upgrading a Cluster" @Success 200 {object} cres.ClusterInfo "Details of the upgraded Cluster" @Failure 400 {object} SimpleMsg "Bad Request, possibly due to invalid JSON structure or missing fields" @Failure 404 {object} SimpleMsg "Resource Not Found" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /cluster/{Name}/upgrade [put]

func UploadCloudDriver added in v0.5.11

func UploadCloudDriver(c echo.Context) error

uploadCloudDriver godoc @ID upload-driver @Summary Upload Cloud Driver @Description Upload a Cloud Driver library file. @Tags [Cloud Info Management] Driver Info @Accept mpfd @Produce html @Param file formData file true "Cloud Driver Library File" @Success 200 {string} string "File uploaded successfully" @Failure 500 {object} SimpleMsg "Internal Server Error" @Router /driver/upload [post]

Types

type AccessControlList added in v0.11.0

type AccessControlList struct {
	Grant []Grant `xml:"Grant" json:"Grant"`
}

type AccessControlPolicy added in v0.11.0

type AccessControlPolicy struct {
	XMLName           xml.Name          `xml:"AccessControlPolicy" json:"-"`
	Xmlns             string            `xml:"xmlns,attr" json:"-"`
	Owner             Owner             `xml:"Owner" json:"Owner"`
	AccessControlList AccessControlList `xml:"AccessControlList" json:"AccessControlList"`
}

type AccessSubnetRequest added in v0.10.8

type AccessSubnetRequest struct {
	ConnectionName string   `json:"ConnectionName" validate:"required" example:"aws-connection"`
	SubnetIID      cres.IID `json:"SubnetIID" validate:"required"`
}

type AllResourceInfoListResponse added in v0.10.2

type AllResourceInfoListResponse struct {
	ResourceType cres.RSType `json:"ResourceType" validate:"required" example:"vpc" description:"The type of resource"`
	AllListInfo  struct {
		MappedInfoList  []interface{} `json:"MappedInfoList" validate:"required" description:"A list of resources that are mapped between CB-Spider and CSP"`
		OnlySpiderList  []*cres.IID   `json:"OnlySpiderList" validate:"required" description:"A list of resources that exist only in CB-Spider"`
		OnlyCSPInfoList []interface{} `json:"OnlyCSPInfoList" validate:"required" description:"A list of resources that exist only in the CSP"`
	} `json:"AllListInfo" validate:"required" description:"A list of all resources info with their respective lists"`
}

AllResourceInfoListResponse represents the response body structure for the ListAllVPCInfo API.

type AllResourceListResponse added in v0.9.3

type AllResourceListResponse struct {
	AllList struct {
		MappedList     []*cres.IID `json:"MappedList" validate:"required" description:"A list of resources that are mapped between CB-Spider and CSP"`
		OnlySpiderList []*cres.IID `json:"OnlySpiderList" validate:"required" description:"A list of resources that exist only in CB-Spider"`
		OnlyCSPList    []*cres.IID `json:"OnlyCSPList" validate:"required" description:"A list of resources that exist only in the CSP"`
	} `json:"AllList" validate:"required" description:"A list of all resources with their respective lists"`
}

AllResourceListResponse represents the response body structure for the ListAllVPC API.

type AnyCallRequest added in v0.9.4

type AnyCallRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"mock-config01"`
	ReqInfo        struct {
		FID           string          `json:"FID" validate:"required" example:"countAll"`   // Function ID (FID) to call, ex: countAll
		IKeyValueList []cres.KeyValue `json:"IKeyValueList,omitempty" validate:"omitempty"` // Input key-value pairs, ex:[{"Key": "rsType", "Value": "vpc"}]
	} `json:"ReqInfo" validate:"required"`
}

AnyCallRequest represents the request body for executing the AnyCall API.

type BooleanInfo

type BooleanInfo struct {
	Result string `json:"Result" validate:"required" example:"true"` // true or false
}

REST API Return struct for boolean type

type Bucket added in v0.11.0

type Bucket struct {
	Name         string `xml:"Name" json:"Name"`
	CreationDate string `xml:"CreationDate" json:"CreationDate"`
}

type Buckets added in v0.11.0

type Buckets struct {
	Bucket []Bucket `xml:"Bucket" json:"Bucket"`
}

type CORSConfiguration added in v0.11.0

type CORSConfiguration struct {
	XMLName   xml.Name   `xml:"CORSConfiguration" json:"-" swaggertype:"object"`
	Xmlns     string     `xml:"xmlns,attr" json:"-"`
	CORSRules []CORSRule `xml:"CORSRule" json:"CORSRule"`
}

type CORSRule added in v0.11.0

type CORSRule struct {
	AllowedOrigin []string `xml:"AllowedOrigin" json:"AllowedOrigin" example:"*"`
	AllowedMethod []string `xml:"AllowedMethod" json:"AllowedMethod" example:"GET,PUT,POST,DELETE"`
	AllowedHeader []string `xml:"AllowedHeader,omitempty" json:"AllowedHeader,omitempty" example:"*"`
	ExposeHeader  []string `xml:"ExposeHeader,omitempty" json:"ExposeHeader,omitempty" example:"ETag"`
	MaxAgeSeconds int      `xml:"MaxAgeSeconds,omitempty" json:"MaxAgeSeconds,omitempty" example:"3000"`
}

type ClusterAddNodeGroupRequest added in v0.9.4

type ClusterAddNodeGroupRequest struct {
	ConnectionName  string                  `json:"ConnectionName" validate:"required" example:"aws-connection"`
	IDTransformMode string                  `json:"IDTransformMode,omitempty" validate:"omitempty" example:"ON"` // ON: transform CSP ID, OFF: no-transform CSP ID
	ReqInfo         ClusterNodeGroupRequest `json:"ReqInfo" validate:"required"`
}

ClusterAddNodeGroupRequest represents the request body for adding a Node Group to a Cluster.

type ClusterChangeNodeGroupScalingRequest added in v0.9.4

type ClusterChangeNodeGroupScalingRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		DesiredNodeSize string `json:"DesiredNodeSize" validate:"required" example:"3"`
		MinNodeSize     string `json:"MinNodeSize" validate:"required" example:"1"`
		MaxNodeSize     string `json:"MaxNodeSize" validate:"required" example:"5"`
	} `json:"ReqInfo" validate:"required"`
}

ClusterChangeNodeGroupScalingRequest represents the request body for changing the scaling settings of a Node Group in a Cluster.

type ClusterCreateRequest added in v0.9.4

type ClusterCreateRequest struct {
	ConnectionName  string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	IDTransformMode string `json:"IDTransformMode,omitempty" validate:"omitempty" example:"ON"` // ON: transform CSP ID, OFF: no-transform CSP ID
	ReqInfo         struct {
		Name               string                    `json:"Name" validate:"required" example:"cluster-01"`
		Version            string                    `json:"Version,omitempty" validate:"omitempty" example:"1.30"` // Some CSPs may not support or limit versions.
		VPCName            string                    `json:"VPCName" validate:"required" example:"vpc-01"`
		SubnetNames        []string                  `json:"SubnetNames" validate:"required" example:"subnet-01,subnet-02"`
		SecurityGroupNames []string                  `json:"SecurityGroupNames" validate:"required" example:"sg-01,sg-02"`
		NodeGroupList      []ClusterNodeGroupRequest `json:"NodeGroupList" validate:"omitempty"`
		TagList            []cres.KeyValue           `json:"TagList,omitempty" validate:"omitempty"`
	} `json:"ReqInfo" validate:"required"`
}

ClusterCreateRequest represents the request body for creating a Cluster.

type ClusterGetOwnerVPCRequest added in v0.9.4

type ClusterGetOwnerVPCRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		CSPId string `json:"CSPId" validate:"required" example:"csp-cluster-1234"`
	} `json:"ReqInfo" validate:"required"`
}

ClusterGetOwnerVPCRequest represents the request body for retrieving the owner VPC of a Cluster.

type ClusterListResponse added in v0.9.4

type ClusterListResponse struct {
	Result []*cres.ClusterInfo `json:"cluster" validate:"required"`
}

ClusterListResponse represents the response body for listing Clusters.

type ClusterNodeGroupRequest added in v0.9.4

type ClusterNodeGroupRequest struct {
	Name            string `json:"Name" validate:"required" example:"nodegroup-01"`
	ImageName       string `json:"ImageName" validate:"omitempty"`              // Some CSPs may not support or limit images. [Ref](https://docs.google.com/spreadsheets/d/1mPmfnfmyszYimVzplZMzsqO3WsBmOdes/edit?usp=sharing&ouid=108635813398159139552&rtpof=true&sd=true)
	VMSpecName      string `json:"VMSpecName" validate:"omitempty"`             // Some CSPs may not support or limit specs. [Ref](https://docs.google.com/spreadsheets/d/1mPmfnfmyszYimVzplZMzsqO3WsBmOdes/edit?usp=sharing&ouid=108635813398159139552&rtpof=true&sd=true)
	RootDiskType    string `json:"RootDiskType,omitempty" validate:"omitempty"` // Some CSPs may not support or limit types. [Ref](https://docs.google.com/spreadsheets/d/1mPmfnfmyszYimVzplZMzsqO3WsBmOdes/edit?usp=sharing&ouid=108635813398159139552&rtpof=true&sd=true)
	RootDiskSize    string `json:"RootDiskSize,omitempty" validate:"omitempty"` // Some CSPs may not support or limit sizes. [Ref](https://docs.google.com/spreadsheets/d/1mPmfnfmyszYimVzplZMzsqO3WsBmOdes/edit?usp=sharing&ouid=108635813398159139552&rtpof=true&sd=true)
	KeyPairName     string `json:"KeyPairName" validate:"required" example:"keypair-01"`
	OnAutoScaling   string `json:"OnAutoScaling" validate:"required" example:"true"`
	DesiredNodeSize string `json:"DesiredNodeSize" validate:"required" example:"2"`
	MinNodeSize     string `json:"MinNodeSize" validate:"required" example:"1"`
	MaxNodeSize     string `json:"MaxNodeSize" validate:"required" example:"3"`
}

ClusterNodeGroupRequest represents the request body for a Node Group in a Cluster.

type ClusterRegisterRequest added in v0.9.4

type ClusterRegisterRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		VPCName string `json:"VPCName" validate:"required" example:"vpc-01"`
		Name    string `json:"Name" validate:"required" example:"cluster-01"`
		CSPId   string `json:"CSPId" validate:"required" example:"csp-cluster-1234"`
	} `json:"ReqInfo" validate:"required"`
}

ClusterRegisterRequest represents the request body for registering a Cluster.

type ClusterSetNodeGroupAutoScalingRequest added in v0.9.4

type ClusterSetNodeGroupAutoScalingRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		OnAutoScaling string `json:"OnAutoScaling" validate:"required" example:"true"`
	} `json:"ReqInfo" validate:"required"`
}

ClusterSetNodeGroupAutoScalingRequest represents the request body for setting auto-scaling for a Node Group in a Cluster.

type ClusterTokenResponse added in v0.11.13

type ClusterTokenResponse struct {
	ApiVersion string             `json:"apiVersion" example:"client.authentication.k8s.io/v1"`
	Kind       string             `json:"kind" example:"ExecCredential"`
	Status     ClusterTokenStatus `json:"status"`
}

ClusterTokenResponse represents the response for EKS token

type ClusterTokenStatus added in v0.11.13

type ClusterTokenStatus struct {
	Token string `json:"token" example:"k8s-aws-v1.aHR0cHM6Ly9zdHMuYXA..."`
}

type ClusterUpgradeRequest added in v0.9.4

type ClusterUpgradeRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Version string `json:"Version" validate:"required" example:"1.30"`
	} `json:"ReqInfo" validate:"required"`
}

ClusterUpgradeRequest represents the request body for upgrading a Cluster to a specified version.

type ConnectionRequest added in v0.9.3

type ConnectionRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
}

ConnectionRequest represents the request body for common use.

type CountResponse added in v0.9.3

type CountResponse struct {
	Count int `json:"count" validate:"required" example:"5" description:"The total number of resources counted"`
}

CountResponse represents the response body for counting all VPCs.

type CreateBucketConfiguration added in v0.11.0

type CreateBucketConfiguration struct {
	XMLName            xml.Name `xml:"CreateBucketConfiguration" json:"-"`
	LocationConstraint string   `xml:"LocationConstraint" json:"LocationConstraint"`
}

type DeleteMarker added in v0.11.0

type DeleteMarker struct {
	Key          string `xml:"Key" json:"Key"`
	VersionId    string `xml:"VersionId" json:"VersionId"`
	IsLatest     bool   `xml:"IsLatest" json:"IsLatest"`
	LastModified string `xml:"LastModified" json:"LastModified"`
	Owner        *Owner `xml:"Owner,omitempty" json:"Owner,omitempty"`
}

type DiskAttachRequest added in v0.9.3

type DiskAttachRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		VMName string `json:"VMName" validate:"required" example:"vm-01"`
	} `json:"ReqInfo" validate:"required"`
}

DiskAttachRequest represents the request body for attaching a Disk to a VM.

type DiskCreateRequest added in v0.9.3

type DiskCreateRequest struct {
	ConnectionName  string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	IDTransformMode string `json:"IDTransformMode,omitempty" validate:"omitempty" example:"ON"` // ON: transform CSP ID, OFF: no-transform CSP ID
	ReqInfo         struct {
		Name     string          `json:"Name" validate:"required" example:"disk-01"`
		Zone     string          `json:"Zone,omitempty" validate:"omitempty" example:"us-east-1b"` // target zone for the disk, if not specified, it will be created in the same zone as the Connection.
		DiskType string          `json:"DiskType" validate:"required" example:"gp2"`               // gp2 or default, if not specified, default is used
		DiskSize string          `json:"DiskSize" validate:"required" example:"100"`               // 100 or default, if not specified, default is used (unit is GB)
		TagList  []cres.KeyValue `json:"TagList,omitempty" validate:"omitempty"`
	} `json:"ReqInfo" validate:"required"`
}

DiskCreateRequest represents the request body for creating a Disk.

type DiskDetachRequest added in v0.9.3

type DiskDetachRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		VMName string `json:"VMName" validate:"required" example:"vm-01"`
	} `json:"ReqInfo" validate:"required"`
}

DiskDetachRequest represents the request body for detaching a Disk from a VM.

type DiskListResponse added in v0.9.3

type DiskListResponse struct {
	Result []*cres.DiskInfo `json:"disk" validate:"required" description:"A list of Disk information"`
}

DiskListResponse represents the response body for listing Disks.

type DiskRegisterRequest added in v0.9.3

type DiskRegisterRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Name  string `json:"Name" validate:"required" example:"disk-01"`
		Zone  string `json:"Zone" validate:"required" example:"us-east-1b"` // (default: defaultZone)
		CSPId string `json:"CSPId" validate:"required" example:"csp-disk-1234"`
	} `json:"ReqInfo" validate:"required"`
}

DiskRegisterRequest represents the request body for registering a Disk.

type DiskSizeIncreaseRequest added in v0.9.4

type DiskSizeIncreaseRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Size string `json:"Size" validate:"required" example:"150"`
	} `json:"ReqInfo" validate:"required"`
}

DiskSizeIncreaseRequest represents the request body for changing the size of a Disk.

type DriverCapabilityResponse added in v0.10.3

type DriverCapabilityResponse struct {
	ifs.DriverCapabilityInfo `json:",inline" description:"Driver capability information details"`
}

DriverCapabilityResponse represents the response body structure for the GetDriverCapability API.

type FileSystemCreateRequest added in v0.10.8

type FileSystemCreateRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Name             string            `json:"Name" validate:"required" example:"efs-01"`
		Zone             string            `json:"Zone" validate:"required" example:"us-east-1a"`
		VpcIID           cres.IID          `json:"VpcIID" validate:"required"`
		NFSVersion       string            `json:"NFSVersion" validate:"required" example:"4.1"`
		AccessSubnetList []cres.IID        `json:"AccessSubnetList,omitempty"`
		FileSystemType   string            `json:"FileSystemType,omitempty" example:"RegionType"`
		CapacityGB       int64             `json:"CapacityGB,omitempty" example:"1024"`
		Encryption       bool              `json:"Encryption,omitempty" example:"false"`
		PerformanceInfo  map[string]string `json:"PerformanceInfo,omitempty"`
		TagList          []cres.KeyValue   `json:"TagList,omitempty"`
	} `json:"ReqInfo" validate:"required"`
}

FileSystemCreateRequest represents the request body for creating a FileSystem.

type Grant added in v0.11.0

type Grant struct {
	Grantee    Grantee `xml:"Grantee" json:"Grantee"`
	Permission string  `xml:"Permission" json:"Permission"`
}

type Grantee added in v0.11.0

type Grantee struct {
	XMLName      xml.Name `xml:"Grantee" json:"-"`
	Type         string   `xml:"type,attr" json:"Type"`
	ID           string   `xml:"ID,omitempty" json:"ID,omitempty"`
	DisplayName  string   `xml:"DisplayName,omitempty" json:"DisplayName,omitempty"`
	EmailAddress string   `xml:"EmailAddress,omitempty" json:"EmailAddress,omitempty"`
	URI          string   `xml:"URI,omitempty" json:"URI,omitempty"`
}

type HealthCheckResponse added in v0.9.4

type HealthCheckResponse struct {
	Message string `json:"message" validate:"required" example:"CB-Spider is ready"`
}

HealthCheckResponse represents the response body for the healthCheck API.

type ImageListResponse added in v0.9.3

type ImageListResponse struct {
	Result []*cres.ImageInfo `json:"image" validate:"required" description:"A list of public images"`
}

ImageListResponse represents the response body structure for the ListImage API.

type KeyPairCreateRequest added in v0.9.4

type KeyPairCreateRequest struct {
	ConnectionName  string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	IDTransformMode string `json:"IDTransformMode,omitempty" validate:"omitempty" example:"ON"` // ON: transform CSP ID, OFF: no-transform CSP ID
	ReqInfo         struct {
		Name    string          `json:"Name" validate:"required" example:"keypair-01"`
		TagList []cres.KeyValue `json:"TagList,omitempty" validate:"omitempty"`
	} `json:"ReqInfo" validate:"required"`
}

KeyPairCreateRequest represents the request body for creating a KeyPair.

type KeyPairListResponse added in v0.9.4

type KeyPairListResponse struct {
	Result []*cres.KeyPairInfo `json:"keypair"`
}

KeyPairListResponse represents the response body for listing KeyPairs.

type KeyPairRegisterRequest added in v0.9.4

type KeyPairRegisterRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Name  string `json:"Name" validate:"required" example:"keypair-01"`
		CSPId string `json:"CSPId" validate:"required" example:"csp-key-1234"`
	} `json:"ReqInfo" validate:"required"`
}

KeyPairRegisterRequest represents the request body for registering a KeyPair.

type ListAllMyBucketsResult added in v0.11.0

type ListAllMyBucketsResult struct {
	XMLName xml.Name `xml:"ListAllMyBucketsResult" json:"-"`
	Xmlns   string   `xml:"xmlns,attr" json:"-"`
	Owner   Owner    `xml:"Owner" json:"Owner"`
	Buckets Buckets  `xml:"Buckets" json:"Buckets"`
}

type ListBucketResult added in v0.11.0

type ListBucketResult struct {
	XMLName     xml.Name      `xml:"ListBucketResult" json:"-"`
	Xmlns       string        `xml:"xmlns,attr" json:"-"`
	Name        string        `xml:"Name" json:"Name"`
	Prefix      string        `xml:"Prefix" json:"Prefix"`
	Marker      string        `xml:"Marker" json:"Marker"`
	MaxKeys     int           `xml:"MaxKeys" json:"MaxKeys"`
	IsTruncated bool          `xml:"IsTruncated" json:"IsTruncated"`
	Contents    []S3ObjectXML `xml:"Contents" json:"Contents"`
}

type ListCloudDriverResponse added in v0.9.4

type ListCloudDriverResponse struct {
	Result []*dim.CloudDriverInfo `json:"driver" validate:"required"`
}

ListCloudDriverResponse represents the response body for listing Cloud Drivers.

type ListCloudOSResponse added in v0.9.4

type ListCloudOSResponse struct {
	Result []string `json:"cloudos" validate:"required" example:"[\"AWS\", \"GCP\"]"`
}

ListCloudOSResponse represents the response body for listing Cloud OS.

type ListConnectionConfigResponse added in v0.9.4

type ListConnectionConfigResponse struct {
	Result []*ccim.ConnectionConfigInfo `json:"connectionconfig" validate:"required"`
}

ListConnectionConfigResponse represents the response body for listing Connection Configurations.

type ListCredentialResponse added in v0.9.4

type ListCredentialResponse struct {
	Result []*cim.CredentialInfo `json:"credential" validate:"required"`
}

ListCredentialResponse represents the response body for listing Credentials.

type ListRegionResponse added in v0.9.4

type ListRegionResponse struct {
	Result []*rim.RegionInfo `json:"region" validate:"required"`
}

ListRegionResponse represents the response body for listing Regions.

type ListVersionsResult added in v0.11.0

type ListVersionsResult struct {
	XMLName             xml.Name        `xml:"ListVersionsResult" json:"-"`
	Xmlns               string          `xml:"xmlns,attr" json:"-"`
	Name                string          `xml:"Name" json:"Name"`
	Prefix              string          `xml:"Prefix" json:"Prefix"`
	KeyMarker           string          `xml:"KeyMarker" json:"KeyMarker"`
	VersionIdMarker     string          `xml:"VersionIdMarker" json:"VersionIdMarker"`
	NextKeyMarker       string          `xml:"NextKeyMarker" json:"NextKeyMarker"`
	NextVersionIdMarker string          `xml:"NextVersionIdMarker" json:"NextVersionIdMarker"`
	MaxKeys             int             `xml:"MaxKeys" json:"MaxKeys"`
	IsTruncated         bool            `xml:"IsTruncated" json:"IsTruncated"`
	Versions            []ObjectVersion `xml:"Version" json:"Version"`
	DeleteMarkers       []DeleteMarker  `xml:"DeleteMarker" json:"DeleteMarker"`
}

type MyImageListResponse added in v0.9.3

type MyImageListResponse struct {
	Result []*cres.MyImageInfo `json:"myImage" validate:"required" description:"A list of MyImage information"`
}

MyImageListResponse represents the response body for listing MyImages.

type MyImageRegisterRequest added in v0.9.3

type MyImageRegisterRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Name  string `json:"Name" validate:"required" example:"myimage-01"`
		CSPId string `json:"CSPId" validate:"required" example:"csp-myimage-1234"`
	} `json:"ReqInfo" validate:"required"`
}

MyImageRegisterRequest represents the request body for registering a MyImage.

type MyImageSnapshotRequest added in v0.9.3

type MyImageSnapshotRequest struct {
	ConnectionName  string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	IDTransformMode string `json:"IDTransformMode,omitempty" validate:"omitempty" example:"ON"` // ON: transform CSP ID, OFF: no-transform CSP ID
	ReqInfo         struct {
		Name     string          `json:"Name" validate:"required" example:"myimage-01"`
		SourceVM string          `json:"SourceVM" validate:"required" example:"vm-01"`
		TagList  []cres.KeyValue `json:"TagList,omitempty" validate:"omitempty"`
	} `json:"ReqInfo" validate:"required"`
}

MyImageSnapshotRequest represents the request body for creating a MyImage snapshot.

type NLBAddVMsRequest added in v0.9.4

type NLBAddVMsRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		VMs []string `json:"VMs" validate:"required" example:"vm-01"`
	} `json:"ReqInfo" validate:"required"`
}

NLBAddVMsRequest represents the request body for adding VMs to an NLB.

type NLBChangeHealthCheckerRequest added in v0.9.4

type NLBChangeHealthCheckerRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Protocol  string `json:"Protocol" validate:"required" example:"TCP"`
		Port      string `json:"Port" validate:"required" example:"80"`
		Interval  string `json:"Interval" validate:"required" example:"30"`
		Timeout   string `json:"Timeout" validate:"required" example:"5"`
		Threshold string `json:"Threshold" validate:"required" example:"3"`
	} `json:"ReqInfo" validate:"required"`
}

NLBChangeHealthCheckerRequest represents the request body for changing the health checker of an NLB.

type NLBChangeListenerRequest added in v0.9.4

type NLBChangeListenerRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Protocol string `json:"Protocol" validate:"required" example:"TCP"`
		Port     string `json:"Port" validate:"required" example:"80"`
	} `json:"ReqInfo" validate:"required"`
}

NLBChangeListenerRequest represents the request body for changing the listener of an NLB.

type NLBChangeVMGroupRequest added in v0.9.4

type NLBChangeVMGroupRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Protocol string `json:"Protocol" validate:"required" example:"TCP"`
		Port     string `json:"Port" validate:"required" example:"80"`
	} `json:"ReqInfo" validate:"required"`
}

NLBChangeVMGroupRequest represents the request body for changing the VM group of an NLB.

type NLBCreateRequest added in v0.9.4

type NLBCreateRequest struct {
	ConnectionName  string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	IDTransformMode string `json:"IDTransformMode,omitempty" validate:"omitempty" example:"ON"` // ON: transform CSP ID, OFF: no-transform CSP ID
	ReqInfo         struct {
		Name          string                   `json:"Name" validate:"required" example:"nlb-01"`
		VPCName       string                   `json:"VPCName" validate:"required" example:"vpc-01"`
		Type          string                   `json:"Type" validate:"required" example:"PUBLIC"`  // PUBLIC(V) | INTERNAL
		Scope         string                   `json:"Scope" validate:"required" example:"REGION"` // REGION(V) | GLOBAL
		Listener      NLBListenerCreateRequest `json:"Listener" validate:"required"`
		VMGroup       NLBVMGroupRequest        `json:"VMGroup,omitempty" validate:"omitempty"`
		HealthChecker NLBHealthCheckerRequest  `json:"HealthChecker" validate:"required"`
		TagList       []cres.KeyValue          `json:"TagList,omitempty" validate:"omitempty"`
	} `json:"ReqInfo" validate:"required"`
}

NLBCreateRequest represents the request body for creating an NLB.

type NLBGetOwnerVPCRequest added in v0.9.4

type NLBGetOwnerVPCRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		CSPId string `json:"CSPId" validate:"required" example:"csp-nlb-1234"`
	} `json:"ReqInfo" validate:"required"`
}

NLBGetOwnerVPCRequest represents the request body for retrieving the owner VPC of an NLB.

type NLBGetVMGroupHealthInfoResponse added in v0.9.4

type NLBGetVMGroupHealthInfoResponse struct {
	Result cres.HealthInfo `json:"healthinfo" validate:"required" description:"Health information of the VM group"`
}

NLBGetVMGroupHealthInfoResponse represents the response body for retrieving the health information of a VM group in an NLB.

type NLBHealthCheckerRequest added in v0.9.4

type NLBHealthCheckerRequest struct {
	Protocol  string `json:"Protocol" validate:"required" example:"TCP"`                 // TCP|HTTP
	Port      string `json:"Port" validate:"required" example:"22"`                      // Listener Port or 1-65535
	Interval  string `json:"Interval,omitempty" validate:"omitempty" example:"default"`  // secs, if not specified, treated as "default", determined by CSP
	Timeout   string `json:"Timeout,omitempty" validate:"omitempty" example:"default"`   // secs, if not specified, treated as "default", determined by CSP
	Threshold string `json:"Threshold,omitempty" validate:"omitempty" example:"default"` // num, if not specified, treated as "default", determined by CSP
}

NLBHealthCheckerRequest represents the request body for health checker configurations in an NLB.

type NLBListResponse added in v0.9.4

type NLBListResponse struct {
	Result []*cres.NLBInfo `json:"nlb" validate:"required" description:"A list of NLB information"`
}

NLBListResponse represents the response body for listing NLBs.

type NLBListenerCreateRequest added in v0.9.4

type NLBListenerCreateRequest struct {
	Protocol string `json:"Protocol" validate:"required" example:"TCP"` // TCP|UDP
	Port     string `json:"Port" validate:"required" example:"22"`      // 1-65535
}

NLBListenerCreateRequest represents the request body for the listener configuration in an NLB.

type NLBRegisterRequest added in v0.9.4

type NLBRegisterRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		VPCName string `json:"VPCName" validate:"required" example:"vpc-01"`
		Name    string `json:"Name" validate:"required" example:"nlb-01"`
		CSPId   string `json:"CSPId" validate:"required" example:"csp-nlb-1234"`
	} `json:"ReqInfo" validate:"required"`
}

NLBRegisterRequest represents the request body for registering an NLB.

type NLBRemoveVMsRequest added in v0.9.4

type NLBRemoveVMsRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		VMs []string `json:"VMs" validate:"required" example:"vm-01"`
	} `json:"ReqInfo" validate:"required"`
}

NLBRemoveVMsRequest represents the request body for removing VMs from an NLB.

type NLBVMGroupRequest added in v0.9.4

type NLBVMGroupRequest struct {
	Protocol string   `json:"Protocol" validate:"required" example:"TCP"` // TCP|UDP
	Port     string   `json:"Port" validate:"required" example:"22"`      // Listener Port or 1-65535
	VMs      []string `json:"VMs,omitempty" validate:"omitempty" example:"vm-01,vm-02"`
}

NLBVMGroupRequest represents the request body for VM group configurations in an NLB.

type ObjectVersion added in v0.11.0

type ObjectVersion struct {
	Key          string `xml:"Key" json:"Key"`
	VersionId    string `xml:"VersionId" json:"VersionId"`
	IsLatest     bool   `xml:"IsLatest" json:"IsLatest"`
	LastModified string `xml:"LastModified" json:"LastModified"`
	ETag         string `xml:"ETag" json:"ETag"`
	Size         int64  `xml:"Size" json:"Size"`
	StorageClass string `xml:"StorageClass" json:"StorageClass"`
	Owner        *Owner `xml:"Owner,omitempty" json:"Owner,omitempty"`
}

type OriginalRegionListResponse added in v0.9.3

type OriginalRegionListResponse struct {
	RegionInfo map[string]interface{} `json:"RegionInfo" validate:"required"` // CSP-specific JSON format
}

OriginalRegionListResponse represents the dynamic structure for the Original Region List response.

type OriginalVMSpecListResponse added in v0.9.3

type OriginalVMSpecListResponse struct {
	VMSpecInfo map[string]interface{} `json:"VMSpecInfo" validate:"required"` // CSP-specific JSON format
}

OriginalVMSpecListResponse represents the dynamic structure for the Original VM Spec List response.

type OriginalZoneListResponse added in v0.9.3

type OriginalZoneListResponse struct {
	ZoneInfo map[string]interface{} `json:"ZoneInfo" validate:"required"` // CSP-specific JSON format
}

OriginalZoneListResponse represents the dynamic structure for the Original Zone List response.

type Owner added in v0.11.0

type Owner struct {
	ID          string `xml:"ID" json:"ID"`
	DisplayName string `xml:"DisplayName" json:"DisplayName"`
}

type PreConfigOriginalRegionListRequest added in v0.9.4

type PreConfigOriginalRegionListRequest struct {
	DriverName     string `json:"DriverName" validate:"required" query:"DriverName"`         // example:"aws-driver"
	CredentialName string `json:"CredentialName" validate:"required" query:"CredentialName"` // example:"aws-credential"
}

PreConfigOriginalRegionListRequest represents the request body for listing Original regions with pre-configuration.

type PreConfigRegionZoneGetRequest added in v0.9.3

type PreConfigRegionZoneGetRequest struct {
	DriverName     string `json:"DriverName" validate:"required" query:"DriverName"`         // example:"aws-driver"
	CredentialName string `json:"CredentialName" validate:"required" query:"CredentialName"` // example:"aws-credential"
}

PreConfigRegionZoneGetRequest represents the request body for getting a specific region zone with pre-config.

type PreConfigRegionZoneListRequest added in v0.9.3

type PreConfigRegionZoneListRequest struct {
	DriverName     string `json:"DriverName" validate:"required" query:"DriverName"`         //  example:"aws-driver"
	CredentialName string `json:"CredentialName" validate:"required" query:"CredentialName"` // example:"aws-credential"
}

================ RegionZone Handler (Pre-Config Version) PreConfigRegionZoneListRequest represents the request body for listing region zones with pre-config.

type PriceInfoResponse added in v0.9.3

type PriceInfoResponse struct {
	cres.CloudPrice `json:",inline" description:"VM Price information details"`
}

PriceInfoResponse represents the response body structure for the GetVMPriceInfo API.

type ProductFamilyListResponse added in v0.9.3

type ProductFamilyListResponse struct {
	Result []string `json:"productfamily" validate:"required"`
}

ProductFamilyListResponse represents the response body structure for the ListProductFamily API.

type RegionZoneListResponse added in v0.9.3

type RegionZoneListResponse struct {
	Result []*cres.RegionZoneInfo `json:"regionzone" validate:"required" description:"A list of region zones"`
}

RegionZoneListResponse represents the response body structure for the ListRegionZone API.

type RuleControlRequest added in v0.9.3

type RuleControlRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		RuleInfoList []struct {
			Direction  string `json:"Direction" validate:"required" example:"inbound"`
			IPProtocol string `json:"IPProtocol" validate:"required" example:"TCP"`
			FromPort   string `json:"FromPort" validate:"required" example:"22"`
			ToPort     string `json:"ToPort" validate:"required" example:"22"`
			CIDR       string `json:"CIDR,omitempty" validate:"omitempty" example:"0.0.0.0/0(default)"`
		} `json:"RuleInfoList" validate:"required"`
	} `json:"ReqInfo" validate:"required"`
}

RuleControlRequest represents the request body for controlling rules in a SecurityGroup.

type S3BucketInfo added in v0.10.8

type S3BucketInfo struct {
	Name         string    `json:"Name"`
	BucketRegion string    `json:"BucketRegion,omitempty"`
	CreationDate time.Time `json:"CreationDate"`
}

--------------- for Swagger doc (minio.BucketInfo)

type S3Error added in v0.11.0

type S3Error struct {
	XMLName   xml.Name `xml:"Error" json:"-"`
	Code      string   `xml:"Code" json:"Code"`
	Message   string   `xml:"Message" json:"Message"`
	Resource  string   `xml:"Resource" json:"Resource"`
	RequestId string   `xml:"RequestId" json:"RequestId"`
}

S3 Error Response

type S3Grant added in v0.10.8

type S3Grant struct {
	Grantee    interface{} `json:"Grantee"`
	Permission string      `json:"Permission"`
}

type S3ObjectInfo added in v0.10.8

type S3ObjectInfo struct {
	ETag              string              `json:"ETag"`
	Key               string              `json:"Key"`
	LastModified      time.Time           `json:"LastModified"`
	Size              int64               `json:"Size"`
	ContentType       string              `json:"ContentType"`
	Expires           time.Time           `json:"Expires"`
	Metadata          map[string][]string `json:"Metadata"`
	UserMetadata      map[string]string   `json:"UserMetadata,omitempty"`
	UserTags          map[string]string   `json:"UserTags,omitempty"`
	UserTagCount      int                 `json:"UserTagCount"`
	Owner             *S3Owner            `json:"Owner,omitempty"`
	Grant             []S3Grant           `json:"Grant,omitempty"`
	StorageClass      string              `json:"StorageClass"`
	IsLatest          bool                `json:"IsLatest"`
	IsDeleteMarker    bool                `json:"IsDeleteMarker"`
	VersionID         string              `json:"VersionID"`
	ReplicationStatus string              `json:"ReplicationStatus"`
	ReplicationReady  bool                `json:"ReplicationReady"`
	Expiration        time.Time           `json:"Expiration"`
	ExpirationRuleID  string              `json:"ExpirationRuleID"`
	NumVersions       int                 `json:"NumVersions"`
	Restore           *S3RestoreInfo      `json:"Restore,omitempty"`
	ChecksumCRC32     string              `json:"ChecksumCRC32"`
	ChecksumCRC32C    string              `json:"ChecksumCRC32C"`
	ChecksumSHA1      string              `json:"ChecksumSHA1"`
	ChecksumSHA256    string              `json:"ChecksumSHA256"`
	ChecksumCRC64NVME string              `json:"ChecksumCRC64NVME"`
	ChecksumMode      string              `json:"ChecksumMode"`
}

--------------- for Swagger doc (minio.ObjectInfo)

type S3ObjectXML added in v0.11.0

type S3ObjectXML struct {
	Key          string `xml:"Key" json:"Key"`
	LastModified string `xml:"LastModified" json:"LastModified"`
	ETag         string `xml:"ETag" json:"ETag"`
	Size         int64  `xml:"Size" json:"Size"`
	StorageClass string `xml:"StorageClass" json:"StorageClass"`
	Owner        *Owner `xml:"Owner,omitempty" json:"Owner,omitempty"`
}

type S3Owner added in v0.10.8

type S3Owner struct {
	DisplayName string `json:"DisplayName"`
	ID          string `json:"ID"`
}

type S3PresignedURL added in v0.10.8

type S3PresignedURL struct {
	PresignedURL string `json:"PresignedURL"`
	Expires      int64  `json:"Expires"`
	Method       string `json:"Method"`
}

--------------- for Swagger doc (minio.BooleanInfo)

type S3PresignedURLXML added in v0.11.6

type S3PresignedURLXML struct {
	XMLName      xml.Name `xml:"PresignedURLResult" json:"-"`
	Xmlns        string   `xml:"xmlns,attr" json:"-"`
	PresignedURL string   `xml:"PresignedURL" json:"PresignedURL"`
	Expires      int64    `xml:"Expires" json:"Expires"`
	Method       string   `xml:"Method" json:"Method"`
}

XML structure for PreSigned URL response

type S3RestoreInfo added in v0.10.8

type S3RestoreInfo struct {
	OngoingRestore bool      `json:"OngoingRestore"`       // Whether the object is currently being restored
	ExpiryTime     time.Time `json:"ExpiryTime,omitempty"` // Optional, only if applicable
}

type S3UploadInfo added in v0.10.8

type S3UploadInfo struct {
	Bucket            string    `json:"Bucket"`
	Key               string    `json:"Key"`
	ETag              string    `json:"ETag"`
	Size              int64     `json:"Size"`
	LastModified      time.Time `json:"LastModified"`
	Location          string    `json:"Location"`
	VersionID         string    `json:"VersionID"`
	Expiration        time.Time `json:"Expiration"`
	ExpirationRuleID  string    `json:"ExpirationRuleID"`
	ChecksumCRC32     string    `json:"ChecksumCRC32"`
	ChecksumCRC32C    string    `json:"ChecksumCRC32C"`
	ChecksumSHA1      string    `json:"ChecksumSHA1"`
	ChecksumSHA256    string    `json:"ChecksumSHA256"`
	ChecksumCRC64NVME string    `json:"ChecksumCRC64NVME"`
	ChecksumMode      string    `json:"ChecksumMode"`
}

--------------- for Swagger doc (minio.UploadInfo)

type SSHRUNReqInfo

type SSHRUNReqInfo struct {
	UserName   string   // ex) "root"
	PrivateKey []string // ex)   ["-----BEGIN RSA PRIVATE KEY-----",
	//          "MIIEoQIBAAKCAQEArVNOLwMIp5VmZ4VPZotcoCHdEzimKalAsz+ccLfvAA1Y2ELH",
	//          "..."]
	ServerPort string // ex) "node12:22"
	Command    string // ex) "hostname"
}

type SecurityGroupCreateRequest added in v0.9.3

type SecurityGroupCreateRequest struct {
	ConnectionName  string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	IDTransformMode string `json:"IDTransformMode,omitempty" validate:"omitempty" example:"ON"` // ON: transform CSP ID, OFF: no-transform CSP ID
	ReqInfo         struct {
		Name          string                   `json:"Name" validate:"required" example:"sg-01"`
		VPCName       string                   `json:"VPCName" validate:"required" example:"vpc-01"`
		SecurityRules *[]cres.SecurityRuleInfo `json:"SecurityRules" validate:"required"`
		TagList       []cres.KeyValue          `json:"TagList,omitempty" validate:"omitempty"`
	} `json:"ReqInfo" validate:"required"`
}

SecurityGroupCreateRequest represents the request body for creating a SecurityGroup.

type SecurityGroupListResponse added in v0.9.4

type SecurityGroupListResponse struct {
	Result []*cres.SecurityInfo `json:"securitygroup" validate:"required" description:"A list of security group information"`
}

SecurityGroupListResponse represents the response body for listing SecurityGroups.

type SecurityGroupRegisterRequest added in v0.9.3

type SecurityGroupRegisterRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		VPCName string `json:"VPCName" validate:"required" example:"vpc-01"`
		Name    string `json:"Name" validate:"required" example:"sg-01"`
		CSPId   string `json:"CSPId" validate:"required" example:"csp-sg-1234"`
	} `json:"ReqInfo" validate:"required"`
}

SecurityGroupRegisterRequest represents the request body for registering a SecurityGroup.

type SimpleMsg added in v0.3.15

type SimpleMsg struct {
	Message string `json:"message" validate:"required" example:"Any message" description:"A simple message to be returned by the API"`
}

JSON Simple message struct

type SubnetAddRequest added in v0.9.4

type SubnetAddRequest struct {
	ConnectionName  string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	IDTransformMode string `json:"IDTransformMode,omitempty" validate:"omitempty" example:"ON"` // ON: transform CSP ID, OFF: no-transform CSP ID
	ReqInfo         struct {
		Name      string          `json:"Name" validate:"required" example:"subnet-01"`
		Zone      string          `json:"Zone,omitempty" validate:"omitempty" example:"us-east-1b"` // target zone for the subnet, if not specified, it will be created in the same zone as the Connection.
		IPv4_CIDR string          `json:"IPv4_CIDR" validate:"required" example:"10.0.12.0/22"`
		TagList   []cres.KeyValue `json:"TagList,omitempty" validate:"omitempty"`
	} `json:"ReqInfo" validate:"required"`
}

SubnetAddRequest represents the request body for adding a subnet to a VPC.

type SubnetRegisterRequest added in v0.9.3

type SubnetRegisterRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Name    string `json:"Name" validate:"required" example:"subnet-01"`
		Zone    string `json:"Zone,omitempty" validate:"omitempty" example:"us-east-1a"` // (default: defaultZone)
		VPCName string `json:"VPCName" validate:"required" example:"vpc-01"`
		CSPId   string `json:"CSPId" validate:"required" example:"csp-subnet-1234"`
	} `json:"ReqInfo" validate:"required"`
}

SubnetRegisterRequest represents the request body for registering a subnet.

type SubnetUnregisterRequest added in v0.9.3

type SubnetUnregisterRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		VPCName string `json:"VPCName" validate:"required" example:"vpc-01"`
	} `json:"ReqInfo" validate:"required"`
}

SubnetUnregisterRequest represents the request body for unregistering a subnet.

type TagAddRequest added in v0.9.6

type TagAddRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		ResourceType cres.RSType   `json:"ResourceType" validate:"required" example:"VPC"`
		ResourceName string        `json:"ResourceName" validate:"required" example:"vpc-01"`
		Tag          cres.KeyValue `json:"Tag" validate:"required"`
	} `json:"ReqInfo" validate:"required"`
}

type TagRemoveRequest added in v0.9.6

type TagRemoveRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		ResourceType cres.RSType `json:"ResourceType" validate:"required" example:"VPC"`
		ResourceName string      `json:"ResourceName" validate:"required" example:"vpc-01"`
	} `json:"ReqInfo" validate:"required"`
}

tagRemoveReq represents the request body for removing a Tag from a Resource.

type VMListResponse added in v0.9.3

type VMListResponse struct {
	VMs []*cres.VMInfo `json:"vm" validate:"required"`
}

VMListResponse represents the response body structure for listing VMs.

type VMListStatusResponse added in v0.9.3

type VMListStatusResponse struct {
	Result []*cres.VMStatusInfo `json:"vmstatus" validate:"required"`
}

VMListStatusResponse represents the response structure for listing VM statuses.

type VMRegisterRequest added in v0.9.3

type VMRegisterRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Name  string `json:"Name" validate:"required" example:"vm-01"`
		CSPId string `json:"CSPId" validate:"required" example:"csp-vm-1234"`
	} `json:"ReqInfo" validate:"required"`
}

VMRegisterRequest represents the request body for registering a VM.

type VMSpecListResponse added in v0.9.3

type VMSpecListResponse struct {
	Result []*cres.VMSpecInfo `json:"vmspec" validate:"required" description:"A list of VM specs"`
}

VMSpecListResponse represents the response body structure for the ListVMSpec API.

type VMStartRequest added in v0.9.3

type VMStartRequest struct {
	ConnectionName  string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	IDTransformMode string `json:"IDTransformMode,omitempty" validate:"omitempty" example:"ON"` // ON: transform CSP ID, OFF: no-transform CSP ID
	ReqInfo         struct {
		Name       string `json:"Name" validate:"required" example:"vm-01"`
		ImageType  string `json:"ImageType" validate:"required" example:"PublicImage"` // PublicImage or MyImage
		ImageName  string `json:"ImageName" validate:"required" example:"ami-12345678"`
		VMSpecName string `json:"VMSpecName" validate:"required" example:"t2.micro"`

		VPCName            string   `json:"VPCName" validate:"required" example:"vpc-01"`
		SubnetName         string   `json:"SubnetName" validate:"required" example:"subnet-01"`
		SecurityGroupNames []string `json:"SecurityGroupNames" validate:"required" example:"sg-01,sg-02"`
		KeyPairName        string   `json:"KeyPairName" validate:"required" example:"keypair-01"`

		RootDiskType  string   `json:"RootDiskType,omitempty" validate:"omitempty" example:"gp2"`                         // gp2 or default, if not specified, default is used
		RootDiskSize  string   `json:"RootDiskSize,omitempty" validate:"omitempty" example:"30"`                          // 100 or default, if not specified, default is used (unit is GB)
		DataDiskNames []string `json:"DataDiskNames,omitempty" validate:"omitempty" example:"data-disk-01, data-disk-02"` // Data disks in the same zone as this VM

		VMUserId     string `json:"VMUserId,omitempty" validate:"omitempty" example:"Administrator"`    // Administrator, Windows Only
		VMUserPasswd string `json:"VMUserPasswd,omitempty" validate:"omitempty" example:"password1234"` // Windows Only

		TagList []cres.KeyValue `json:"TagList,omitempty" validate:"omitempty"`
	} `json:"ReqInfo" validate:"required"`
}

VMStartRequest represents the request body for starting a VM.

type VMStatusResponse added in v0.9.3

type VMStatusResponse struct {
	Status cres.VMStatus `json:"Status" validate:"required" example:"Running"`
}

VMStatusResponse represents the response body structure for VM status APIs.

type VMUsingResources added in v0.9.3

type VMUsingResources struct {
	Resources struct {
		VPC    *cres.IID   `json:"VPC" validate:"required"`              // example:"{NameId: 'vpc-01', SystemId: 'vpc-12345678'}"
		SGList []*cres.IID `json:"SGList" validate:"required"`           // example:"[{NameId: 'sg-01', SystemId: 'sg-12345678'}]"
		VMKey  *cres.IID   `json:"VMKey,omitempty" validate:"omitempty"` // example:"{NameId: 'keypair-01', SystemId: 'keypair-12345678'}"
	} `json:"Resources" validate:"required"`
}

VMUsingResources represents the structure of the resources associated with a VM.

type VPCCreateRequest added in v0.9.4

type VPCCreateRequest struct {
	ConnectionName  string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	IDTransformMode string `json:"IDTransformMode,omitempty" validate:"omitempty" example:"ON"` // ON: transform CSP ID, OFF: no-transform CSP ID
	ReqInfo         struct {
		Name           string `json:"Name" validate:"required" example:"vpc-01"`
		IPv4_CIDR      string `json:"IPv4_CIDR" validate:"required" example:"10.0.0.0/16"` // Some CSPs unsupported VPC CIDR
		SubnetInfoList []struct {
			Name      string          `json:"Name" validate:"required" example:"subnet-01"`
			Zone      string          `json:"Zone,omitempty" validate:"omitempty" example:"us-east-1b"` // target zone for the subnet, if not specified, it will be created in the same zone as the Connection.
			IPv4_CIDR string          `json:"IPv4_CIDR" validate:"required" example:"10.0.8.0/22"`
			TagList   []cres.KeyValue `json:"TagList,omitempty" validate:"omitempty"`
		} `json:"SubnetInfoList" validate:"required"`
		TagList []cres.KeyValue `json:"TagList,omitempty" validate:"omitempty"`
	} `json:"ReqInfo" validate:"required"`
}

VPCCreateRequest represents the request body for creating a VPC.

type VPCGetSecurityGroupOwnerRequest added in v0.9.4

type VPCGetSecurityGroupOwnerRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		CSPId string `json:"CSPId" validate:"required" example:"csp-sg-1234"`
	} `json:"ReqInfo" validate:"required"`
}

VPCGetSecurityGroupOwnerRequest represents the request body for retrieving the owner VPC of a Security Group.

type VPCListResponse added in v0.9.4

type VPCListResponse struct {
	Result []*cres.VPCInfo `json:"vpc" validate:"required" description:"A list of VPC information"`
}

type VPCRegisterRequest added in v0.9.3

type VPCRegisterRequest struct {
	ConnectionName string `json:"ConnectionName" validate:"required" example:"aws-connection"`
	ReqInfo        struct {
		Name  string `json:"Name" validate:"required" example:"vpc-01"`
		CSPId string `json:"CSPId" validate:"required" example:"csp-vpc-1234"`
	} `json:"ReqInfo" validate:"required"`
}

VPCRegisterRequest represents the request body for registering a VPC.

type VersionInfoResponse added in v0.10.3

type VersionInfoResponse struct {
	Version string `json:"Version" example:"CB-Spider v0.10.2-22"`
}
	return c.String(http.StatusOK, versionInfo)
}

VersionInfoResponse represents the response body for the versionInfo API.

type VersioningConfiguration added in v0.11.0

type VersioningConfiguration struct {
	XMLName xml.Name `xml:"VersioningConfiguration" json:"-" swaggertype:"object"`
	Status  string   `xml:"Status" json:"Status" enums:"Enabled,Suspended" example:"Enabled"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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