Documentation
¶
Overview ¶
Package routes defines the API routes and URL structure
Package routes defines the API routes and URL structure
Index ¶
- Constants
- Variables
- func AdminInstancesMetadataURL() string
- func AdminInstancesURL() string
- func BuildURL(routeName string, params map[string]string, queryParams url.Values) string
- func CreateInstanceURL() string
- func GetInstanceMetadataURL(queryParams url.Values) string
- func GetInstanceURL(id string) string
- func GetInstancesURL(queryParams url.Values) string
- func GetPublicIPsURL(queryParams url.Values) string
- func GetRoute(name string) string
- func HealthCheckURL() string
- func ListInstanceTasksURL(instanceID string, queryParams url.Values) string
- func RPCURL() string
- func RegisterRoutes(app *fiber.App, instanceHandler *handlers.InstanceHandler, ...)
- func RegisterSwaggerRoutes(app *fiber.App)
- func TerminateInstancesURL() string
Constants ¶
const ( // DefaultPort is the default port for the API DefaultPort = "8080" // APIv1Prefix is the prefix for all API endpoints APIv1Prefix = "/api/v1" )
API base configuration
const ( // Admin routes // No unique names, consider making Admin a private ownerID. AdminGetInstances = "AdminGetInstances" AdminGetInstancesMetadata = "AdminGetInstancesMetadata" // Health check HealthCheck = "HealthCheck" // Instance routes GetInstances = "GetInstances" GetMetadata = "GetMetadata" GetPublicIPs = "GetPublicIPs" GetInstance = "GetInstance" CreateInstance = "CreateInstance" TerminateInstances = "TerminateInstances" ListInstanceTasks = "ListInstanceTasks" // RPC routes RPC = "RPC" )
Route names for lookup
Variables ¶
var DefaultBaseURL = fmt.Sprintf("http://localhost:%s", DefaultPort)
DefaultBaseURL is the default base URL for the API
Functions ¶
func AdminInstancesMetadataURL ¶
func AdminInstancesMetadataURL() string
AdminInstancesMetadataURL returns the URL for getting all instances metadata
func AdminInstancesURL ¶
func AdminInstancesURL() string
AdminInstancesURL returns the URL for getting all instances
func CreateInstanceURL ¶
func CreateInstanceURL() string
CreateInstanceURL returns the URL for creating an instance
func GetInstanceMetadataURL ¶
GetInstanceMetadataURL returns the URL for getting instance metadata
func GetInstanceURL ¶
GetInstanceURL returns the URL for getting an instance by ID
func GetInstancesURL ¶
GetInstancesURL returns the URL for getting instances
func GetPublicIPsURL ¶
GetPublicIPsURL returns the URL for getting public IPs
func HealthCheckURL ¶
func HealthCheckURL() string
HealthCheckURL returns the URL for the health check endpoint
func ListInstanceTasksURL ¶ added in v0.0.8
ListInstanceTasksURL returns the URL for listing tasks for a specific instance.
func RegisterRoutes ¶
func RegisterRoutes( app *fiber.App, instanceHandler *handlers.InstanceHandler, rpcHandler *handlers.RPCHandler, taskHandler *handlers.TaskHandlers, )
RegisterRoutes configures all the v1 routes
NOTE: route ordering is important because routes will try and match in the order they are registered. For example, if we register GetInstance before GetInstanceMetadata, the /all-metadata will get interpreted as an instance ID.
func RegisterSwaggerRoutes ¶ added in v0.0.9
RegisterSwaggerRoutes registers the Swagger UI routes
func TerminateInstancesURL ¶
func TerminateInstancesURL() string
TerminateInstancesURL returns the URL for terminating instances
Types ¶
This section is empty.