v1alpha1

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2020 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=argoproj.io +k8s:deepcopy-gen=package,register +k8s:openapi-gen=true

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeBuilder is the builder for this scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme adds this
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemaGroupVersionKind = schema.GroupVersionKind{Group: sensor.Group, Version: "v1alpha1", Kind: sensor.Kind}

SchemaGroupVersionKind is a group version kind used to attach owner references to sensor executor job

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: sensor.Group, Version: "v1alpha1"}

SchemeGroupVersion is a group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes unqualified resource and returns Group qualified GroupResource

Types

type AWSLambdaTrigger added in v0.13.0

type AWSLambdaTrigger struct {
	// FunctionName refers to the name of the function to invoke.
	FunctionName string `json:"functionName" protobuf:"bytes,1,name=functionName"`
	// AccessKey refers K8 secret containing aws access key
	AccessKey *corev1.SecretKeySelector `json:"accessKey,omitempty" protobuf:"bytes,2,opt,name=accessKey"`
	// SecretKey refers K8 secret containing aws secret key
	SecretKey *corev1.SecretKeySelector `json:"secretKey,omitempty" protobuf:"bytes,3,opt,name=secretKey"`
	// Namespace refers to Kubernetes namespace to read access related secret from.
	// Defaults to sensor's namespace.
	// +optional.
	Namespace string `json:"namespace,omitempty" protobuf:"bytes,4,opt,name=namespace"`
	// Region is AWS region
	Region string `json:"region" protobuf:"bytes,5,name=region"`
	// Payload is the list of key-value extracted from an event payload to construct the request payload.
	// +listType=payloadParameters
	Payload []TriggerParameter `json:"payload" protobuf:"bytes,6,rep,name=payload"`
	// Parameters is the list of key-value extracted from event's payload that are applied to
	// the trigger resource.
	// +listType=triggerParameters
	// +optional
	Parameters []TriggerParameter `json:"parameters,omitempty" protobuf:"bytes,7,rep,name=parameters"`
}

AWSLambdaTrigger refers to specification of the trigger to invoke an AWS Lambda function

func (*AWSLambdaTrigger) DeepCopy added in v0.13.0

func (in *AWSLambdaTrigger) DeepCopy() *AWSLambdaTrigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSLambdaTrigger.

func (*AWSLambdaTrigger) DeepCopyInto added in v0.13.0

