diff --git a/resource.go b/resource.go index c5cb9dab..5695669f 100644 --- a/resource.go +++ b/resource.go @@ -1,3 +1,19 @@ +/* +Copyright 2016 The Fission Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + package fission func (f Function) Key() string { @@ -11,3 +27,7 @@ func (e Environment) Key() string { func (ht HTTPTrigger) Key() string { return ht.Metadata.Name } + +func (w Watch) Key() string { + return w.Metadata.Name +} diff --git a/types.go b/types.go index f8325b4d..044a5b00 100644 --- a/types.go +++ b/types.go @@ -53,6 +53,20 @@ type ( Function Metadata `json:"function"` } + // Watch is a specification of Kubernetes watch along with a URL to post events to. + Watch struct { + Metadata `json:"metadata"` + + Namespace string `json:"namespace"` + ObjType string `json:"objtype"` + LabelSelector string `json:"labelselector"` + FieldSelector string `json:"fieldselector"` + + Function Metadata `json:"function"` + + Url string `json:"url"` // POST request made to this URL. + } + // Errors returned by the Fission API. Error struct { Code errorCode `json:"code"` @@ -69,4 +83,5 @@ const ( ErrorNameExists ErrorInvalidArgument ErrorNoSpace + ErrorNotImplmented )