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