func (in *AWSLambdaTrigger) DeepCopyInto(out *AWSLambdaTrigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ArgoWorkflowOperation added in v0.13.0

type ArgoWorkflowOperation string

ArgoWorkflowOperation refers to the type of the operation performed on the Argo Workflow

const (
	Submit   ArgoWorkflowOperation = "submit"   // submit a workflow
	Suspend  ArgoWorkflowOperation = "suspend"  // suspends a workflow
	Resubmit ArgoWorkflowOperation = "resubmit" // resubmit a workflow
	Retry    ArgoWorkflowOperation = "retry"    // retry a workflow
	Resume   ArgoWorkflowOperation = "resume"   // resume a workflow
)

possible values for ArgoWorkflowOperation

type ArgoWorkflowTrigger added in v0.13.0

type ArgoWorkflowTrigger struct {
	// Source of the K8 resource file(s)
	Source *ArtifactLocation `json:"source" protobuf:"bytes,1,opt,name=source"`
	// Operation refers to the type of operation performed on the argo workflow resource.
	// Default value is Submit.
	// +optional
	Operation ArgoWorkflowOperation `json:"operation,omitempty" protobuf:"bytes,2,opt,name=operation"`
	// Parameters is the list of parameters to pass to resolved Argo Workflow object
	// +listType=triggerParameters
	Parameters []TriggerParameter `json:"parameters,omitempty" protobuf:"bytes,3,rep,name=parameters"`
	// The unambiguous kind of this object - used in order to retrieve the appropriate kubernetes api client for this resource
	*metav1.GroupVersionResource `json:",inline" protobuf:"bytes,4,name=groupVersionResource"`
}

ArgoWorkflowTrigger is the trigger for the Argo Workflow

func (*ArgoWorkflowTrigger) DeepCopy added in v0.13.0

func (in *ArgoWorkflowTrigger) DeepCopy() *ArgoWorkflowTrigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgoWorkflowTrigger.

func (*ArgoWorkflowTrigger) DeepCopyInto added in v0.13.0

func (in *ArgoWorkflowTrigger) DeepCopyInto(out *ArgoWorkflowTrigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ArtifactLocation

type ArtifactLocation struct {
	// S3 compliant minio
	S3 *apicommon.S3Artifact `json:"s3,omitempty" protobuf:"bytes,1,opt,name=s3"`
	// Inline minio is embedded in sensor spec as a string
	Inline *string `json:"inline,omitempty" protobuf:"bytes,2,opt,name=inline"`
	// File minio is minio stored in a file
	File *FileArtifact `json:"file,omitempty" protobuf:"bytes,3,opt,name=file"`
	// URL to fetch the minio from
	URL *URLArtifact `json:"url,omitempty" protobuf:"bytes,4,opt,name=url"`
	// Configmap that stores the minio
	Configmap *ConfigmapArtifact `json:"configmap,omitempty" protobuf:"bytes,5,opt,name=configmap"`
	// Git repository hosting the minio
	Git *GitArtifact `json:"git,omitempty" protobuf:"bytes,6,opt,name=git"`
	// Resource is generic template for K8s resource
	Resource *unstructured.Unstructured `json:"resource,omitempty" protobuf:"bytes,7,opt,name=resource"`
}

ArtifactLocation describes the source location for an external minio

func (*ArtifactLocation) DeepCopy

func (in *ArtifactLocation) DeepCopy() *ArtifactLocation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactLocation.

func (*ArtifactLocation) DeepCopyInto

func (in *ArtifactLocation) DeepCopyInto(out *ArtifactLocation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ArtifactLocation) HasLocation

func (a *ArtifactLocation) HasLocation() bool

HasLocation whether or not an minio has a location defined

type Backoff added in v0.9.1

type Backoff struct {
	// Duration is the duration in nanoseconds
	Duration time.Duration `json:"duration" protobuf:"bytes,1,opt,name=duration"`
	// Duration is multiplied by factor each iteration
	Factor float64 `json:"factor" protobuf:"bytes,2,opt,name=factor"`
	// The amount of jitter applied each iteration
	Jitter float64 `json:"jitter" protobuf:"bytes,3,opt,name=jitter"`
	// Exit with error after this many steps
	Steps int `json:"steps" protobuf:"bytes,4,opt,name=steps"`
}

Backoff for an operation

func (*Backoff) DeepCopy added in v0.9.1

func (in *Backoff) DeepCopy() *Backoff

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backoff.

func (*Backoff) DeepCopyInto added in v0.9.1

func (in *Backoff) DeepCopyInto(out *Backoff)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BasicAuth added in v0.14.0

type BasicAuth struct {
	// Username refers to the Kubernetes secret that holds the username required for basic auth.
	Username *corev1.SecretKeySelector `json:"username,omitempty" protobuf:"bytes,1,opt,name=username"`
	// Password refers to the Kubernetes secret that holds the password required for basic auth.
	Password *corev1.SecretKeySelector `json:"password,omitempty" protobuf:"bytes,2,opt,name=password"`
	// Namespace to read the secrets from.
	// Defaults to sensor's namespace.
	// +optional
	Namespace string `json:"namespace,omitempty" protobuf:"bytes,9,opt,name=namespace"`
}

BasicAuth contains the reference to K8s secrets that holds the username and password

func (*BasicAuth) DeepCopy added in v0.14.0

func (in *BasicAuth) DeepCopy() *BasicAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.

func (*BasicAuth) DeepCopyInto added in v0.14.0

func (in *BasicAuth) DeepCopyInto(out *BasicAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Comparator added in v0.13.0

type Comparator string

Comparator refers to the comparator operator for a data filter

const (
	GreaterThanOrEqualTo Comparator = ">=" // Greater than or equal to value provided in data filter
	GreaterThan          Comparator = ">"  // Greater than value provided in data filter
	EqualTo              Comparator = "="  // Equal to value provided in data filter
	LessThan             Comparator = "<"  // Less than value provided in data filter
	LessThanOrEqualTo    Comparator = "<=" // Less than or equal to value provided in data filter
	EmptyComparator                 = ""   // Equal to value provided in data filter
)

type ConfigmapArtifact

type ConfigmapArtifact struct {
	// Name of the configmap
	Name string `json:"name" protobuf:"bytes,1,name=name"`
	// Namespace where configmap is deployed
	Namespace string `json:"namespace" protobuf:"bytes,2,name=namespace"`
	// Key within configmap data which contains trigger resource definition
	Key string `json:"key" protobuf:"bytes,3,name=key"`
}

ConfigmapArtifact contains information about minio in k8 configmap

func (*ConfigmapArtifact) DeepCopy

func (in *ConfigmapArtifact) DeepCopy() *ConfigmapArtifact

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigmapArtifact.

func (*ConfigmapArtifact) DeepCopyInto

func (in *ConfigmapArtifact) DeepCopyInto(out *ConfigmapArtifact)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomTrigger added in v0.13.0

type CustomTrigger struct {
	// ServerURL is the url of the gRPC server that executes custom trigger
	ServerURL string `json:"serverURL" protobuf:"bytes,1,name=serverURL"`
	// Secure refers to type of the connection between sensor to custom trigger gRPC
	Secure bool `json:"secure" protobuf:"bytes,2,name=secure"`
	// CertFilePath is path to the cert file within sensor for secure connection between sensor and custom trigger gRPC server.
	CertFilePath string `json:"certFilePath,omitempty" protobuf:"bytes,3,opt,name=certFilePath"`
	// ServerNameOverride for the secure connection between sensor and custom trigger gRPC server.
	ServerNameOverride string `json:"serverNameOverride,omitempty" protobuf:"bytes,4,opt,name=serverNameOverride"`
	// TriggerBody is the custom trigger resource specification that custom trigger gRPC server knows how to interpret.
	TriggerBody string `json:"triggerBody" protobuf:"bytes,5,name=triggerBody"`
	// Parameters is the list of parameters that is applied to resolved custom trigger trigger object.
	// +listType=triggerParameters
	Parameters []TriggerParameter `json:"parameters,omitempty" protobuf:"bytes,6,rep,name=parameters"`
	// Payload is the list of key-value extracted from an event payload to construct the request payload.
	// +listType=payloadParameters
	Payload []TriggerParameter `json:"payload" protobuf:"bytes,7,rep,name=payload"`
}

CustomTrigger refers to the specification of the custom trigger.

func (*CustomTrigger) DeepCopy added in v0.13.0

func (in *CustomTrigger) DeepCopy() *CustomTrigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomTrigger.

func (*CustomTrigger) DeepCopyInto added in v0.13.0

func (in *CustomTrigger) DeepCopyInto(out *CustomTrigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataFilter

type DataFilter struct {
	// Path is the JSONPath of the event's (JSON decoded) data key
	// Path is a series of keys separated by a dot. A key may contain wildcard characters '*' and '?'.
	// To access an array value use the index as the key. The dot and wildcard characters can be escaped with '\\'.
	// See https://github.com/tidwall/gjson#path-syntax for more information on how to use this.
	Path string `json:"path" protobuf:"bytes,1,opt,name=path"`
	// Type contains the JSON type of the data
	Type JSONType `json:"type" protobuf:"bytes,2,opt,name=type"`
	// +listType=value
	// Value is the allowed string values for this key
	// Booleans are passed using strconv.ParseBool()
	// Numbers are parsed using as float64 using strconv.ParseFloat()
	// Strings are taken as is
	// Nils this value is ignored
	Value []string `json:"value" protobuf:"bytes,3,rep,name=value"`
	// Comparator compares the event data with a user given value.
	// Can be ">=", ">", "=", "<", or "<=".
	// Is optional, and if left blank treated as equality "=".
	Comparator Comparator `json:"comparator,omitempty" protobuf:"bytes,4,opt,name=comparator"`
}

DataFilter describes constraints and filters for event data Regular Expressions are purposefully not a feature as they are overkill for our uses here See Rob Pike's Post: https://commandcenter.blogspot.com/2011/08/regular-expressions-in-lexing-and.html

func (*DataFilter) DeepCopy

func (in *DataFilter) DeepCopy() *DataFilter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataFilter.

func (*DataFilter) DeepCopyInto

func (in *DataFilter) DeepCopyInto(out *DataFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DependencyGroup

type DependencyGroup struct {
	// Name of the group
	Name string `json:"name" protobuf:"bytes,1,name=name"`
	// +listType=dependencies
	// Dependencies of events
	Dependencies []string `json:"dependencies" protobuf:"bytes,2,name=dependencies"`
}

DependencyGroup is the group of dependencies

func (*DependencyGroup) DeepCopy

func (in *DependencyGroup) DeepCopy() *DependencyGroup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependencyGroup.

func (*DependencyGroup) DeepCopyInto

func (in *DependencyGroup) DeepCopyInto(out *DependencyGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Event added in v0.14.0

type Event struct {
	Context *EventContext `json:"context" protobuf:"bytes,1,name=context"`
	Data    []byte        `json:"data" protobuf:"bytes,2,name=data"`
}

Event represents the cloudevent received from a gateway.

func (*Event) DeepCopy added in v0.14.0

func (in *Event) DeepCopy() *Event

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Event.

func (*Event) DeepCopyInto added in v0.14.0

func (in *Event) DeepCopyInto(out *Event)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EventContext added in v0.14.0

type EventContext struct {
	// ID of the event; must be non-empty and unique within the scope of the producer.
	ID string `json:"id" protobuf:"bytes,1,name=id"`
	// Source - A URI describing the event producer.
	Source string `json:"source" protobuf:"bytes,2,name=source"`
	// SpecVersion - The version of the CloudEvents specification used by the event.
	SpecVersion string `json:"specversion" protobuf:"bytes,3,name=specVersion"`
	// Type - The type of the occurrence which has happened.
	Type string `json:"type" protobuf:"bytes,4,name=type"`
	// DataContentType - A MIME (RFC2046) string describing the media type of `data`.
	DataContentType string `json:"dataContentType" protobuf:"bytes,5,name=dataContentType"`
	// Subject - The subject of the event in the context of the event producer
	Subject string `json:"subject" protobuf:"bytes,6,name=subject"`
	// Time - A Timestamp when the event happened.
	Time metav1.Time `json:"time" protobuf:"bytes,7,name=time"`
}

EventContext holds the context of the cloudevent received from a gateway.

func (*EventContext) DeepCopy added in v0.14.0

func (in *EventContext) DeepCopy() *EventContext

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventContext.

func (*EventContext) DeepCopyInto added in v0.14.0

func (in *EventContext) DeepCopyInto(out *EventContext)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EventDependency

type EventDependency struct {
	// Name is a unique name of this dependency
	Name string `json:"name" protobuf:"bytes,1,name=name"`
	// GatewayName is the name of the gateway from whom the event is received
	GatewayName string `json:"gatewayName" protobuf:"bytes,2,name=gatewayName"`
	// EventName is the name of the event
	EventName string `json:"eventName" protobuf:"bytes,3,name=eventName"`
	// Filters and rules governing toleration of success and constraints on the context and data of an event
	Filters *EventDependencyFilter `json:"filters,omitempty" protobuf:"bytes,4,opt,name=filters"`
}

EventDependency describes a dependency

func (*EventDependency) DeepCopy

func (in *EventDependency) DeepCopy() *EventDependency

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventDependency.

func (*EventDependency) DeepCopyInto

func (in *EventDependency) DeepCopyInto(out *EventDependency)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EventDependencyFilter

type EventDependencyFilter struct {
	// Name is the name of event filter
	Name string `json:"name" protobuf:"bytes,1,name=name"`
	// Time filter on the event with escalation
	Time *TimeFilter `json:"time,omitempty" protobuf:"bytes,2,opt,name=time"`
	// Context filter constraints
	Context *EventContext `json:"context,omitempty" protobuf:"bytes,3,opt,name=context"`
	// +listType=data
	// Data filter constraints with escalation
	Data []DataFilter `json:"data,omitempty" protobuf:"bytes,4,opt,name=data"`
}

EventDependencyFilter defines filters and constraints for a event.

func (*EventDependencyFilter) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventDependencyFilter.

func (*EventDependencyFilter) DeepCopyInto

func (in *EventDependencyFilter) DeepCopyInto(out *EventDependencyFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FileArtifact

type FileArtifact struct {
	Path string `json:"path,omitempty" protobuf:"bytes,1,opt,name=path"`
}

FileArtifact contains information about an minio in a filesystem

func (*FileArtifact) DeepCopy

func (in *FileArtifact) DeepCopy() *FileArtifact

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileArtifact.

func (*FileArtifact) DeepCopyInto

func (in *FileArtifact) DeepCopyInto(out *FileArtifact)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GitArtifact

type GitArtifact struct {
	// Git URL
	URL string `json:"url" protobuf:"bytes,1,name=url"`
	// Directory to clone the repository. We clone complete directory because GitArtifact is not limited to any specific Git service providers.
	// Hence we don't use any specific git provider client.
	CloneDirectory string `json:"cloneDirectory" protobuf:"bytes,2,name=cloneDirectory"`
	// Creds contain reference to git username and password
	// +optional
	Creds *GitCreds `json:"creds,omitempty" protobuf:"bytes,3,opt,name=creds"`
	// Namespace where creds are stored.
	// +optional
	Namespace string `json:"namespace,omitempty" protobuf:"bytes,4,opt,name=namespace"`
	// SSHKeyPath is path to your ssh key path. Use this if you don't want to provide username and password.
	// ssh key path must be mounted in sensor pod.
	// +optional
	SSHKeyPath string `json:"sshKeyPath,omitempty" protobuf:"bytes,5,opt,name=sshKeyPath"`
	// Path to file that contains trigger resource definition
	FilePath string `json:"filePath" protobuf:"bytes,6,name=filePath"`
	// Branch to use to pull trigger resource
	// +optional
	Branch string `json:"branch,omitempty" protobuf:"bytes,7,opt,name=branch"`
	// Tag to use to pull trigger resource
	// +optional
	Tag string `json:"tag,omitempty" protobuf:"bytes,8,opt,name=tag"`
	// Ref to use to pull trigger resource. Will result in a shallow clone and
	// fetch.
	// +optional
	Ref string `json:"ref,omitempty" protobuf:"bytes,9,opt,name=ref"`
	// Remote to manage set of tracked repositories. Defaults to "origin".
	// Refer https://git-scm.com/docs/git-remote
	// +optional
	Remote *GitRemoteConfig `json:"remote" protobuf:"bytes,10,opt,name=remote"`
}

GitArtifact contains information about an minio stored in git

func (*GitArtifact) DeepCopy

func (in *GitArtifact) DeepCopy() *GitArtifact

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitArtifact.

func (*GitArtifact) DeepCopyInto

func (in *GitArtifact) DeepCopyInto(out *GitArtifact)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GitCreds

type GitCreds struct {
	Username *corev1.SecretKeySelector `json:"username" protobuf:"bytes,1,opt,name=username"`
	Password *corev1.SecretKeySelector `json:"password" protobuf:"bytes,2,opt,name=password"`
}

GitCreds contain reference to git username and password

func (*GitCreds) DeepCopy

func (in *GitCreds) DeepCopy() *GitCreds

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCreds.

func (*GitCreds) DeepCopyInto

func (in *GitCreds) DeepCopyInto(out *GitCreds)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GitRemoteConfig

type GitRemoteConfig struct {
	// Name of the remote to fetch from.
	Name string `json:"name" protobuf:"bytes,1,name=name"`
	// +listType=urls
	// URLs the URLs of a remote repository. It must be non-empty. Fetch will
	// always use the first URL, while push will use all of them.
	URLS []string `json:"urls" protobuf:"bytes,2,rep,name=urls"`
}

GitRemoteConfig contains the configuration of a Git remote

func (*GitRemoteConfig) DeepCopy

func (in *GitRemoteConfig) DeepCopy() *GitRemoteConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRemoteConfig.

func (*GitRemoteConfig) DeepCopyInto

func (in *GitRemoteConfig) DeepCopyInto(out *GitRemoteConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPSubscription added in v0.13.0

type HTTPSubscription struct {
	// Port on which sensor server should run.
	Port int `json:"port" protobuf:"bytes,1,name=port"`
}

HTTPSubscription holds the context of the HTTP subscription of events for the sensor.

func (*HTTPSubscription) DeepCopy added in v0.13.0

func (in *HTTPSubscription) DeepCopy() *HTTPSubscription

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSubscription.

func (*HTTPSubscription) DeepCopyInto added in v0.13.0

func (in *HTTPSubscription) DeepCopyInto(out *HTTPSubscription)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPTrigger added in v0.13.0

type HTTPTrigger struct {
	// URL refers to the URL to send HTTP request to.
	URL string `json:"url" protobuf:"bytes,1,name=url"`
	// Payload is the list of key-value extracted from an event payload to construct the HTTP request payload.
	// +listType=payloadParameters
	Payload []TriggerParameter `json:"payload" protobuf:"bytes,2,rep,name=payload"`
	// TLS configuration for the HTTP client.
	// +optional
	TLS *TLSConfig `json:"tls,omitempty" protobuf:"bytes,3,opt,name=tls"`
	// Method refers to the type of the HTTP request.
	// Refer https://golang.org/src/net/http/method.go for more info.
	// Default value is POST.
	// +optional
	Method string `json:"method,omitempty" protobuf:"bytes,4,opt,name=method"`
	// Parameters is the list of key-value extracted from event's payload that are applied to
	// the HTTP trigger resource.
	// +listType=triggerParameters
	Parameters []TriggerParameter `json:"parameters,omitempty" protobuf:"bytes,5,rep,name=parameters"`
	// Timeout refers to the HTTP request timeout in seconds.
	// Default value is 60 seconds.
	// +optional
	Timeout int `json:"timeout,omitempty" protobuf:"bytes,6,opt,name=timeout"`
	// BasicAuth configuration for the http request.
	// +optional
	BasicAuth *BasicAuth `json:"basicAuth,omitempty" protobuf:"bytes,7,opt,name=basicAuth"`
}

HTTPTrigger is the trigger for the HTTP request

func (*HTTPTrigger) DeepCopy added in v0.13.0

func (in *HTTPTrigger) DeepCopy() *HTTPTrigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPTrigger.

func (*HTTPTrigger) DeepCopyInto added in v0.13.0

func (in *HTTPTrigger) DeepCopyInto(out *HTTPTrigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JSONType

type JSONType string

JSONType contains the supported JSON types for data filtering

const (
	JSONTypeBool   JSONType = "bool"
	JSONTypeNumber JSONType = "number"
	JSONTypeString JSONType = "string"
)

the various supported JSONTypes

type K8sResourcePolicy added in v0.13.0

type K8sResourcePolicy struct {
	// Labels required to identify whether a resource is in success state
	Labels map[string]string `json:"labels" protobuf:"bytes,1,name=labels"`
	// Backoff before checking resource state
	Backoff wait.Backoff `json:"backoff" protobuf:"bytes,2,name=backoff"`
	// ErrorOnBackoffTimeout determines whether sensor should transition to error state if the trigger policy is unable to determine
	// the state of the resource
	ErrorOnBackoffTimeout bool `json:"errorOnBackoffTimeout" protobuf:"bytes,3,name=errorOnBackoffTimeout"`
}

K8sResourcePolicy refers to the policy used to check the state of K8s based triggers using using labels

func (*K8sResourcePolicy) DeepCopy added in v0.13.0

func (in *K8sResourcePolicy) DeepCopy() *K8sResourcePolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8sResourcePolicy.

func (*K8sResourcePolicy) DeepCopyInto added in v0.13.0

func (in *K8sResourcePolicy) DeepCopyInto(out *K8sResourcePolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KafkaTrigger added in v0.13.0

type KafkaTrigger struct {
	// URL of the Kafka broker.
	URL string `json:"url" protobuf:"bytes,1,name=url"`
	// Name of the topic.
	// More info at https://kafka.apache.org/documentation/#intro_topics
	Topic string `json:"topic" protobuf:"bytes,2,name=topic"`
	// Partition to write data to.
	Partition int `json:"partition" protobuf:"bytes,3,name=partition"`
	// Parameters is the list of parameters that is applied to resolved Kafka trigger object.
	// +listType=triggerParameters
	Parameters []TriggerParameter `json:"parameters,omitempty" protobuf:"bytes,4,rep,name=parameters"`
	// RequiredAcks used in producer to tell the broker how many replica acknowledgements
	// Defaults to 1 (Only wait for the leader to ack).
	// +optional.
	RequiredAcks int `json:"requiredAcks,omitempty" protobuf:"bytes,5,opt,name=requiredAcks"`
	// Compress determines whether to compress message or not.
	// Defaults to false.
	// If set to true, compresses message using snappy compression.
	// +optional
	Compress bool `json:"compress,omitempty" protobuf:"bytes,6,opt,name=compress"`
	// FlushFrequency refers to the frequency in milliseconds to flush batches.
	// Defaults to 500 milliseconds.
	// +optional
	FlushFrequency int `json:"flushFrequency,omitempty" protobuf:"bytes,7,opt,name=flushFrequency"`
	// TLS configuration for the Kafka producer.
	// +optional
	TLS *TLSConfig `json:"tls,omitempty" protobuf:"bytes,8,opt,name=tls"`
	// Payload is the list of key-value extracted from an event payload to construct the request payload.
	// +listType=payloadParameters
	Payload []TriggerParameter `json:"payload" protobuf:"bytes,9,rep,name=payload"`
	// The partitioning key for the messages put on the Kafka topic.
	// Defaults to broker url.
	// +optional.
	PartitioningKey string `json:"partitioningKey,omitempty" protobuf:"bytes,10,opt,name=partitioningKey"`
}

KafkaTrigger refers to the specification of the Kafka trigger.

func (*KafkaTrigger) DeepCopy added in v0.13.0

func (in *KafkaTrigger) DeepCopy() *KafkaTrigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaTrigger.

func (*KafkaTrigger) DeepCopyInto added in v0.13.0

func (in *KafkaTrigger) DeepCopyInto(out *KafkaTrigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubernetesResourceOperation added in v0.13.0

type KubernetesResourceOperation string

KubernetesResourceOperation refers to the type of operation performed on the K8s resource

const (
	Create KubernetesResourceOperation = "create" // creates the resource
	Update KubernetesResourceOperation = "update" // updates the resource
)

possible values for KubernetesResourceOperation

type NATSSubscription added in v0.13.0

type NATSSubscription struct {
	// ServerURL refers to NATS server url.
	ServerURL string `json:"serverURL" protobuf:"bytes,1,name=serverURL"`
	// Subject refers to NATS subject name.
	Subject string `json:"subject" protobuf:"bytes,2,name=subject"`
}

NATSSubscription holds the context of the NATS subscription of events for the sensor

func (*NATSSubscription) DeepCopy added in v0.13.0

func (in *NATSSubscription) DeepCopy() *NATSSubscription

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NATSSubscription.

func (*NATSSubscription) DeepCopyInto added in v0.13.0

func (in *NATSSubscription) DeepCopyInto(out *NATSSubscription)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NATSTrigger added in v0.13.0

type NATSTrigger struct {
	// URL of the NATS cluster.
	URL string `json:"url" protobuf:"bytes,1,name=url"`
	// Name of the subject to put message on.
	Subject string `json:"subject" protobuf:"bytes,2,name=subject"`
	// Payload is the list of key-value extracted from an event payload to construct the request payload.
	// +listType=payloadParameters
	Payload []TriggerParameter `json:"payload" protobuf:"bytes,3,rep,name=payload"`
	// Parameters is the list of parameters that is applied to resolved NATS trigger object.
	// +listType=triggerParameters
	Parameters []TriggerParameter `json:"parameters,omitempty" protobuf:"bytes,4,rep,name=parameters"`
	// TLS configuration for the NATS producer.
	// +optional
	TLS *TLSConfig `json:"tls,omitempty" protobuf:"bytes,5,opt,name=tls"`
}

NATSTrigger refers to the specification of the NATS trigger.

func (*NATSTrigger) DeepCopy added in v0.13.0

func (in *NATSTrigger) DeepCopy() *NATSTrigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NATSTrigger.

func (*NATSTrigger) DeepCopyInto added in v0.13.0

func (in *NATSTrigger) DeepCopyInto(out *NATSTrigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodePhase

type NodePhase string

NodePhase is the label for the condition of a node

const (
	NodePhaseComplete NodePhase = "Complete" // the node has finished successfully
	NodePhaseActive   NodePhase = "Active"   // the node is active and waiting on dependencies to resolve
	NodePhaseError    NodePhase = "Error"    // the node has encountered an error in processing
	NodePhaseNew      NodePhase = ""         // the node is new
)

possible types of node phases

type NodeStatus

type NodeStatus struct {
	// ID is a unique identifier of a node within a sensor
	// It is a hash of the node name
	ID string `json:"id" protobuf:"bytes,1,opt,name=id"`
	// Name is a unique name in the node tree used to generate the node ID
	Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
	// DisplayName is the human readable representation of the node
	DisplayName string `json:"displayName" protobuf:"bytes,3,opt,name=displayName"`
	// Type is the type of the node
	Type NodeType `json:"type" protobuf:"bytes,4,opt,name=type"`
	// Phase of the node
	Phase NodePhase `json:"phase" protobuf:"bytes,5,opt,name=phase"`
	// StartedAt is the time at which this node started
	StartedAt metav1.MicroTime `json:"startedAt,omitempty" protobuf:"bytes,6,opt,name=startedAt"`
	// CompletedAt is the time at which this node completed
	CompletedAt metav1.MicroTime `json:"completedAt,omitempty" protobuf:"bytes,7,opt,name=completedAt"`
	// store data or something to save for event notifications or trigger events
	Message string `json:"message,omitempty" protobuf:"bytes,8,opt,name=message"`
	// Event stores the last seen event for this node
	Event *Event `json:"event,omitempty" protobuf:"bytes,9,opt,name=event"`
	// UpdatedAt refers to the time at which the node was updated.
	UpdatedAt metav1.MicroTime `json:"updatedAt,omitempty" protobuf:"bytes,10,opt,name=updatedAt"`
	// ResolvedAt refers to the time at which the node was resolved.
	ResolvedAt metav1.MicroTime `json:"resolvedAt,omitempty" protobuf:"bytes,11,opt,name=resolvedAt"`
}

NodeStatus describes the status for an individual node in the sensor's FSM. A single node can represent the status for event or a trigger.

func (*NodeStatus) DeepCopy

func (in *NodeStatus) DeepCopy() *NodeStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus.

func (*NodeStatus) DeepCopyInto

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (NodeStatus) IsComplete

func (node NodeStatus) IsComplete() bool

IsComplete determines if the node has reached an end state

type NodeType

type NodeType string

NodeType is the type of a node

const (
	// NodeTypeEventDependency is a node that represents a single event dependency
	NodeTypeEventDependency NodeType = "EventDependency"
	// NodeTypeTrigger is a node that represents a single trigger
	NodeTypeTrigger NodeType = "Trigger"
	// NodeTypeDependencyGroup is a node that represents a group of event dependencies
	NodeTypeDependencyGroup NodeType = "DependencyGroup"
)

type NotificationType

type NotificationType string

NotificationType represent a type of notifications that are handled by a sensor

const (
	// EventNotification is a notification for an event dependency (from a Gateway)
	EventNotification NotificationType = "Event"
	// ResourceUpdateNotification is a notification that an associated resource was updated
	ResourceUpdateNotification NotificationType = "ResourceUpdate"
)

type OpenWhiskTrigger added in v0.14.0

type OpenWhiskTrigger struct {
	// Host URL of the OpenWhisk.
	Host string `json:"host" protobuf:"bytes,1,name=host"`
	// Version for the API.
	// Defaults to v1.
	// +optional
	Version string `json:"version,omitempty" protobuf:"bytes,2,opt,name=version"`
	// Namespace for the action.
	// Defaults to "_".
	// +optional.
	Namespace string `json:"namespace,omitempty" protobuf:"bytes,3,opt,name=namespace"`
	// AuthToken for authentication.
	// +optional
	AuthToken *corev1.SecretKeySelector `json:"authToken,omitempty" protobuf:"bytes,4,opt,name=authToken"`
	// Name of the action/function.
	ActionName string `json:"actionName" protobuf:"bytes,5,name=actionName"`
	// Payload is the list of key-value extracted from an event payload to construct the request payload.
	// +listType=payloadParameters
	Payload []TriggerParameter `json:"payload" protobuf:"bytes,6,rep,name=payload"`
	// Parameters is the list of key-value extracted from event's payload that are applied to
	// the trigger resource.
	// +listType=triggerParameters
	// +optional
	Parameters []TriggerParameter `json:"parameters,omitempty" protobuf:"bytes,7,rep,name=parameters"`
}

OpenWhiskTrigger refers to the specification of the OpenWhisk trigger.

func (*OpenWhiskTrigger) DeepCopy added in v0.14.0

func (in *OpenWhiskTrigger) DeepCopy() *OpenWhiskTrigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenWhiskTrigger.

func (*OpenWhiskTrigger) DeepCopyInto added in v0.14.0

func (in *OpenWhiskTrigger) DeepCopyInto(out *OpenWhiskTrigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Sensor

type Sensor struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"`
	Spec              SensorSpec   `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	Status            SensorStatus `json:"status" protobuf:"bytes,3,opt,name=status"`
}

Sensor is the definition of a sensor resource +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true

func (*Sensor) AreAllNodesSuccess

func (s *Sensor) AreAllNodesSuccess(nodeType NodeType) bool

AreAllNodesSuccess determines if all nodes of the given type have completed successfully

func (*Sensor) DeepCopy

func (in *Sensor) DeepCopy() *Sensor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sensor.

func (*Sensor) DeepCopyInto

func (in *Sensor) DeepCopyInto(out *Sensor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Sensor) DeepCopyObject

func (in *Sensor) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Sensor) IsComplete

func (s *Sensor) IsComplete() bool

IsComplete determines if the sensor has reached an end state

func (*Sensor) NodeID

func (s *Sensor) NodeID(name string) string

NodeID creates a deterministic node ID based on a node name we support 3 kinds of "nodes" - sensors, events, triggers each should pass it's name field

type SensorList

type SensorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"`
	// +listType=items
	Items []Sensor `json:"items" protobuf:"bytes,2,rep,name=items"`
}

SensorList is the list of Sensor resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*SensorList) DeepCopy

func (in *SensorList) DeepCopy() *SensorList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SensorList.

func (*SensorList) DeepCopyInto

func (in *SensorList) DeepCopyInto(out *SensorList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SensorList) DeepCopyObject

func (in *SensorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SensorResources added in v0.13.0

type SensorResources struct {
	// Deployment holds the metadata of the deployment for the sensor
	Deployment *metav1.ObjectMeta `json:"deployment" protobuf:"bytes,1,name=deployment"`
	// Service holds the metadata of the service for the sensor
	// +optional
	Service *metav1.ObjectMeta `json:"service,omitempty" protobuf:"bytes,2,opt,name=service"`
}

SensorResources holds the metadata of the resources created for the sensor

func (*SensorResources) DeepCopy added in v0.13.0

func (in *SensorResources) DeepCopy() *SensorResources

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SensorResources.

func (*SensorResources) DeepCopyInto added in v0.13.0

func (in *SensorResources) DeepCopyInto(out *SensorResources)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SensorSpec

type SensorSpec struct {
	// +listType=dependencies
	// Dependencies is a list of the events that this sensor is dependent on.
	Dependencies []EventDependency `json:"dependencies" protobuf:"bytes,1,rep,name=dependencies"`
	// +listType=triggers
	// Triggers is a list of the things that this sensor evokes. These are the outputs from this sensor.
	Triggers []Trigger `json:"triggers" protobuf:"bytes,2,rep,name=triggers"`
	// Template contains sensor pod specification. For more information,
	// read https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#pod-v1-core.
	Template *corev1.PodTemplateSpec `json:"template" protobuf:"bytes,3,name=template"`
	// Subscription refers to the modes of events subscriptions for the sensor.
	// At least one of the types of subscription must be defined in order for sensor to be meaningful.
	Subscription *Subscription `json:"subscription" protobuf:"bytes,4,name=subscription"`
	// Circuit is a boolean expression of dependency groups
	Circuit string `json:"circuit,omitempty" protobuf:"bytes,5,rep,name=circuit"`
	// +listType=dependencyGroups
	// DependencyGroups is a list of the groups of events.
	DependencyGroups []DependencyGroup `json:"dependencyGroups,omitempty" protobuf:"bytes,6,rep,name=dependencyGroups"`
	// ErrorOnFailedRound if set to true, marks sensor state as `error` if the previous trigger round fails.
	// Once sensor state is set to `error`, no further triggers will be processed.
	ErrorOnFailedRound bool `json:"errorOnFailedRound,omitempty" protobuf:"bytes,7,opt,name=errorOnFailedRound"`
	// ServiceLabels to be set for the service generated
	ServiceLabels map[string]string `json:"serviceLabels,omitempty" protobuf:"bytes,11,rep,name=serviceLabels"`
	// ServiceAnnotations refers to annotations to be set
	// for the service generated
	ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty" protobuf:"bytes,9,rep,name=serviceAnnotations"`
}

SensorSpec represents desired sensor state

func (*SensorSpec) DeepCopy

func (in *SensorSpec) DeepCopy() *SensorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SensorSpec.

func (*SensorSpec) DeepCopyInto

func (in *SensorSpec) DeepCopyInto(out *SensorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SensorStatus

type SensorStatus struct {
	// Phase is the high-level summary of the sensor.
	Phase NodePhase `json:"phase" protobuf:"bytes,1,opt,name=phase"`
	// StartedAt is the time at which this sensor was initiated
	StartedAt metav1.Time `json:"startedAt,omitempty" protobuf:"bytes,2,opt,name=startedAt"`
	// CompletedAt is the time at which this sensor was completed
	CompletedAt metav1.Time `json:"completedAt,omitempty" protobuf:"bytes,3,opt,name=completedAt"`
	// Message is a human readable string indicating details about a sensor in its phase
	Message string `json:"message,omitempty" protobuf:"bytes,4,opt,name=message"`
	// Nodes is a mapping between a node ID and the node's status
	// it records the states for the FSM of this sensor.
	Nodes map[string]NodeStatus `json:"nodes,omitempty" protobuf:"bytes,5,rep,name=nodes"`
	// TriggerCycleCount is the count of sensor's trigger cycle runs.
	TriggerCycleCount int32 `json:"triggerCycleCount,omitempty" protobuf:"varint,6,opt,name=triggerCycleCount"`
	// TriggerCycleState is the status from last cycle of triggers execution.
	TriggerCycleStatus TriggerCycleState `json:"triggerCycleStatus" protobuf:"bytes,7,opt,name=triggerCycleStatus"`
	// LastCycleTime is the time when last trigger cycle completed
	LastCycleTime metav1.Time `json:"lastCycleTime" protobuf:"bytes,8,opt,name=lastCycleTime"`
	// Resources refers to metadata of the resources created for the sensor
	Resources *SensorResources `json:"resources" protobuf:"bytes,9,name=resources"`
}

SensorStatus contains information about the status of a sensor.

func (*SensorStatus) DeepCopy

func (in *SensorStatus) DeepCopy() *SensorStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SensorStatus.

func (*SensorStatus) DeepCopyInto

func (in *SensorStatus) DeepCopyInto(out *SensorStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SlackTrigger added in v0.14.0

type SlackTrigger struct {
	// Parameters is the list of key-value extracted from event's payload that are applied to
	// the trigger resource.
	// +listType=triggerParameters
	// +optional
	Parameters []TriggerParameter `json:"parameters,omitempty" protobuf:"bytes,1,rep,name=parameters"`
	// SlackToken refers to the Kubernetes secret that holds the slack token required to send messages.
	SlackToken *corev1.SecretKeySelector `json:"slackToken" protobuf:"bytes,2,name=slackToken"`
	// Namespace to read the password secret from.
	// This is required if the password secret selector is specified.
	// +optional
	Namespace string `json:"namespace,omitempty" protobuf:"bytes,3,opt,name=namespace"`
	// Channel refers to which Slack channel to send slack message.
	// +optional
	Channel string `json:"channel,omitempty" protobuf:"bytes,4,opt,name=channel"`
	// Message refers to the message to send to the Slack channel.
	// +optional
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

SlackTrigger refers to the specification of the slack notification trigger.

func (*SlackTrigger) DeepCopy added in v0.14.0

func (in *SlackTrigger) DeepCopy() *SlackTrigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlackTrigger.

func (*SlackTrigger) DeepCopyInto added in v0.14.0

func (in *SlackTrigger) DeepCopyInto(out *SlackTrigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StandardK8sTrigger added in v0.13.0

type StandardK8sTrigger struct {
	// The unambiguous kind of this object - used in order to retrieve the appropriate kubernetes api client for this resource
	*metav1.GroupVersionResource `json:",inline" protobuf:"bytes,1,name=groupVersionResource"`
	// Source of the K8 resource file(s)
	Source *ArtifactLocation `json:"source" protobuf:"bytes,2,opt,name=source"`
	// Operation refers to the type of operation performed on the k8s resource.
	// Default value is Create.
	// +optional
	Operation KubernetesResourceOperation `json:"operation,omitempty" protobuf:"bytes,3,opt,name=operation"`
	// Parameters is the list of parameters that is applied to resolved K8s trigger object.
	// +listType=triggerParameters
	Parameters []TriggerParameter `json:"parameters,omitempty" protobuf:"bytes,4,rep,name=parameters"`
}

StandardK8sTrigger is the standard Kubernetes resource trigger

func (*StandardK8sTrigger) DeepCopy added in v0.13.0

func (in *StandardK8sTrigger) DeepCopy() *StandardK8sTrigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardK8sTrigger.

func (*StandardK8sTrigger) DeepCopyInto added in v0.13.0

func (in *StandardK8sTrigger) DeepCopyInto(out *StandardK8sTrigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusPolicy added in v0.13.0

type StatusPolicy struct {
	// Allow refers to the list of allowed response statuses. If the response status of the the trigger is within the list,
	// the trigger will marked as successful else it will result in trigger failure.
	// +listType=allowedStatuses
	Allow []int `json:"allow" protobuf:"bytes,1,name=allow"`
}

StatusPolicy refers to the policy used to check the state of the trigger using response status

func (*StatusPolicy) DeepCopy added in v0.13.0

func (in *StatusPolicy) DeepCopy() *StatusPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusPolicy.

func (*StatusPolicy) DeepCopyInto added in v0.13.0

func (in *StatusPolicy) DeepCopyInto(out *StatusPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Subscription added in v0.13.0

type Subscription struct {
	// HTTP refers to the HTTP subscription of events for the sensor.
	// +optional
	HTTP *HTTPSubscription `json:"http,omitempty" protobuf:"bytes,1,opt,name=http"`
	// NATS refers to the NATS subscription of events for the sensor
	// +optional
	NATS *NATSSubscription `json:"nats,omitempty" protobuf:"bytes,2,opt,name=nats"`
}

Subscription holds different modes of subscription available for sensor to consume events.

func (*Subscription) DeepCopy added in v0.13.0

func (in *Subscription) DeepCopy() *Subscription

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subscription.

func (*Subscription) DeepCopyInto added in v0.13.0

func (in *Subscription) DeepCopyInto(out *Subscription)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSConfig added in v0.13.0

type TLSConfig struct {
	// CACertPath refers the file path that contains the CA cert.
	CACertPath string `json:"caCertPath" protobuf:"bytes,1,name=caCertPath"`
	// ClientCertPath refers the file path that contains client cert.
	ClientCertPath string `json:"clientCertPath" protobuf:"bytes,2,name=clientCertPath"`
	// ClientKeyPath refers the file path that contains client key.
	ClientKeyPath string `json:"clientKeyPath" protobuf:"bytes,3,name=clientKeyPath"`
}

TLSConfig refers to TLS configuration for the HTTP client

func (*TLSConfig) DeepCopy added in v0.13.0

func (in *TLSConfig) DeepCopy() *TLSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.

func (*TLSConfig) DeepCopyInto added in v0.13.0

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TimeFilter

type TimeFilter struct {
	// Start is the beginning of a time window.
	// Before this time, events for this event are ignored and
	// format is hh:mm:ss
	Start string `json:"start,omitempty" protobuf:"bytes,1,opt,name=start"`
	// StopPattern is the end of a time window.
	// After this time, events for this event are ignored and
	// format is hh:mm:ss
	Stop string `json:"stop,omitempty" protobuf:"bytes,2,opt,name=stop"`
}

TimeFilter describes a window in time. DataFilters out event events that occur outside the time limits. In other words, only events that occur after Start and before Stop will pass this filter.

func (*TimeFilter) DeepCopy

func (in *TimeFilter) DeepCopy() *TimeFilter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeFilter.

func (*TimeFilter) DeepCopyInto

func (in *TimeFilter) DeepCopyInto(out *TimeFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Trigger

type Trigger struct {
	// Template describes the trigger specification.
	Template *TriggerTemplate `json:"template" protobuf:"bytes,1,name=template"`
	// +listType=templateParameters
	// Parameters is the list of parameters applied to the trigger template definition
	Parameters []TriggerParameter `json:"parameters,omitempty" protobuf:"bytes,2,rep,name=parameters"`
	// Policy to configure backoff and execution criteria for the trigger
	Policy *TriggerPolicy `json:"policy" protobuf:"bytes,3,opt,name=policy"`
}

Trigger is an action taken, output produced, an event created, a message sent

func (*Trigger) DeepCopy

func (in *Trigger) DeepCopy() *Trigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Trigger.

func (*Trigger) DeepCopyInto

func (in *Trigger) DeepCopyInto(out *Trigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TriggerCycleState added in v0.9.1

type TriggerCycleState string

TriggerCycleState is the label for the state of the trigger cycle

const (
	TriggerCycleSuccess TriggerCycleState = "Success" // all triggers are successfully executed
	TriggerCycleFailure TriggerCycleState = "Failure" // one or more triggers failed
)

possible values of trigger cycle states

type TriggerParameter added in v0.8.3

type TriggerParameter struct {
	// Src contains a source reference to the value of the parameter from a event event
	Src *TriggerParameterSource `json:"src" protobuf:"bytes,1,name=src"`
	// Dest is the JSONPath of a resource key.
	// A path is a series of keys separated by a dot. The colon character can be escaped with '.'
	// The -1 key can be used to append a value to an existing array.
	// See https://github.com/tidwall/sjson#path-syntax for more information about how this is used.
	Dest string `json:"dest" protobuf:"bytes,2,name=dest"`
	// Operation is what to do with the existing value at Dest, whether to
	// 'prepend', 'overwrite', or 'append' it.
	Operation TriggerParameterOperation `json:"operation,omitempty" protobuf:"bytes,3,opt,name=operation"`
}

TriggerParameter indicates a passed parameter to a service template

func (*TriggerParameter) DeepCopy added in v0.8.3

func (in *TriggerParameter) DeepCopy() *TriggerParameter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerParameter.

func (*TriggerParameter) DeepCopyInto added in v0.8.3

func (in *TriggerParameter) DeepCopyInto(out *TriggerParameter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TriggerParameterOperation added in v0.13.0

type TriggerParameterOperation string

TriggerParameterOperation represents how to set a trigger destination resource key

const (
	// TriggerParameterOpNone is the zero value of TriggerParameterOperation
	TriggerParameterOpNone TriggerParameterOperation = ""
	// TriggerParameterOpAppend means append the new value to the existing
	TriggerParameterOpAppend TriggerParameterOperation = "append"
	// TriggerParameterOpOverwrite means overwrite the existing value with the new
	TriggerParameterOpOverwrite TriggerParameterOperation = "overwrite"
	// TriggerParameterOpPrepend means prepend the new value to the existing
	TriggerParameterOpPrepend TriggerParameterOperation = "prepend"
)

type TriggerParameterSource added in v0.8.3

type TriggerParameterSource struct {
	// DependencyName refers to the name of the dependency. The event which is stored for this dependency is used as payload
	// for the parameterization. Make sure to refer to one of the dependencies you have defined under Dependencies list.
	DependencyName string `json:"dependencyName" protobuf:"bytes,1,opt,name=dependencyName"`
	// ContextKey is the JSONPath of the event's (JSON decoded) context key
	// ContextKey is a series of keys separated by a dot. A key may contain wildcard characters '*' and '?'.
	// To access an array value use the index as the key. The dot and wildcard characters can be escaped with '\\'.
	// See https://github.com/tidwall/gjson#path-syntax for more information on how to use this.
	ContextKey string `json:"contextKey,omitempty" protobuf:"bytes,2,opt,name=contextKey"`
	// ContextTemplate is a go-template for extracting a string from the event's context.
	// If a ContextTemplate is provided with a ContextKey, the template will be evaluated first and fallback to the ContextKey.
	// The templating follows the standard go-template syntax as well as sprig's extra functions.
	// See https://pkg.go.dev/text/template and https://masterminds.github.io/sprig/
	ContextTemplate string `json:"contextTemplate,omitempty" protobuf:"bytes,3,opt,name=contextTemplate"`
	// DataKey is the JSONPath of the event's (JSON decoded) data key
	// DataKey is a series of keys separated by a dot. A key may contain wildcard characters '*' and '?'.
	// To access an array value use the index as the key. The dot and wildcard characters can be escaped with '\\'.
	// See https://github.com/tidwall/gjson#path-syntax for more information on how to use this.
	DataKey string `json:"dataKey,omitempty" protobuf:"bytes,3,opt,name=dataKey"`
	// DataTemplate is a go-template for extracting a string from the event's data.
	// If a DataTemplate is provided with a DataKey, the template will be evaluated first and fallback to the DataKey.
	// The templating follows the standard go-template syntax as well as sprig's extra functions.
	// See https://pkg.go.dev/text/template and https://masterminds.github.io/sprig/
	DataTemplate string `json:"dataTemplate,omitempty" protobuf:"bytes,4,opt,name=dataTemplate"`
	// Value is the default literal value to use for this parameter source
	// This is only used if the DataKey is invalid.
	// If the DataKey is invalid and this is not defined, this param source will produce an error.
	Value *string `json:"value,omitempty" protobuf:"bytes,5,opt,name=value"`
}

TriggerParameterSource defines the source for a parameter from a event event

func (*TriggerParameterSource) DeepCopy added in v0.8.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerParameterSource.

func (*TriggerParameterSource) DeepCopyInto added in v0.8.3

func (in *TriggerParameterSource) DeepCopyInto(out *TriggerParameterSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TriggerPolicy added in v0.9.1

type TriggerPolicy struct {
	// K8sResourcePolicy refers to the policy used to check the state of K8s based triggers using using labels
	K8s *K8sResourcePolicy `json:"k8s,omitempty" protobuf:"bytes,1,opt,name=k8s"`
	// Status refers to the policy used to check the state of the trigger using response status
	Status *StatusPolicy `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
}

TriggerPolicy dictates the policy for the trigger retries

func (*TriggerPolicy) DeepCopy added in v0.9.1

func (in *TriggerPolicy) DeepCopy() *TriggerPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerPolicy.

func (*TriggerPolicy) DeepCopyInto added in v0.9.1

func (in *TriggerPolicy) DeepCopyInto(out *TriggerPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TriggerSwitch added in v0.13.0

type TriggerSwitch struct {
	// +listType=any
	// Any acts as a OR operator between dependencies
	Any []string `json:"any,omitempty" protobuf:"bytes,1,rep,name=any"`
	// +listType=all
	// All acts as a AND operator between dependencies
	All []string `json:"all,omitempty" protobuf:"bytes,2,rep,name=all"`
}

TriggerSwitch describes condition which must be satisfied in order to execute a trigger. Depending upon condition type, status of dependency groups is used to evaluate the result.

func (*TriggerSwitch) DeepCopy added in v0.13.0

func (in *TriggerSwitch) DeepCopy() *TriggerSwitch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerSwitch.

func (*TriggerSwitch) DeepCopyInto added in v0.13.0

func (in *TriggerSwitch) DeepCopyInto(out *TriggerSwitch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TriggerTemplate added in v0.8.3

type TriggerTemplate struct {
	// Name is a unique name of the action to take.
	Name string `json:"name" protobuf:"bytes,1,name=name"`
	// Switch is the condition to execute the trigger.
	// +optional
	Switch *TriggerSwitch `json:"switch,omitempty" protobuf:"bytes,2,opt,name=switch"`
	// StandardK8sTrigger refers to the trigger designed to create or update a generic Kubernetes resource.
	// +optional
	K8s *StandardK8sTrigger `json:"k8s,omitempty" protobuf:"bytes,3,opt,name=k8s"`
	// ArgoWorkflow refers to the trigger that can perform various operations on an Argo workflow.
	// +optional
	ArgoWorkflow *ArgoWorkflowTrigger `json:"argoWorkflow,omitempty" protobuf:"bytes,4,opt,name=argoWorkflow"`
	// HTTP refers to the trigger designed to dispatch a HTTP request with on-the-fly constructable payload.
	// +optional
	HTTP *HTTPTrigger `json:"http,omitempty" protobuf:"bytes,4,opt,name=http"`
	// AWSLambda refers to the trigger designed to invoke AWS Lambda function with with on-the-fly constructable payload.
	// +optional
	AWSLambda *AWSLambdaTrigger `json:"awsLambda,omitempty" protobuf:"bytes,6,opt,name=awsLambda"`
	// CustomTrigger refers to the trigger designed to connect to a gRPC trigger server and execute a custom trigger.
	// +optional
	CustomTrigger *CustomTrigger `json:"custom,omitempty" protobuf:"bytes,7,opt,name=custom"`
	// Kafka refers to the trigger designed to place messages on Kafka topic.
	// +optional.
	Kafka *KafkaTrigger `json:"kafka,omitempty" protobuf:"bytes,8,opt,name=kafka"`
	// NATS refers to the trigger designed to place message on NATS subject.
	// +optional.
	NATS *NATSTrigger `json:"nats,omitempty" protobuf:"bytes,9,opt,name=nats"`
	// Slack refers to the trigger designed to send slack notification message.
	// +optional
	Slack *SlackTrigger `json:"slack,omitempty" protobuf:"bytes,10,opt,name=slack"`
	// OpenWhisk refers to the trigger designed to invoke OpenWhisk action.
	// +optional
	OpenWhisk *OpenWhiskTrigger `json:"openWhisk,omitempty" protobuf:"bytes,11,opt,name=openWhisk"`
}

TriggerTemplate is the template that describes trigger specification.

func (*TriggerTemplate) DeepCopy added in v0.8.3

func (in *TriggerTemplate) DeepCopy() *TriggerTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerTemplate.

func (*TriggerTemplate) DeepCopyInto added in v0.8.3

func (in *TriggerTemplate) DeepCopyInto(out *TriggerTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLArtifact

type URLArtifact struct {
	// Path is the complete URL
	Path string `json:"path" protobuf:"bytes,1,name=path"`
	// VerifyCert decides whether the connection is secure or not
	VerifyCert bool `json:"verifyCert,omitempty" protobuf:"bytes,2,opt,name=verifyCert"`
}

URLArtifact contains information about an minio at an http endpoint.

func (*URLArtifact) DeepCopy

func (in *URLArtifact) DeepCopy() *URLArtifact

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLArtifact.

func (*URLArtifact) DeepCopyInto

func (in *URLArtifact) DeepCopyInto(out *URLArtifact)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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