common

package
v0.13.0-rc Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package +k8s:openapi-gen=true

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetOpenAPIDefinitions added in v0.13.0

func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition

Types

type Event

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

Event is a data and its context. Adheres to the CloudEvents v0.3 specification

func (*Event) DeepCopy

func (in *Event) DeepCopy() *Event

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

func (*Event) DeepCopyInto

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

type EventContext struct {
	// The type of occurrence which has happened. Often this attribute is used for
	// routing, observability, policy enforcement, etc.
	// should be prefixed with a reverse-DNS name. The prefixed domain dictates
	// the organization which defines the semantics of this event type. ex: com.github.pull.create
	Type string `json:"type" protobuf:"bytes,1,name=type"`
	// The version of the CloudEvents specification which the event uses.
	// Enables the interpretation of the context.
	SpecVersion string `json:"specVersion" protobuf:"bytes,2,name=specVersion"`
	// This describes the event producer.
	Source string `json:"source" protobuf:"bytes,3,name=source"`
	// ID of the event. The semantics are explicitly undefined to ease the implementation of producers.
	ID string `json:"id" protobuf:"bytes,4,name=id"`
	// Time when the event happened. Must adhere to format specified in RFC 3339.
	Time metav1.MicroTime `json:"time" protobuf:"bytes,5,name=time"`
	// Content type of the data attribute value. Enables the data attribute to carry any type of content,
	// whereby format and encoding might differ from that of the chosen event format.
	// For example, the data attribute may carry an XML or JSON payload and the consumer is informed
	// by this attribute being set to "application/xml" or "application/json" respectively.
	DataContentType string `json:"dataContentType" protobuf:"bytes,6,name=dataContentType"`
	// Subject of the event
	Subject string `json:"subject" protobuf:"bytes,7,name=subject"`
}

EventContext contains metadata that provides circumstantial information about the occurrence.

func (*EventContext) DeepCopy

func (in *EventContext) DeepCopy() *EventContext

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

func (*EventContext) DeepCopyInto

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

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

type EventProtocol

type EventProtocol struct {
	Type EventProtocolType `json:"type" protobuf:"bytes,1,opt,name=type"`
	Http Http              `json:"http" protobuf:"bytes,2,opt,name=http"`
	Nats Nats              `json:"nats" protobuf:"bytes,3,opt,name=nats"`
}

Dispatch protocol contains configuration necessary to dispatch an event to sensor over different communication protocols.

func (*EventProtocol) DeepCopy

func (in *EventProtocol) DeepCopy() *EventProtocol

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

func (*EventProtocol) DeepCopyInto

func (in *EventProtocol) DeepCopyInto(out *EventProtocol)

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

type EventProtocolType

type EventProtocolType string

EventProtocolType is type of the event dispatch protocol. Used for dispatching events

const (
	HTTP EventProtocolType = "HTTP"
	NATS EventProtocolType = "NATS"
)

possible types of event dispatch protocol

type EventSourceType added in v0.13.0

type EventSourceType string

EventSourceType is the type of event source supported by the gateway

var (
	MinioEvent       EventSourceType = "minio"
	CalendarEvent    EventSourceType = "calendar"
	FileEvent        EventSourceType = "file"
	ResourceEvent    EventSourceType = "resource"
	WebhookEvent     EventSourceType = "webhook"
	AMQPEvent        EventSourceType = "amqp"
	KafkaEvent       EventSourceType = "kafka"
	MQTTEvent        EventSourceType = "mqtt"
	NATSEvent        EventSourceType = "nats"
	SNSEvent         EventSourceType = "sns"
	SQSEvent         EventSourceType = "sqs"
	PubSubEvent      EventSourceType = "pubsub"
	GitHubEvent      EventSourceType = "github"
	GitLabEvent      EventSourceType = "gitlab"
	HDFSEvent        EventSourceType = "hdfs"
	SlackEvent       EventSourceType = "slack"
	StorageGridEvent EventSourceType = "storagegrid"
	AzureEventsHub   EventSourceType = "azureEventsHub"
	StripeEvent      EventSourceType = "stripe"
	EmitterEvent     EventSourceType = "emitter"
	RedisEvent       EventSourceType = "redis"
	NSQEvent         EventSourceType = "nsq"
	GenericEvent     EventSourceType = "generic"
)

possible event source types

type Http

type Http struct {
	// Port on which server will run
	Port string `json:"port" protobuf:"bytes,1,opt,name=port"`

	// Labels to be set for the service generated
	Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"`

	// Annotations to be set for the service generated
	Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"`
}

Http contains the information required to setup a http server and listen to incoming events

