Documentation ¶
Overview ¶
Copyright 2020 BlackRock, Inc.
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.
Index ¶
- type KafkaTrigger
- func (t *KafkaTrigger) ApplyPolicy(ctx context.Context, resource interface{}) error
- func (t *KafkaTrigger) ApplyResourceParameters(events map[string]*v1alpha1.Event, resource interface{}) (interface{}, error)
- func (t *KafkaTrigger) Execute(ctx context.Context, events map[string]*v1alpha1.Event, resource interface{}) (interface{}, error)
- func (t *KafkaTrigger) FetchResource(ctx context.Context) (interface{}, error)
- func (t *KafkaTrigger) GetTriggerType() apicommon.TriggerType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type KafkaTrigger ¶
type KafkaTrigger struct { // Sensor object Sensor *v1alpha1.Sensor // Trigger reference Trigger *v1alpha1.Trigger // Kafka async producer Producer sarama.AsyncProducer // Logger to log stuff Logger *zap.SugaredLogger }
KafkaTrigger describes the trigger to place messages on Kafka topic using a producer
func NewKafkaTrigger ¶
func NewKafkaTrigger(sensor *v1alpha1.Sensor, trigger *v1alpha1.Trigger, kafkaProducers map[string]sarama.AsyncProducer, logger *zap.SugaredLogger) (*KafkaTrigger, error)
NewKafkaTrigger returns a new kafka trigger context.
func (*KafkaTrigger) ApplyPolicy ¶
func (t *KafkaTrigger) ApplyPolicy(ctx context.Context, resource interface{}) error
ApplyPolicy applies policy on the trigger
func (*KafkaTrigger) ApplyResourceParameters ¶
func (t *KafkaTrigger) ApplyResourceParameters(events map[string]*v1alpha1.Event, resource interface{}) (interface{}, error)
ApplyResourceParameters applies parameters to the trigger resource
func (*KafkaTrigger) Execute ¶
func (t *KafkaTrigger) Execute(ctx context.Context, events map[string]*v1alpha1.Event, resource interface{}) (interface{}, error)
Execute executes the trigger
func (*KafkaTrigger) FetchResource ¶
func (t *KafkaTrigger) FetchResource(ctx context.Context) (interface{}, error)
FetchResource fetches the trigger. As the Kafka trigger is simply a Kafka producer, there is no need to fetch any resource from external source
func (*KafkaTrigger) GetTriggerType ¶ added in v1.3.0
func (t *KafkaTrigger) GetTriggerType() apicommon.TriggerType
GetTriggerType returns the type of the trigger