generic-resource-api DG enhancement
[sdnc/oam.git] / platform-logic / restapi-templates / src / main / json / vnf-data-assign.json
1 {
2         "vnf": [{
3                 "vnf-id": ${vnf-topology-operation-input.vnf-information.vnf-id},
4                 "vnf-data": {
5                         "sdnc-request-header": {
6                                 "svc-request-id": ${vnf-data.sdnc-request-header.svc-request-id},
7                                 "svc-action": ${vnf-data.sdnc-request-header.svc-action},
8                                 "svc-notification-url": ${vnf-data.sdnc-request-header.svc-notification-url}
9                         },
10                         "request-information": {
11                                 "request-id": ${vnf-data.request-information.request-id},
12                                 "request-action": ${vnf-data.request-information.request-action},
13                                 "source": ${vnf-data.request-information.source},
14                                 "notification-url": ${vnf-data.request-information.notification-url},
15                                 "order-number": ${vnf-data.request-information.order-number},
16                                 "order-version": ${vnf-data.request-information.order-version}
17                         },
18                         "service-information": {
19                                 "service-id": ${vnf-data.service-information.service-id},
20                                 "subscription-service-type": ${vnf-data.service-information.subscription-service-type},
21                                 "onap-model-information": {
22                                         "model-invariant-uuid": ${vnf-data.service-information.onap-model-information.model-invariant-uuid},
23                                         "model-customization-uuid": ${vnf-data.service-information.onap-model-information.model-customization-uuid},
24                                         "model-uuid": ${vnf-data.service-information.onap-model-information.model-uuid},
25                                         "model-version": ${vnf-data.service-information.onap-model-information.model-version},
26                                         "model-name": ${vnf-data.service-information.onap-model-information.model-name}
27                                 },
28                                 "service-instance-id": ${vnf-data.service-information.service-instance-id},
29                                 "global-customer-id": ${vnf-data.service-information.global-customer-id},
30                                 "subscriber-name": ${vnf-data.service-information.subscriber-name}
31                         },
32                         "vnf-information": {
33                                 "vnf-id": ${vnf-data.vnf-information.vnf-id},
34                                 "vnf-type": ${vnf-data.vnf-information.vnf-type},
35                                 "vnf-name": ${vnf-data.vnf-information.vnf-name},
36                                 "onap-model-information": {
37                                         "model-invariant-uuid": ${vnf-data.vnf-information.onap-model-information.model-invariant-uuid},
38                                         "model-customization-uuid": ${vnf-data.vnf-information.onap-model-information.model-customization-uuid},
39                                         "model-uuid": ${vnf-data.vnf-information.onap-model-information.model-uuid},
40                                         "model-version": ${vnf-data.vnf-information.onap-model-information.model-version},
41                                         "model-name": ${vnf-data.vnf-information.onap-model-information.model-name}
42                                 }
43                         },
44                         "vnf-request-input": {
45                                 "request-version": ${vnf-data.vnf-request-input.request-version},
46                                 "vnf-name": ${vnf-data.vnf-request-input.vnf-name},
47                                 "tenant": ${vnf-data.vnf-request-input.tenant},
48                                 "aic-cloud-region": ${vnf-data.vnf-request-input.aic-cloud-region},
49                                 "cloud-owner": ${vnf-data.vnf-request-input.cloud-owner},
50                                 "aic-clli": ${vnf-data.vnf-request-input.aic-clli},
51                                 "vnf-networks": {
52                                         "vnf-network": [
53 ${repeat:vnf-data.vnf-request-input.vnf-networks.vnf-network_length:
54                                                 {
55                                                         "network-role": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].network-role},
56                                                         "network-name": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].network-name},
57                                                         "neutron-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].neutron-id},
58                                                         "network-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].network-id},
59                                                         "contrail-network-fqdn": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].contrail-network-fqdn},
60                                                         "subnets-data": {
61                                                                 "subnet-data": [
62 ${repeat:vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data_length:
63                                                                         {
64                                                                                 "sdnc-subnet-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].sdnc-subnet-id},
65                                                                                 "subnet-role": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-role},
66                                                                                 "subnet-name": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-name},
67                                                                                 "ip-version": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].ip-version},
68                                                                                 "subnet-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-id},
69                                                                                 "dhcp-enabled": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].dhcp-enabled},
70                                                                                 "network-start-address": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].network-start-address},
71                                                                                 "gateway-address": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].gateway-address},
72                                                                                 "cidr-mask": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].cidr-mask}
73                                                                         },
74 }
75                                                                 ]
76                                                         },
77                                                         "is-trunked": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].is-trunked},
78                                                         "segmentation-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].segmentation-id},
79                                                         "related-networks": {
80                                                                 "related-network": [
81 ${repeat:vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network_length:
82                                                                         {
83                                                                                 "network-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].network-id},
84                                                                                 "network-role": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].network-role},
85                                                                                 "vlan-tags": {
86                                                                                         "vlan-interface": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.vlan-interface},
87                                                                                         "upper-tag-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.upper-tag-id},
88                                                                                         "lower-tag-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.lower-tag-id},
89                                                                                         "is-private": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.is-private}
90                                                                                 }
91                                                                         },
92 }
93                                                                 ]
94                                                         },
95                                                 },
96 }
97                                         ]
98                                 },
99                                 "vnf-network-instance-group-ids": [
100 ${repeat:vnf-data.vnf-request-input.vnf-network-instance-group-ids_length:
101                                         {
102                                                 "vnf-network-instance-group-id": ${vnf-data.vnf-request-input.vnf-network-instance-group-ids[${1}].vnf-network-instance-group-id}
103                                         },
104 }
105                                 ],
106                                 "vnf-input-parameters": {
107                                         "param": [
108 ${repeat:vnf-data.vnf-request-input.vnf-input-parameters.param_length:
109                                                 {
110                                                         "name": ${vnf-data.vnf-request-input.vnf-input-parameters.param[${1}].name},
111                                                         "value": ${vnf-data.vnf-request-input.vnf-input-parameters.param[${1}].value}
112                                                 },
113 }
114                                         ]
115                                 }
116                         },
117                         "vnf-topology": {
118                                 "vnf-topology-identifier-structure": {
119                                         "vnf-id": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id},
120                                         "vnf-type": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type},
121                                         "nf-type": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type},
122                                         "nf-role": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role},
123                                         "nf-function": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function},
124                                         "nf-code": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code},
125                                         "vnf-name": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name},
126                                 },
127                                 "tenant": ${vnf-data.vnf-topology.tenant},
128                                 "aic-cloud-region": ${vnf-data.vnf-topology.aic-cloud-region},
129                                 "cloud-owner": ${vnf-data.vnf-topology.cloud-owner},
130                                 "aic-clli": ${vnf-data.vnf-topology.aic-clli},
131                                 "onap-model-information": {
132                                         "model-invariant-uuid": ${vnf-data.vnf-topology.onap-model-information.model-invariant-uuid},
133                                         "model-customization-uuid": ${vnf-data.vnf-topology.onap-model-information.model-customization-uuid},
134                                         "model-uuid": ${vnf-data.vnf-topology.onap-model-information.model-uuid},
135                                         "model-version": ${vnf-data.vnf-topology.onap-model-information.model-version},
136                                         "model-name": ${vnf-data.vnf-topology.onap-model-information.model-name},
137                                 },
138                                 "vnf-resource-assignments": {
139                                         "vnf-status": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-status},
140                                         "availability-zones": {
141                                                 "availability-zone": [
142 ${repeat:vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length:
143                                                         ${vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[${1}]},
144 }
145                                                 ]
146                                         },
147                                         "vnf-networks": {
148                                                 "vnf-network": [
149 ${repeat:vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length:
150                                                         {
151                                                                 "network-role": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].network-role},
152                                                                 "network-name": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].network-name},
153                                                                 "neutron-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].neutron-id},
154                                                                 "network-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].network-id},
155                                                                 "contrail-network-fqdn": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].contrail-network-fqdn},
156                                                                 "subnets-data": {
157                                                                         "subnet-data": [
158 ${repeat:vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data_length:
159                                                                                 {
160                                                                                         "sdnc-subnet-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].sdnc-subnet-id},
161                                                                                         "subnet-role": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-role},
162                                                                                         "subnet-name": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-name},
163                                                                                         "ip-version": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].ip-version},
164                                                                                         "subnet-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-id},
165                                                                                         "dhcp-enabled": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].dhcp-enabled},
166                                                                                         "network-start-address": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].network-start-address},
167                                                                                         "gateway-address": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].gateway-address},
168                                                                                         "cidr-mask": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].cidr-mask}
169                                                                                 },
170 }
171                                                                         ]
172                                                                 },
173                                                                 "is-trunked": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].is-trunked},
174                                                                 "segmentation-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].segmentation-id},
175                                                                 "related-networks": {
176                                                                         "related-network": [
177 ${repeat:vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network_length:
178                                                                                 {
179                                                                                         "network-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].network-id},
180                                                                                         "network-role": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].network-role},
181                                                                                         "vlan-tags": {
182                                                                                                 "vlan-interface": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.vlan-interface},
183                                                                                                 "upper-tag-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.upper-tag-id},
184                                                                                                 "lower-tag-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.lower-tag-id},
185                                                                                                 "is-private": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.is-private}
186                                                                                         }
187                                                                                 },
188 }
189                                                                         ]
190                                                                 }
191                                                         },
192 }
193                                                 ]
194                                         }
195                                 },
196                                 "vnf-parameters-data": {
197                                         "param": [
198 ${repeat:vnf-data.vnf-topology.vnf-parameters-data.param_length:
199                                                 {
200                                                         "name": ${vnf-data.vnf-topology.vnf-parameters-data.param[${1}].name},
201                                                         "value": ${vnf-data.vnf-topology.vnf-parameters-data.param[${1}].value}
202                                                 },
203 }
204                                         ]
205                                 },
206                                 "sdnc-generated-cloud-resources": ${vnf-data.vnf-topology.sdnc-generated-cloud-resources},
207                         },
208                         "vnf-network-collections": {
209                                 "vnf-network-collection": [
210 ${repeat:vnf-data.vnf-network-collections.vnf-network-collection_length:
211                                         {
212                                                 "network-instance-group-function": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].network-instance-group-function},
213                                                 "network-instance-group-id": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].network-instance-group-id},
214                                                 "network-collection-service-instance-id": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].network-collection-service-instance-id},
215                                                 "network-collection-customization-uuid": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].network-collection-customization-uuid},
216                                                 "networks": {
217                                                         "network": [
218 ${repeat:vnf-data.vnf-network-collections.vnf-network-collection[${1}].networks.network_length:
219                                                                 {
220                                                                         "network-id": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].networks.network[${2}].network-id},
221                                                                         "neutron-network-id": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].networks.network[${2}].neutron-network-id}
222                                                                 },
223 }
224                                                         ]
225                                                 },
226                                                 "vnf-floating-ip": {
227                                                         "ip-addresses": {
228                                                                 "ipv4-address": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].vnf-floating-ip.ip-addresses.ipv4-address},
229                                                                 "ipv6-address": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].vnf-floating-ip.ip-addresses.ipv6-address},
230                                                                 "vipv4-address": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].vnf-floating-ip.ip-addresses.vipv4-address},
231                                                                 "vipv6-address": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].vnf-floating-ip.ip-addresses.vipv6-address}
232                                                         }
233                                                 }
234                                         },
235 }
236                                 ]
237                         },
238                         "vnf-level-oper-status": {
239                                 "order-status": ${vnf-data.vnf-level-oper-status.order-status},
240                                 "last-rpc-action": ${vnf-data.vnf-level-oper-status.last-rpc-action},
241                                 "last-action": ${vnf-data.vnf-level-oper-status.last-action},
242                                 "last-svc-request-id": ${vnf-data.vnf-level-oper-status.last-svc-request-id},
243                                 "last-order-status": ${vnf-data.vnf-level-oper-status.last-order-status},
244                                 "create-timestamp": ${vnf-data.vnf-level-oper-status.create-timestamp},
245                                 "modify-timestamp": ${vnf-data.vnf-level-oper-status.modify-timestamp}
246                         }
247                 }
248         }]
249 }
250