Visualization operator - update/delete datasource
[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 // GrafanaDataSourceSpec defines the desired state of GrafanaDataSource
8 // +k8s:openapi-gen=true
9 type GrafanaDataSourceSpec struct {
10         Datasources []Datasource      `json:"datasources"`
11         Grafana     map[string]string `json:"grafana"`
12 }
13
14 // GrafanaDataSourceStatus defines the observed state of GrafanaDataSource
15 // +k8s:openapi-gen=true
16 type GrafanaDataSourceStatus struct {
17 }
18
19 // Datasource defines the fields in a GrafanaDataSource
20 // +k8s:openapi-gen=true
21 type Datasource struct {
22         Name              string            `json:"name"`
23         Type              string            `json:"type"`
24         URL               string            `json:"url"`
25         IsDefault         bool              `json:"isDefault,omitempty"`
26         Access            string            `json:"access"`
27         WithCredentials   bool              `json:"withCredentials,omitempty"`
28         BasicAuth         bool              `json:"basicAuth,omitempty"`
29         BasicAuthUser     string            `json:"basicAuthUser,omitempty"`
30         BasicAuthPassword string            `json:"basicAuthPassword,omitempty"`
31         JsonData          map[string]string `json:"jsonData,omitempty"`
32         Database          string            `json:"database,omitempty"`
33         User              string            `json:"user,omitempty"`
34         Password          string            `json:"password,omitempty"`
35         ReadOnly          bool              `json:"readOnly,omitempty"`
36 }
37
38 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
39
40 // GrafanaDataSource is the Schema for the grafanadatasources API
41 // +k8s:openapi-gen=true
42 // +kubebuilder:subresource:status
43 type GrafanaDataSource struct {
44         metav1.TypeMeta   `json:",inline"`
45         metav1.ObjectMeta `json:"metadata,omitempty"`
46
47         Spec   GrafanaDataSourceSpec   `json:"spec,omitempty"`
48         Status GrafanaDataSourceStatus `json:"status,omitempty"`
49 }
50
51 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
52
53 // GrafanaDataSourceList contains a list of GrafanaDataSource
54 type GrafanaDataSourceList struct {
55         metav1.TypeMeta `json:",inline"`
56         metav1.ListMeta `json:"metadata,omitempty"`
57         Items           []GrafanaDataSource `json:"items"`
58 }
59
60 func init() {
61         SchemeBuilder.Register(&GrafanaDataSource{}, &GrafanaDataSourceList{})
62 }