mirror of
https://github.com/openfaas/faas.git
synced 2025-06-09 00:36:46 +00:00
- updates comments and adds where missing - updates locks so that unlock is done via defer instead of at the end of the statement - extracts timeout variable in two places - remove makeClient() unused method from metrics package No-harm changes tested via go build. Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
93 lines
3.2 KiB
Go
93 lines
3.2 KiB
Go
// Copyright (c) Alex Ellis 2017. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
|
|
// Package requests package provides a client SDK or library for
|
|
// the OpenFaaS gateway REST API
|
|
package requests
|
|
|
|
// CreateFunctionRequest create a function in the swarm.
|
|
type CreateFunctionRequest struct {
|
|
|
|
// Service corresponds to a Docker Service
|
|
Service string `json:"service"`
|
|
|
|
// Image corresponds to a Docker image
|
|
Image string `json:"image"`
|
|
|
|
// Network is specific to Docker Swarm - default overlay network is: func_functions
|
|
Network string `json:"network"`
|
|
|
|
// EnvProcess corresponds to the fprocess variable for your container watchdog.
|
|
EnvProcess string `json:"envProcess"`
|
|
|
|
// EnvVars provides overrides for functions.
|
|
EnvVars map[string]string `json:"envVars"`
|
|
|
|
// RegistryAuth is the registry authentication (optional)
|
|
// in the same encoded format as Docker native credentials
|
|
// (see ~/.docker/config.json)
|
|
RegistryAuth string `json:"registryAuth,omitempty"`
|
|
|
|
// Constraints are specific to back-end orchestration platform
|
|
Constraints []string `json:"constraints"`
|
|
|
|
// Secrets list of secrets to be made available to function
|
|
Secrets []string `json:"secrets"`
|
|
|
|
// Labels are metadata for functions which may be used by the
|
|
// back-end for making scheduling or routing decisions
|
|
Labels *map[string]string `json:"labels"`
|
|
|
|
// Annotations are metadata for functions which may be used by the
|
|
// back-end for management, orchestration, events and build tasks
|
|
Annotations *map[string]string `json:"annotations"`
|
|
|
|
// Limits for function
|
|
Limits *FunctionResources `json:"limits"`
|
|
|
|
// Requests of resources requested by function
|
|
Requests *FunctionResources `json:"requests"`
|
|
|
|
// ReadOnlyRootFilesystem removes write-access from the root filesystem
|
|
// mount-point.
|
|
ReadOnlyRootFilesystem bool `json:"readOnlyRootFilesystem"`
|
|
}
|
|
|
|
// FunctionResources Memory and CPU
|
|
type FunctionResources struct {
|
|
Memory string `json:"memory"`
|
|
CPU string `json:"cpu"`
|
|
}
|
|
|
|
// Function exported for system/functions endpoint
|
|
type Function struct {
|
|
Name string `json:"name"`
|
|
Image string `json:"image"`
|
|
InvocationCount float64 `json:"invocationCount"` // TODO: shouldn't this be int64?
|
|
Replicas uint64 `json:"replicas"`
|
|
EnvProcess string `json:"envProcess"`
|
|
|
|
// AvailableReplicas is the count of replicas ready to receive invocations as reported by the back-end
|
|
AvailableReplicas uint64 `json:"availableReplicas"`
|
|
|
|
// Labels are metadata for functions which may be used by the
|
|
// back-end for making scheduling or routing decisions
|
|
Labels *map[string]string `json:"labels"`
|
|
|
|
// Annotations are metadata for functions which may be used by the
|
|
// back-end for management, orchestration, events and build tasks
|
|
Annotations *map[string]string `json:"annotations"`
|
|
}
|
|
|
|
// AsyncReport is the report from a function executed on a queue worker.
|
|
type AsyncReport struct {
|
|
FunctionName string `json:"name"`
|
|
StatusCode int `json:"statusCode"`
|
|
TimeTaken float64 `json:"timeTaken"`
|
|
}
|
|
|
|
// DeleteFunctionRequest delete a deployed function
|
|
type DeleteFunctionRequest struct {
|
|
FunctionName string `json:"functionName"`
|
|
}
|