6082006711693e54bc0ec90597a9d1572107402b
[demo.git] / vnfs / DAaaS / microservices / visualization-operator / pkg / apis / onap / v1alpha1 / grafanadatasource_types.go
1 package v1alpha1
2
3 import (
4         metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
5 )
6
7 // EDIT THIS FILE!  THIS IS SCAFFOLDING FOR YOU TO OWN!
8 // NOTE: json tags are required.  Any new fields you add must have json tags for the fields to be serialized.
9
10 // GrafanaDataSourceSpec defines the desired state of GrafanaDataSource
11 // +k8s:openapi-gen=true
12 type GrafanaDataSourceSpec struct {
13         // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
14         // Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
15         // Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
16         Datasources []Datasource      `json:"datasources"`
17         Grafana     map[string]string `json:"grafana"`
18 }
19
20 // GrafanaDataSourceStatus defines the observed state of GrafanaDataSource
21 // +k8s:openapi-gen=true
22 type GrafanaDataSourceStatus struct {
23 }
24
25 // Datasource defines the fields in a GrafanaDataSource
26 // +k8s:openapi-gen=true
27 type Datasource struct {
28         Name              string            `json:"name"`
29         Type              string            `json:"type"`
30         URL               string            `json:"url"`
31         IsDefault         bool              `json:"isDefault,omitempty"`
32         Access            string            `json:"access"`
33         WithCredentials   bool              `json:"withCredentials,omitempty"`
34         BasicAuth         bool              `json:"basicAuth,omitempty"`
35         BasicAuthUser     string            `json:"basicAuthUser,omitempty"`
36         BasicAuthPassword string            `json:"basicAuthPassword,omitempty"`
37         JsonData          map[string]string `json:"jsonData,omitempty"`
38         Database          string            `json:"database,omitempty"`
39         User              string            `json:"user,omitempty"`
40         Password          string            `json:"password,omitempty"`
41         ReadOnly          bool              `json:"readOnly,omitempty"`
42 }
43
44 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
45
46 // GrafanaDataSource is the Schema for the grafanadatasources API
47 // +k8s:openapi-gen=true
48 // +kubebuilder:subresource:status
49 type GrafanaDataSource struct {
50         metav1.TypeMeta   `json:",inline"`
51         metav1.ObjectMeta `json:"metadata,omitempty"`
52
53         Spec   GrafanaDataSourceSpec   `json:"spec,omitempty"`
54         Status GrafanaDataSourceStatus `json:"status,omitempty"`
55 }
56
57 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
58
59 // GrafanaDataSourceList contains a list of GrafanaDataSource
60 type GrafanaDataSourceList struct {
61         metav1.TypeMeta `json:",inline"`
62         metav1.ListMeta `json:"metadata,omitempty"`
63         Items           []GrafanaDataSource `json:"items"`
64 }
65
66 func init() {
67         SchemeBuilder.Register(&GrafanaDataSource{}, &GrafanaDataSourceList{})
68 }