func (*Http) DeepCopy

func (in *Http) DeepCopy() *Http

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

func (*Http) DeepCopyInto

func (in *Http) DeepCopyInto(out *Http)

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

type Nats

type Nats struct {
	// URL is nats server/service URL
	URL string `json:"url" protobuf:"bytes,1,opt,name=url"`
	// Subscribe starting with most recently published value. Refer https://github.com/nats-io/go-nats-streaming
	StartWithLastReceived bool `json:"startWithLastReceived,omitempty" protobuf:"bytes,2,opt,name=startWithLastReceived"`
	// Receive all stored values in order.
	DeliverAllAvailable bool `json:"deliverAllAvailable,omitempty" protobuf:"bytes,3,opt,name=deliverAllAvailable"`
	// Receive messages starting at a specific sequence number
	StartAtSequence string `json:"startAtSequence,omitempty" protobuf:"bytes,4,opt,name=startAtSequence"`
	// Subscribe starting at a specific time
	StartAtTime string `json:"startAtTime,omitempty" protobuf:"bytes,5,opt,name=startAtTime"`
	// Subscribe starting a specific amount of time in the past (e.g. 30 seconds ago)
	StartAtTimeDelta string `json:"startAtTimeDelta,omitempty" protobuf:"bytes,6,opt,name=startAtTimeDelta"`
	// Durable subscriptions allow clients to assign a durable name to a subscription when it is created
	Durable bool `json:"durable,omitempty" protobuf:"bytes,7,opt,name=durable"`
	// The NATS Streaming cluster ID
	ClusterId string `json:"clusterId,omitempty" protobuf:"bytes,8,opt,name=clusterId"`
	// The NATS Streaming cluster ID
	ClientId string `json:"clientId,omitempty" protobuf:"bytes,9,opt,name=clientId"`
	// Type of the connection. either standard or streaming
	Type NatsType `json:"type" protobuf:"bytes,10,opt,name=type"`
}

Nats contains the information required to connect to nats server and get subscriptions

func (*Nats) DeepCopy

func (in *Nats) DeepCopy() *Nats

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

func (*Nats) DeepCopyInto

func (in *Nats) DeepCopyInto(out *Nats)

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

type NatsType

type NatsType string

Type of nats connection.

const (
	Standard  NatsType = "Standard"
	Streaming NatsType = "Streaming"
)

possible values of nats connection type

type S3Artifact

type S3Artifact struct {
	Endpoint  string                    `json:"endpoint" protobuf:"bytes,1,opt,name=endpoint"`
	Bucket    *S3Bucket                 `json:"bucket" protobuf:"bytes,2,opt,name=bucket"`
	Region    string                    `json:"region,omitempty" protobuf:"bytes,3,opt,name=region"`
	Insecure  bool                      `json:"insecure,omitempty" protobuf:"varint,4,opt,name=insecure"`
	AccessKey *corev1.SecretKeySelector `json:"accessKey" protobuf:"bytes,5,opt,name=accessKey"`
	SecretKey *corev1.SecretKeySelector `json:"secretKey" protobuf:"bytes,6,opt,name=secretKey"`
	// +listType=string
	Events []string  `json:"events,omitempty" protobuf:"bytes,7,opt,name=events"`
	Filter *S3Filter `json:"filter,omitempty" protobuf:"bytes,8,opt,name=filter"`
}

S3Artifact contains information about an S3 connection and bucket

func (*S3Artifact) DeepCopy

func (in *S3Artifact) DeepCopy() *S3Artifact

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

func (*S3Artifact) DeepCopyInto

func (in *S3Artifact) DeepCopyInto(out *S3Artifact)

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

type S3Bucket

type S3Bucket struct {
	Key  string `json:"key,omitempty" protobuf:"bytes,1,opt,name=key"`
	Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
}

S3Bucket contains information to describe an S3 Bucket

func (*S3Bucket) DeepCopy

func (in *S3Bucket) DeepCopy() *S3Bucket

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

func (*S3Bucket) DeepCopyInto

func (in *S3Bucket) DeepCopyInto(out *S3Bucket)

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

type S3Filter

type S3Filter struct {
	Prefix string `json:"prefix" protobuf:"bytes,1,opt,name=prefix"`
	Suffix string `json:"suffix" protobuf:"bytes,2,opt,name=suffix"`
}

S3Filter represents filters to apply to bucket nofifications for specifying constraints on objects

func (*S3Filter) DeepCopy

func (in *S3Filter) DeepCopy() *S3Filter

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

func (*S3Filter) DeepCopyInto

func (in *S3Filter) DeepCopyInto(out *S3Filter)

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