1
+ package v1alpha1
2
+
3
+ import (
4
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
5
+ )
6
+
7
+ // Configuration is the structure for OAM Application Configuration
8
+ type Configuration struct {
9
+ metav1.TypeMeta `json:",inline"`
10
+ metav1.ObjectMeta `json:"metadata,omitempty"`
11
+
12
+ Spec ConfigurationSpec `json:"spec,omitempty"`
13
+ }
14
+
15
+ // ConfigurationSpec is the structure for the OAM Application
16
+ // Configuration Spec
17
+ type ConfigurationSpec struct {
18
+ Components []ConfigurationSpecComponent
19
+ }
20
+
21
+ // ConfigurationSpecComponent is the struct for OAM Application
22
+ // Configuration's spec's components
23
+ type ConfigurationSpecComponent struct {
24
+ ComponentName string
25
+ Traits []ConfigurationSpecComponentTrait
26
+ Scopes []ConfigurationSpecComponentScope
27
+ }
28
+
29
+ // ConfigurationSpecComponentTrait is the struct
30
+ type ConfigurationSpecComponentTrait struct {
31
+ Name string
32
+ Properties map [string ]interface {}
33
+ }
34
+
35
+ // ConfigurationSpecComponentScope struct defines the structure
36
+ // for scope of OAM application configuration's spec's component's scope
37
+ type ConfigurationSpecComponentScope struct {
38
+ ScopeRef ConfigurationSpecComponentScopeRef
39
+ }
40
+
41
+ // ConfigurationSpecComponentScopeRef struct defines the structure for
42
+ // scope of OAM application configuration's spec's component's scope's
43
+ // scopeRef
44
+ type ConfigurationSpecComponentScopeRef struct {
45
+ metav1.TypeMeta `json:",inline"`
46
+ Name string
47
+ }
0 commit comments