generic-resource-api DG enhancement
[sdnc/oam.git] / platform-logic / restapi-templates / src / main / json / vf-module-assign.json
1 {
2     "vf-module": [{
3         "vf-module-id": ${vf-module-topology-operation-input.vf-module-information.vf-module-id},
4         "vf-module-data": {
5             "sdnc-request-header": {
6                 "svc-request-id": ${vf-module-data.sdnc-request-header.svc-request-id},
7                 "svc-action": ${vf-module-data.sdnc-request-header.svc-action},
8                 "svc-notification-url": ${vf-module-data.sdnc-request-header.svc-notification-url}
9             },
10             "request-information": {
11                 "request-id": ${vf-module-data.request-information.request-id},
12                 "request-action": ${vf-module-data.request-information.request-action},
13                 "source": ${vf-module-data.request-information.source},
14                 "notification-url": ${vf-module-data.request-information.notification-url},
15                 "order-number": ${vf-module-data.request-information.order-number},
16                 "order-version": ${vf-module-data.request-information.order-version}
17             },
18             "service-information": {
19                 "service-id": ${vf-module-data.service-information.service-id},
20                 "subscription-service-type": ${vf-module-data.service-information.subscription-service-type},
21                 "onap-model-information": {
22                     "model-invariant-uuid": ${vf-module-data.service-information.onap-model-information.model-invariant-uuid},
23                     "model-customization-uuid": ${vf-module-data.service-information.onap-model-information.model-customization-uuid},
24                     "model-uuid": ${vf-module-data.service-information.onap-model-information.model-uuid},
25                     "model-version": ${vf-module-data.service-information.onap-model-information.model-version},
26                     "model-name": ${vf-module-data.service-information.onap-model-information.model-name}
27                 },
28                 "service-instance-id": ${vf-module-data.service-information.service-instance-id},
29                 "global-customer-id": ${vf-module-data.service-information.global-customer-id},
30                 "subscriber-name": ${vf-module-data.service-information.subscriber-name}
31             },
32             "vnf-information": {
33                 "vnf-id": ${vf-module-data.vnf-information.vnf-id},
34                 "vnf-type": ${vf-module-data.vnf-information.vnf-type},
35                 "vnf-name": ${vf-module-data.vnf-information.vnf-name},
36                 "onap-model-information": {
37                     "model-invariant-uuid": ${vf-module-data.vnf-information.onap-model-information.model-invariant-uuid},
38                     "model-customization-uuid": ${vf-module-data.vnf-information.onap-model-information.model-customization-uuid},
39                     "model-uuid": ${vf-module-data.vnf-information.onap-model-information.model-uuid},
40                     "model-version": ${vf-module-data.vnf-information.onap-model-information.model-version},
41                     "model-name": ${vf-module-data.vnf-information.onap-model-information.model-name}
42                 }
43             },
44             "vf-module-information": {
45                 "vf-module-id": ${vf-module-data.vf-module-information.vf-module-id},
46                 "vf-module-type": ${vf-module-data.vf-module-information.vf-module-type},
47                                 "from-preload": ${vf-module-data.vf-module-information.from-preload},
48                 "onap-model-information": {
49                     "model-invariant-uuid": ${vf-module-data.vf-module-information.onap-model-information.model-invariant-uuid},
50                     "model-customization-uuid": ${vf-module-data.vf-module-information.onap-model-information.model-customization-uuid},
51                     "model-uuid": ${vf-module-data.vf-module-information.onap-model-information.model-uuid},
52                     "model-version": ${vf-module-data.vf-module-information.onap-model-information.model-version},
53                     "model-name": ${vf-module-data.vf-module-information.onap-model-information.model-name}
54                 }
55             },
56             "vf-module-request-input": {
57                 "request-version": ${vf-module-data.vf-module-request-input.request-version},
58                 "vf-module-name": ${vf-module-data.vf-module-request-input.vf-module-name},
59                 "tenant": ${vf-module-data.vf-module-request-input.tenant},
60                 "aic-cloud-region": ${vf-module-data.vf-module-request-input.aic-cloud-region},
61                 "aic-clli": ${vf-module-data.vf-module-request-input.aic-clli},
62                 "vf-module-input-parameters": {
63                     "param": [
64 ${repeat:vf-module-data.vf-module-request-input.vf-module-input-parameters.param_length:
65                         {
66                             "name": ${vf-module-data.vf-module-request-input.vf-module-input-parameters.param[${1}].name},
67                             "value": ${vf-module-data.vf-module-request-input.vf-module-input-parameters.param[${1}].value}
68                         },
69 }
70                     ]
71                 }
72             },
73             "vf-module-topology": {
74                 "vf-module-topology-identifier": {
75                     "vf-module-id": ${vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id},
76                     "vf-module-name": ${vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-name},
77                     "vf-module-type": ${vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-type}
78                 },
79                 "tenant": ${vf-module-data.vf-module-topology.tenant},
80                 "aic-cloud-region": ${vf-module-data.vf-module-topology.aic-cloud-region},
81                 "cloud-owner": ${vf-module-data.vf-module-topology.cloud-owner},
82                 "aic-clli": ${vf-module-data.vf-module-topology.aic-clli},
83                 "onap-model-information": {
84                     "model-invariant-uuid": ${vf-module-data.vf-module-topology.onap-model-information.model-invariant-uuid},
85                     "model-customization-uuid": ${vf-module-data.vf-module-topology.onap-model-information.model-customization-uuid},
86                     "model-uuid": ${vf-module-data.vf-module-topology.onap-model-information.model-uuid},
87                     "model-version": ${vf-module-data.vf-module-topology.onap-model-information.model-version},
88                     "model-name": ${vf-module-data.vf-module-topology.onap-model-information.model-name}
89                 },
90                 "vf-module-assignments": {
91                                         "vf-module-status": ${vf-module-data.vf-module-topology.vf-module-assignments.vf-module-status},
92                     "vms": {
93                         "vm": [
94 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length:
95                             {
96                                 "vm-type": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-type},
97                                 "onap-model-information": {
98                                     "model-invariant-uuid": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].onap-model-information.model-invariant-uuid},
99                                     "model-customization-uuid": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].onap-model-information.model-customization-uuid},
100                                     "model-uuid": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].onap-model-information.model-uuid},
101                                     "model-version": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].onap-model-information.model-version},
102                                     "model-name": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].onap-model-information.model-name}
103                                 },
104                                                                 "nfc-naming-code": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].nfc-naming-code},
105                                                                 "vm-type-tag": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-type-tag},
106                                                                 "vm-count": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-count},
107                                 "vm-names": {
108                                                                         "vm-name": [
109 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vm-name_length:
110                                                                                 ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vm-name[${2}]},
111 }
112                                                                         ],
113                                     "vnfc-names": [
114 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names_length:
115                                         {
116                                             "vnfc-name": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-name},
117                                             "vnfc-networks": {
118                                                 "vnfc-network-data": [
119 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data_length:
120                                                     {
121                                                         "vnfc-network-role": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-network-role},
122                                                         "vnfc-type": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-type},
123                                                         "connection-point": {
124                                                             "connection-point-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.connection-point-id},
125                                                             "port-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.port-id},
126                                                             "vlan-data": [
127 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.vlan-data_length:
128                                                                 {
129                                                                         "vlan-uuid": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.vlan-data[${4}].vlan-uuid},
130                                                                         "vlan-tag-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.vlan-data[${4}].vlan-tag-id},
131                                                                         "vlan-tag-description": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.vlan-data[${4}].vlan-tag-description},
132                                                                         "vlan-role": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.vlan-data[${4}].vlan-role}
133                                                                 },
134 }
135                                                                 ]
136                                                         },
137                                                                                                                 "vnfc-subnet": {
138                                                                                                                         "vnfc-subnet-role": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-subnet-role},
139                                                                                                                         "vnfc-ip-assignments": [
140 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments_length:
141                                                                                                                                 {
142                                                                                                                                         "vnfc-address-family": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-ip-assignments},
143                                                                                                                                         "vnfc-subnet-dhcp": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-dhcp},
144                                                                                                                                         "vnfc-subnet-ip-count": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-ip-count},
145                                                                                                                                         "vnfc-subnet-ip": [
146 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-ip_length:
147                                                                                                                                                 {
148                                                                                                                                                         "vnfc-ip-address": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-ip[${5}].vnfc-ip-address},
149                                                                                                                                                         "vnfc-client-key": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-ip[${5}].vnfc-client-key},
150                                                                                                                                                         "ip-type": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-ip[${5}].ip-type}
151                                                                                                                                                 }
152 }
153                                                                                                                                                 ]
154                                                                                                                                 }
155 }
156                                                                                                                         ]
157                                                                                                                 }
158                                                                                                         },
159 }
160                                                 ]
161                                                                                         }
162                                                                                 },
163 }
164                                     ]
165                                 },
166                                                                 "vm-networks": {
167                                                                         "vm-network": [
168 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network_length:
169                                                                                 {
170                                                                                         "network-role": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-role},
171                                                                                         "network-role-tag": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-role-tag},
172                                                                                         "network-information-items": {
173                                                                                                 "network-information-item": [
174 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item_length:
175                                                                                                         {
176                                                                                                                 "ip-version": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item[${3}].ip-version},
177                                                                                                                 "use-dhcp": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item[${3}].use-dhcp},
178                                                                                                                 "ip-count": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item[${3}].ip-count},
179                                                                                                                 "network-ips": {
180                                                                                                                         "network-ip": [
181 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item[${3}].network-ips.network-ip_length:
182                                                                                                                                 ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item[${3}].network-ips.network-ip[${4}]},
183 }
184                                                                                                                         ]
185                                                                                                                 }
186                                                                                                         },
187 }
188                                                                                                 ]
189                                                                                         },
190                                                                                         "mac-addresses": {
191                                                                                                 "mac-address": [
192 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].mac-addresses.mac-address_length:
193                                                                                                         ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].mac-addresses.mac-address[${3}]},
194 }
195                                                                                                 ]
196                                                                                         },
197                                                                                         "floating-ips": {
198                                                                                                 "floating-ip-v4": [
199 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].floating-ips.floating-ip-v4_length:
200                                                                                                         ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].floating-ips.floating-ip-v4[${3}]},
201 }
202                                                                                                 ],
203                                                                                                 "floating-ip-v6": [
204 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].floating-ips.floating-ip-v6_length:
205                                                                                                         ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].floating-ips.floating-ip-v6[${3}]},
206 }
207                                                                                                 ]
208                                                                                         },
209                                                                                         "interface-route-prefixes": {
210                                                                                                 "interface-route-prefix": [
211 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].interface-route-prefixes.interface-route-prefix:
212                                                                                                         ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].interface-route-prefixes.interface-route-prefix[${3}]},
213 }
214                                                                                                 ]
215                                                                                         },
216                                                                                         "is-trunked": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].is-trunked},
217                                                                                         "segmentation-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].segmentation-id},
218                                                                                         "related-networks": {
219                                                                                                 "related-network": [
220 ${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network_length:
221                                                                                                         {
222                                                                                                                 "network-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].network-id},
223                                                                                                                 "network-role": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].network-role},
224                                                                                                                 "vlan-tags": {
225                                                                                                                         "vlan-interface": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].vlan-tags.vlan-interface},
226                                                                                                                         "upper-tag-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].vlan-tags.upper-tag-id},
227                                                                                                                         "lower-tag-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].vlan-tags.lower-tag-id},
228                                                                                                                         "is-private": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].vlan-tags.is-private}
229                                                                                                                 }
230                                                                                                         },
231 }
232                                                                                                 ]
233                                                                                         }
234                                                                                 },
235 }
236                                                                         ]
237                                                                 }
238                                                         },
239 }
240                         ]
241                     }
242                 },
243                 "vf-module-parameters": {
244                     "param": [
245 ${repeat:vf-module-data.vf-module-topology.vf-module-parameters.param_length:
246                         {
247                             "name": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].name},
248                             "value": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].value},
249                             "resource-resolution-data": {
250                                 "resource-key": [
251 ${repeat:vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].resource-resolution-data.resource-key_length:
252                                     {
253                                         "name": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].resource-resolution-data.resource-key[${2}].name},
254                                         "value": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].resource-resolution-data.resource-key[${2}].value}
255                                     },
256 }
257                                 ],
258                                 "status": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].resource-resolution-data.status},
259                                 "capability-name": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].resource-resolution-data.capability-name}
260                             },
261                         },
262 }
263                     ]
264                 },
265                 "sdnc-generated-cloud-resources": ${vf-module-data.vf-module-topology.sdnc-generated-cloud-resources}
266             },
267             "vf-module-level-oper-status": {
268                 "order-status": ${vf-module-data.vf-module-level-oper-status.order-status},
269                 "last-rpc-action": ${vf-module-data.vf-module-level-oper-status.last-rpc-action},
270                 "last-action": ${vf-module-data.vf-module-level-oper-status.last-action},
271                 "last-svc-request-id": ${vf-module-data.vf-module-level-oper-status.last-svc-request-id},
272                 "last-order-status": ${vf-module-data.vf-module-level-oper-status.last-order-status},
273                 "create-timestamp": ${vf-module-data.vf-module-level-oper-status.create-timestamp},
274                 "modify-timestamp": ${vf-module-data.vf-module-level-oper-status.modify-timestamp}
275             }
276         }
277     }]
278 }
279