Define main resource types

Functions, HTTPTriggers, Metadata, Environment.  Update the router to
use fission.Metadata, not fission.Function, to identify functions.
This commit is contained in:
Soam Vasani
2016-09-10 00:59:39 -07:00
parent 405dd6fa0f
commit 732634b53c
6 changed files with 40 additions and 12 deletions
+30 -2
View File
@@ -17,13 +17,41 @@ limitations under the License.
package fission
type (
Function struct {
// Metadata is used as the general identifier for all kinds of
// resources managed by the controller. In general, when a
// resource is updated, the Name remains the same, but the UID
// changes. In other words, the UID identifies a particular
// value of a resource.
Metadata struct {
Name string
Uid string
}
// Function is a unit of executable code. Though it's called
// a function, the code may have more than one function; it's
// usually some sort of module or package.
Function struct {
Metadata
Environment Metadata
Code string
}
// Environment identifies the language and OS specific
// resources that a function depends on. For now this
// includes only the function run container image. Later,
// this will also include build containers, as well as support
// tools like debuggers, profilers, etc.
Environment struct {
Metadata
RunContainerImageUrl string
}
// HTTPTrigger maps URL patterns to functions. Function.UID
// is optional; if absent, the latest version of the function
// will automatically be selected.
HTTPTrigger struct {
Metadata
UrlPattern string
Function
Function Metadata
}
)