Remote Write Config and Filter operator
[demo.git] / vnfs / DAaaS / microservices / remote-config-operator / pkg / apis / onap / v1alpha1 / remotefilteraction_types.go
1 package v1alpha1
2
3 import (
4         metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
5 )
6
7 // RemoteFilterActionSpec defines the desired state of RemoteFilterAction
8 // +k8s:openapi-gen=true
9 type RemoteFilterActionSpec struct {
10         Action string `json:"action,omitempty"`
11         Regex  string `json:"regex,omitempty"`
12         // SourceLabels are the labels of the each metric
13         // +listType=set
14         SourceLabels []string `json:"sourceLabels,omitempty"`
15         TargetLabel  string   `json:"targetLabel,omitempty"`
16         Replacement  string   `json:"replacement,omitempty"`
17 }
18
19 // RemoteFilterActionStatus defines the observed state of RemoteFilterAction
20 // +k8s:openapi-gen=true
21 type RemoteFilterActionStatus struct {
22         // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
23         // Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
24         // Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
25 }
26
27 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
28
29 // RemoteFilterAction is the Schema for the remotefilteractions API
30 // +k8s:openapi-gen=true
31 // +kubebuilder:subresource:status
32 // +kubebuilder:resource:path=remotefilteractions,scope=Namespaced
33 type RemoteFilterAction struct {
34         metav1.TypeMeta   `json:",inline"`
35         metav1.ObjectMeta `json:"metadata,omitempty"`
36
37         Spec   RemoteFilterActionSpec   `json:"spec,omitempty"`
38         Status RemoteFilterActionStatus `json:"status,omitempty"`
39 }
40
41 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
42
43 // RemoteFilterActionList contains a list of RemoteFilterAction
44 type RemoteFilterActionList struct {
45         metav1.TypeMeta `json:",inline"`
46         metav1.ListMeta `json:"metadata,omitempty"`
47         Items           []RemoteFilterAction `json:"items"`
48 }
49
50 func init() {
51         SchemeBuilder.Register(&RemoteFilterAction{}, &RemoteFilterActionList{})
52 }