Add more textual explanation in api doc
[policy/parent.git] / docs / api / policytypes / onap.policies.optimization.VnfPolicy.json
1 {
2     "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
3     "policy_types": [
4         {
5             "onap.policies.Optimization": {
6                 "derived_from": "tosca.policies.Root",
7                 "version": "1.0.0",
8                 "description": "a base policy type for all policies that govern optimization"
9             }
10         },
11         {
12             "onap.policies.optimization.VnfPolicy": {
13                 "derived_from": "onap.policies.Optimization",
14                 "version": "1.0.0",
15                 "properties": {
16                     "policyScope": {
17                         "type": "list",
18                         "description": "scope where the policy is applicable",
19                         "required": true,
20                         "matchable": true,
21                         "entry_schema": {
22                             "type": "string"
23                         }
24                     },
25                     "policyType": {
26                         "type": "list",
27                         "description": "type of a policy",
28                         "required": true,
29                         "matchable": true,
30                         "entry_schema": {
31                             "type": "string",
32                             "constraints": [
33                                 {
34                                     "valid_values": [
35                                         "vnfPolicy"
36                                     ]
37                                 }
38                             ]
39                         }
40                     },
41                     "identity": {
42                         "type": "string",
43                         "required": true
44                     },
45                     "resources": {
46                         "type": "list",
47                         "required": true,
48                         "entry_schema": {
49                             "type": "string"
50                         }
51                     },
52                     "applicableResources": {
53                         "type": "list",
54                         "required": true,
55                         "entry_schema": {
56                             "type": "string",
57                             "constraints": [
58                                 {
59                                     "valid_values": [
60                                         "any",
61                                         "all"
62                                     ]
63                                 }
64                             ]
65                         }
66                     },
67                     "vnfProperties": {
68                         "type": "list",
69                         "required": true,
70                         "entry_schema": {
71                             "type": "policy.data.vnfProperties_properties"
72                         }
73                     }
74                 }
75             }
76         }
77     ],
78     "data_types": [
79         {
80             "policy.data.vnfProperties_properties": {
81                 "derived_from": "tosca.nodes.Root",
82                 "properties": {
83                     "inventoryProvider": {
84                         "type": "string",
85                         "required": true
86                     },
87                     "serviceType": {
88                         "type": "string",
89                         "required": true
90                     },
91                     "inventoryType": {
92                         "type": "list",
93                         "required": true,
94                         "entry_schema": {
95                             "type": "string",
96                             "constraints": [
97                                 {
98                                     "valid_values": [
99                                         "serviceInstanceId",
100                                         "vnfName",
101                                         "cloudRegionId",
102                                         "vimId"
103                                     ]
104                                 }
105                             ]
106                         }
107                     },
108                     "customerId": {
109                         "type": "string",
110                         "required": true
111                     }
112                 }
113             }
114         }
115     ]
116 }