17dee449573af2bfe9abf9abcdfcac4073aadf79
[cli.git] /
1 # Copyright © Intel Corporation 2019\r
2 #\r
3 # Licensed under the Apache License, Version 2.0 (the "License");\r
4 # you may not use this file except in compliance with the License.\r
5 # You may obtain a copy of the License at\r
6 #\r
7 #     http://www.apache.org/licenses/LICENSE-2.0\r
8 #\r
9 # Unless required by applicable law or agreed to in writing, software\r
10 # distributed under the License is distributed on an "AS IS" BASIS,\r
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
12 # See the License for the specific language governing permissions and\r
13 # limitations under the License.\r
14 \r
15 open_cli_schema_version: 1.0\r
16 name: service-create\r
17 description: Create a service instance using SO\r
18 \r
19 info:\r
20   product: onap-dublin\r
21   service: so\r
22   author: ONAP CLI Team onap-discuss@lists.onap.org\r
23 \r
24 parameters:\r
25   - name: cloud-region\r
26     description: cloud region identifier\r
27     type: string\r
28     short_option: l\r
29     long_option: cloud-region\r
30     is_optional: true\r
31   - name: tenant-id\r
32     description: tenant id\r
33     type: string\r
34     short_option: t\r
35     long_option: tenant-id\r
36     is_optional: true\r
37   - name: model-invariant-id\r
38     description: model invariant id generated by ASDC.\r
39     type: string\r
40     short_option: e\r
41     long_option: model-invariant-id\r
42     is_optional: false\r
43   - name: model-uuid\r
44     description: model uuid generated by ASDC.\r
45     type: string\r
46     short_option: g\r
47     long_option: model-uuid\r
48     is_optional: false\r
49   - name: model-name\r
50     description: model name as provided in ASDC design time.\r
51     type: string\r
52     short_option: i\r
53     long_option: model-name\r
54     is_optional: false\r
55   - name: model-version\r
56     description: model-version\r
57     type: string\r
58     short_option: j\r
59     long_option: model-version\r
60     is_optional: false\r
61   - name: model-version-id\r
62     description: model-version-id\r
63     type: string\r
64     short_option: n\r
65     long_option: model-version-id\r
66     is_optional: false\r
67   - name: customer\r
68     description: unique id for customer\r
69     type: string\r
70     short_option: c\r
71     long_option: customer\r
72     is_optional: false\r
73   - name: requestor-id\r
74     description: requestor ID\r
75     type: string\r
76     short_option: q\r
77     long_option: requestor-id\r
78     is_optional: false\r
79   - name: instance-name\r
80     description: service instance name\r
81     type: string\r
82     short_option: k\r
83     long_option: instance-name\r
84     is_optional: false\r
85   - name: supress-rollback\r
86     description: rollback changes if instantiation fails.\r
87     type: bool\r
88     short_option: r\r
89     long_option: supress-rollback\r
90     is_optional: true\r
91   - name: service-type\r
92     description: subscription service type\r
93     type: string\r
94     short_option: w\r
95     long_option: service-type\r
96     is_optional: false\r
97   - name: ala-carte\r
98     description: ala carte flag, defaults to true\r
99     type: string\r
100     short_option: a\r
101     long_option: ala-carte\r
102     is_optional: true\r
103     default_value: true\r
104   - name: customer-latitude\r
105     description: customer latitude, part of customer location\r
106     type: string\r
107     short_option: f\r
108     long_option: customer-latitude\r
109     is_optional: true\r
110   - name: customer-longitude\r
111     description: customer longitude, part of customer location\r
112     type: string\r
113     short_option: d\r
114     long_option: customer-longitude\r
115     is_optional: true\r
116   - name: customer-name\r
117     description: customer name, part of customer location\r
118     type: string\r
119     short_option: y\r
120     long_option: customer-name\r
121     is_optional: true\r
122   - name: homing-solution\r
123     description: homing solution to use [oof|sniro]\r
124     type: string\r
125     short_option: h\r
126     long_option: homing-solution\r
127     is_optional: true\r
128   - name: orchestrator\r
129     description: orchestrator to use [multicloud|openstack(default)]\r
130     type: string\r
131     short_option: o\r
132     long_option: orchestrator\r
133     is_optional: true\r
134   - name: api\r
135     description: api to use [GR_API|VNF_API]\r
136     type: string\r
137     short_option: p\r
138     long_option: api\r
139     is_optional: true\r
140     default_value: GR_API\r
141   - name: subscriber-name\r
142     description: subscriber name\r
143     type: string\r
144     short_option: s\r
145     long_option: subscriber-name\r
146     is_optional: true\r
147   - name: project-name\r
148     description: project name\r
149     type: string\r
150     short_option: x\r
151     long_option: project-name\r
152     is_optional: true\r
153   - name: owning-entity-id\r
154     description: owning entity id\r
155     type: string\r
156     short_option: z\r
157     long_option: owning-entity-id\r
158     is_optional: true\r
159   - name: owning-entity-name\r
160     description: owning entity name\r
161     type: string\r
162     short_option: m\r
163     long_option: owning-entity-name\r
164     is_optional: true\r
165 \r
166 results:\r
167   direction: portrait\r
168   attributes:\r
169     - name: service-id\r
170       description: instance id for the created service.\r
171       type: string\r
172       scope: short\r
173 \r
174 \r
175 http:\r
176   service:\r
177     name: so\r
178     version: v6\r
179     auth: basic\r
180     mode: direct\r
181   request:\r
182     uri: /onap/so/infra/serviceInstances/v6\r
183     method: POST\r
184     body: '{\r
185               "requestDetails":{\r
186                  "cloudConfiguration":{\r
187                     "lcpCloudRegionId":"${cloud-region}",\r
188                     "tenantId":"${tenant-id}"\r
189                  },\r
190                  "modelInfo":{\r
191                     "modelType":"service",\r
192                     "modelInvariantId":"${model-invariant-id}",\r
193                     "modelNameVersionId":"${model-uuid}",\r
194                     "modelName":"${model-name}",\r
195                     "modelVersion":"${model-version}",\r
196                     "modelVersionId":"${model-version-id}"\r
197                  },\r
198                  "subscriberInfo":{\r
199                     "globalSubscriberId":"${customer}",\r
200                     "subscriberName":"${subscriber-name}"\r
201                  },\r
202                  "requestInfo":{\r
203                     "requestorId":"${requestor-id}",\r
204                     "instanceName":"${instance-name}",\r
205                     "source":"CLI",\r
206                     "suppressRollback":"${supress-rollback}"\r
207                  },\r
208                  "requestParameters":{\r
209                     "subscriptionServiceType":"${service-type}",\r
210                     "aLaCarte":"${ala-carte}",\r
211                     "testApi":"${api}",\r
212                     "userParams":[\r
213                        {\r
214                           "name":"Customer_Location",\r
215                           "value":{\r
216                              "customerLatitude":"${customer-latitude}",\r
217                              "customerLongitude":"${customer-longitude}",\r
218                              "customerName":"${customer-name}"\r
219                           }\r
220                        },\r
221                        {\r
222                           "name":"Homing_Solution",\r
223                           "value":"${homing-solution}"\r
224                        },\r
225                        {\r
226                           "name":"orchestrator",\r
227                           "value":"${orchestrator}"\r
228                        }\r
229                     ]\r
230                  },\r
231                  "project":{\r
232                     "projectName":"${project-name}"\r
233                  },\r
234                  "owningEntity":{\r
235                     "owningEntityId":"${owning-entity-id}",\r
236                     "owningEntityName":"${owning-entity-name}"\r
237                  }\r
238               }\r
239            }'\r
240   success_codes:\r
241     - 202\r
242   result_map:\r
243     service-id: $b{$.requestReferences.instanceId}\r
244   sample_response:\r
245     body: '{\r
246               "requestReferences":{\r
247                  "instanceId":"${instance-id}",\r
248                  "requestId":"375ba428-65e7-4f2b-afb9-74735ac6bfd0"\r
249               }\r
250            }'\r