-
Notifications
You must be signed in to change notification settings - Fork 69
/
common_types.go
54 lines (44 loc) · 1.78 KB
/
common_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
Copyright 2022 TriggerMesh 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.
*/
package v1alpha1
import (
corev1 "k8s.io/api/core/v1"
"github.com/triggermesh/triggermesh/pkg/targets/adapter/cloudevents"
)
/* Provide common structs that are used by the targets such as secret definitions */
// ValueFromField is a struct field that can have its value either defined
// explicitly or sourced from another entity.
type ValueFromField struct {
// Optional: no more than one of the following may be specified.
// Field value.
// +optional
Value string `json:"value,omitempty"`
// Field value from a Kubernetes Secret.
// +optional
ValueFromSecret *corev1.SecretKeySelector `json:"valueFromSecret,omitempty"`
// Field value from a Kubernetes ConfigMap.
// +optional
ValueFromConfigMap *corev1.ConfigMapKeySelector `json:"valueFromConfigMap,omitempty"`
}
// EventOptions modifies CloudEvents management at Targets.
type EventOptions struct {
// PayloadPolicy indicates if replies from the target should include
// a payload if available. Possible values are:
//
// - always: will return a with the reply payload if avaliable.
// - errors: will only reply with payload in case of an error.
// - never: will not reply with payload.
//
// +optional
PayloadPolicy *cloudevents.PayloadPolicy `json:"payloadPolicy,omitempty"`
}