@itentialopensource/adapter-apic 0.12.2 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CALLS.md +138 -0
- package/adapter.js +2078 -0
- package/adapterBase.js +38 -0
- package/entities/ApplicationProfileOperations/action.json +25 -0
- package/entities/ApplicationProfileOperations/schema.json +19 -0
- package/entities/BridgeDomainOperations/action.json +65 -0
- package/entities/BridgeDomainOperations/schema.json +21 -0
- package/entities/EPGOperations/action.json +86 -0
- package/entities/EPGOperations/schema.json +33 -0
- package/entities/TenantOperations/action.json +87 -0
- package/entities/TenantOperations/schema.json +22 -0
- package/entities/VLANPoolOperations/action.json +147 -0
- package/entities/VLANPoolOperations/schema.json +25 -0
- package/entities/VMMDomainOperations/action.json +46 -0
- package/entities/VMMDomainOperations/schema.json +31 -0
- package/entities/VRFOperations/action.json +45 -0
- package/entities/VRFOperations/schema.json +20 -0
- package/package.json +2 -2
- package/pronghorn.json +1104 -2
- package/report/adapterInfo.json +7 -7
- package/report/cisco-aci-apic-openapi.json +801 -0
- package/test/integration/adapterTestIntegration.js +585 -0
- package/test/unit/adapterBaseTestUnit.js +1 -1
- package/test/unit/adapterTestUnit.js +820 -0
|
@@ -0,0 +1,801 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.0.3",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "Cisco ACI APIC REST API",
|
|
5
|
+
"description": "Complete API specification for Cisco ACI APIC REST API operations with all 29 endpoints from the original Postman collection.\n\n**SSL Certificate Note**: Cisco ACI sandbox environments use self-signed certificates. For Itential Platform users, set \"rejectUnauthorized\": false in your TLS configuration.\n\n**Authentication Workflow**: First call /aaaLogin.json to get APIC-Cookie, then use the cookie in all subsequent requests.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"contact": {
|
|
8
|
+
"name": "Cisco ACI API Support",
|
|
9
|
+
"url": "https://developer.cisco.com/docs/aci/"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"servers": [
|
|
13
|
+
{
|
|
14
|
+
"url": "https://sandboxapicdc.cisco.com/api",
|
|
15
|
+
"description": "Cisco ACI Sandbox Environment"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"security": [
|
|
19
|
+
{
|
|
20
|
+
"cookieAuth": []
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"paths": {
|
|
24
|
+
"/aaaLogin.json": {
|
|
25
|
+
"post": {
|
|
26
|
+
"tags": ["Authentication"],
|
|
27
|
+
"summary": "Login to APIC",
|
|
28
|
+
"operationId": "login",
|
|
29
|
+
"security": [],
|
|
30
|
+
"requestBody": {
|
|
31
|
+
"required": true,
|
|
32
|
+
"content": {
|
|
33
|
+
"application/json": {
|
|
34
|
+
"schema": {
|
|
35
|
+
"$ref": "#/components/schemas/LoginRequest"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"responses": {
|
|
41
|
+
"200": {
|
|
42
|
+
"description": "Successful authentication",
|
|
43
|
+
"content": {
|
|
44
|
+
"application/json": {
|
|
45
|
+
"schema": {
|
|
46
|
+
"$ref": "#/components/schemas/LoginResponse"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"/aaaRefresh.json": {
|
|
55
|
+
"get": {
|
|
56
|
+
"tags": ["Authentication"],
|
|
57
|
+
"summary": "Refresh Session",
|
|
58
|
+
"operationId": "refreshSession",
|
|
59
|
+
"responses": {
|
|
60
|
+
"200": {
|
|
61
|
+
"description": "Session refreshed",
|
|
62
|
+
"content": {
|
|
63
|
+
"application/json": {
|
|
64
|
+
"schema": {
|
|
65
|
+
"$ref": "#/components/schemas/LoginResponse"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"/aaaLogout.json": {
|
|
74
|
+
"post": {
|
|
75
|
+
"tags": ["Authentication"],
|
|
76
|
+
"summary": "Logout",
|
|
77
|
+
"operationId": "logout",
|
|
78
|
+
"requestBody": {
|
|
79
|
+
"required": true,
|
|
80
|
+
"content": {
|
|
81
|
+
"application/json": {
|
|
82
|
+
"schema": {
|
|
83
|
+
"$ref": "#/components/schemas/LogoutRequest"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"responses": {
|
|
89
|
+
"200": {
|
|
90
|
+
"description": "Successfully logged out"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"/class/fvTenant.json": {
|
|
96
|
+
"get": {
|
|
97
|
+
"tags": ["Tenant Operations"],
|
|
98
|
+
"summary": "Get All Tenants",
|
|
99
|
+
"operationId": "getAllTenants",
|
|
100
|
+
"responses": {
|
|
101
|
+
"200": {
|
|
102
|
+
"description": "List of tenants"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"/mo/uni/tn-{tenantName}.json": {
|
|
108
|
+
"get": {
|
|
109
|
+
"tags": ["Tenant Operations"],
|
|
110
|
+
"summary": "Get Specific Tenant",
|
|
111
|
+
"operationId": "getTenant",
|
|
112
|
+
"parameters": [
|
|
113
|
+
{
|
|
114
|
+
"name": "tenantName",
|
|
115
|
+
"in": "path",
|
|
116
|
+
"required": true,
|
|
117
|
+
"schema": {
|
|
118
|
+
"type": "string"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"responses": {
|
|
123
|
+
"200": {
|
|
124
|
+
"description": "Tenant details"
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"post": {
|
|
129
|
+
"tags": ["VRF Operations"],
|
|
130
|
+
"summary": "Create Resources in Tenant",
|
|
131
|
+
"operationId": "createTenantResource",
|
|
132
|
+
"parameters": [
|
|
133
|
+
{
|
|
134
|
+
"name": "tenantName",
|
|
135
|
+
"in": "path",
|
|
136
|
+
"required": true,
|
|
137
|
+
"schema": {
|
|
138
|
+
"type": "string"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"requestBody": {
|
|
143
|
+
"required": true,
|
|
144
|
+
"content": {
|
|
145
|
+
"application/json": {
|
|
146
|
+
"schema": {
|
|
147
|
+
"type": "object"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"responses": {
|
|
153
|
+
"200": {
|
|
154
|
+
"description": "Resource created successfully"
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"/mo/uni/tn-{tenantName}.json?rsp-subtree=full&rsp-prop-include=config-only": {
|
|
160
|
+
"get": {
|
|
161
|
+
"tags": ["Tenant Operations"],
|
|
162
|
+
"summary": "Get Tenant with Full Subtree",
|
|
163
|
+
"operationId": "getTenantWithFullSubtree",
|
|
164
|
+
"parameters": [
|
|
165
|
+
{
|
|
166
|
+
"name": "tenantName",
|
|
167
|
+
"in": "path",
|
|
168
|
+
"required": true,
|
|
169
|
+
"schema": {
|
|
170
|
+
"type": "string"
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
"responses": {
|
|
175
|
+
"200": {
|
|
176
|
+
"description": "Tenant with full configuration"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"/mo/uni.json": {
|
|
182
|
+
"post": {
|
|
183
|
+
"tags": ["Tenant Operations", "Complete Configuration Flow"],
|
|
184
|
+
"summary": "Create Tenant or Complete Environment",
|
|
185
|
+
"operationId": "createTenantOrEnvironment",
|
|
186
|
+
"requestBody": {
|
|
187
|
+
"required": true,
|
|
188
|
+
"content": {
|
|
189
|
+
"application/json": {
|
|
190
|
+
"schema": {
|
|
191
|
+
"type": "object"
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"responses": {
|
|
197
|
+
"200": {
|
|
198
|
+
"description": "Resource created successfully"
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"/class/fvCtx.json": {
|
|
204
|
+
"get": {
|
|
205
|
+
"tags": ["VRF Operations"],
|
|
206
|
+
"summary": "Get All VRFs",
|
|
207
|
+
"operationId": "getAllVRFs",
|
|
208
|
+
"responses": {
|
|
209
|
+
"200": {
|
|
210
|
+
"description": "List of VRFs"
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"/class/fvBD.json": {
|
|
216
|
+
"get": {
|
|
217
|
+
"tags": ["Bridge Domain Operations"],
|
|
218
|
+
"summary": "Get All Bridge Domains",
|
|
219
|
+
"operationId": "getAllBridgeDomains",
|
|
220
|
+
"responses": {
|
|
221
|
+
"200": {
|
|
222
|
+
"description": "List of bridge domains"
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
"/mo/uni/tn-{tenantName}/relayp-{dhcpRelayPolicyName}.json": {
|
|
228
|
+
"post": {
|
|
229
|
+
"tags": ["Bridge Domain Operations"],
|
|
230
|
+
"summary": "Configure DHCP Relay Policy",
|
|
231
|
+
"operationId": "createDHCPRelayPolicy",
|
|
232
|
+
"parameters": [
|
|
233
|
+
{
|
|
234
|
+
"name": "tenantName",
|
|
235
|
+
"in": "path",
|
|
236
|
+
"required": true,
|
|
237
|
+
"schema": {
|
|
238
|
+
"type": "string"
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "dhcpRelayPolicyName",
|
|
243
|
+
"in": "path",
|
|
244
|
+
"required": true,
|
|
245
|
+
"schema": {
|
|
246
|
+
"type": "string"
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
],
|
|
250
|
+
"requestBody": {
|
|
251
|
+
"required": true,
|
|
252
|
+
"content": {
|
|
253
|
+
"application/json": {
|
|
254
|
+
"schema": {
|
|
255
|
+
"type": "object"
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
"responses": {
|
|
261
|
+
"200": {
|
|
262
|
+
"description": "DHCP relay policy created"
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
"/mo/uni/tn-{tenantName}/BD-{bdName}.json": {
|
|
268
|
+
"post": {
|
|
269
|
+
"tags": ["Bridge Domain Operations"],
|
|
270
|
+
"summary": "Associate DHCP Relay Policy to BD",
|
|
271
|
+
"operationId": "associateDHCPRelayToBD",
|
|
272
|
+
"parameters": [
|
|
273
|
+
{
|
|
274
|
+
"name": "tenantName",
|
|
275
|
+
"in": "path",
|
|
276
|
+
"required": true,
|
|
277
|
+
"schema": {
|
|
278
|
+
"type": "string"
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"name": "bdName",
|
|
283
|
+
"in": "path",
|
|
284
|
+
"required": true,
|
|
285
|
+
"schema": {
|
|
286
|
+
"type": "string"
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
],
|
|
290
|
+
"requestBody": {
|
|
291
|
+
"required": true,
|
|
292
|
+
"content": {
|
|
293
|
+
"application/json": {
|
|
294
|
+
"schema": {
|
|
295
|
+
"type": "object"
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
"responses": {
|
|
301
|
+
"200": {
|
|
302
|
+
"description": "DHCP relay policy associated"
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
"/class/fvAp.json": {
|
|
308
|
+
"get": {
|
|
309
|
+
"tags": ["Application Profile Operations"],
|
|
310
|
+
"summary": "Get All Application Profiles",
|
|
311
|
+
"operationId": "getAllApplicationProfiles",
|
|
312
|
+
"responses": {
|
|
313
|
+
"200": {
|
|
314
|
+
"description": "List of application profiles"
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
"/class/fvAEPg.json": {
|
|
320
|
+
"get": {
|
|
321
|
+
"tags": ["EPG Operations"],
|
|
322
|
+
"summary": "Get All EPGs",
|
|
323
|
+
"operationId": "getAllEPGs",
|
|
324
|
+
"responses": {
|
|
325
|
+
"200": {
|
|
326
|
+
"description": "List of EPGs"
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"/node/class/fvAEPg.json": {
|
|
332
|
+
"get": {
|
|
333
|
+
"tags": ["EPG Operations"],
|
|
334
|
+
"summary": "Get EPGs in Tenant",
|
|
335
|
+
"operationId": "getEPGsInTenant",
|
|
336
|
+
"parameters": [
|
|
337
|
+
{
|
|
338
|
+
"name": "query-target-filter",
|
|
339
|
+
"in": "query",
|
|
340
|
+
"required": true,
|
|
341
|
+
"schema": {
|
|
342
|
+
"type": "string"
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
],
|
|
346
|
+
"responses": {
|
|
347
|
+
"200": {
|
|
348
|
+
"description": "List of EPGs in tenant"
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
"/mo/uni/tn-{tenantName}/ap-{appProfileName}.json": {
|
|
354
|
+
"post": {
|
|
355
|
+
"tags": ["EPG Operations"],
|
|
356
|
+
"summary": "Create EPG with BD and VMM Association",
|
|
357
|
+
"operationId": "createEPGWithVMM",
|
|
358
|
+
"parameters": [
|
|
359
|
+
{
|
|
360
|
+
"name": "tenantName",
|
|
361
|
+
"in": "path",
|
|
362
|
+
"required": true,
|
|
363
|
+
"schema": {
|
|
364
|
+
"type": "string"
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"name": "appProfileName",
|
|
369
|
+
"in": "path",
|
|
370
|
+
"required": true,
|
|
371
|
+
"schema": {
|
|
372
|
+
"type": "string"
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
],
|
|
376
|
+
"requestBody": {
|
|
377
|
+
"required": true,
|
|
378
|
+
"content": {
|
|
379
|
+
"application/json": {
|
|
380
|
+
"schema": {
|
|
381
|
+
"type": "object"
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
},
|
|
386
|
+
"responses": {
|
|
387
|
+
"200": {
|
|
388
|
+
"description": "EPG created successfully"
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
},
|
|
393
|
+
"/mo/uni/tn-{tenantName}/ap-{appProfileName}/epg-{epgName}.json": {
|
|
394
|
+
"post": {
|
|
395
|
+
"tags": ["EPG Operations"],
|
|
396
|
+
"summary": "Associate EPG with VMM Domain",
|
|
397
|
+
"operationId": "associateEPGWithVMM",
|
|
398
|
+
"parameters": [
|
|
399
|
+
{
|
|
400
|
+
"name": "tenantName",
|
|
401
|
+
"in": "path",
|
|
402
|
+
"required": true,
|
|
403
|
+
"schema": {
|
|
404
|
+
"type": "string"
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"name": "appProfileName",
|
|
409
|
+
"in": "path",
|
|
410
|
+
"required": true,
|
|
411
|
+
"schema": {
|
|
412
|
+
"type": "string"
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "epgName",
|
|
417
|
+
"in": "path",
|
|
418
|
+
"required": true,
|
|
419
|
+
"schema": {
|
|
420
|
+
"type": "string"
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
],
|
|
424
|
+
"requestBody": {
|
|
425
|
+
"required": true,
|
|
426
|
+
"content": {
|
|
427
|
+
"application/json": {
|
|
428
|
+
"schema": {
|
|
429
|
+
"type": "object"
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
},
|
|
434
|
+
"responses": {
|
|
435
|
+
"200": {
|
|
436
|
+
"description": "EPG associated with VMM domain"
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
},
|
|
441
|
+
"/class/vmmDomP.json": {
|
|
442
|
+
"get": {
|
|
443
|
+
"tags": ["VMM Domain Operations"],
|
|
444
|
+
"summary": "Get All VMM Domains",
|
|
445
|
+
"operationId": "getAllVMMDomains",
|
|
446
|
+
"responses": {
|
|
447
|
+
"200": {
|
|
448
|
+
"description": "List of VMM domains"
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
"/node/class/vmmDomP.json": {
|
|
454
|
+
"get": {
|
|
455
|
+
"tags": ["VMM Domain Operations"],
|
|
456
|
+
"summary": "Get VMware VMM Domains",
|
|
457
|
+
"operationId": "getVMwareVMMDomains",
|
|
458
|
+
"parameters": [
|
|
459
|
+
{
|
|
460
|
+
"name": "query-target-filter",
|
|
461
|
+
"in": "query",
|
|
462
|
+
"required": true,
|
|
463
|
+
"schema": {
|
|
464
|
+
"type": "string"
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
],
|
|
468
|
+
"responses": {
|
|
469
|
+
"200": {
|
|
470
|
+
"description": "List of VMware VMM domains"
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
},
|
|
475
|
+
"/class/fvnsVlanInstP.json": {
|
|
476
|
+
"get": {
|
|
477
|
+
"tags": ["VLAN Pool Operations"],
|
|
478
|
+
"summary": "Get All VLAN Pools",
|
|
479
|
+
"operationId": "getAllVLANPools",
|
|
480
|
+
"responses": {
|
|
481
|
+
"200": {
|
|
482
|
+
"description": "List of VLAN pools"
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
},
|
|
487
|
+
"/mo/uni/infra/vlanns-[{vlanPoolName}]-dynamic.json": {
|
|
488
|
+
"post": {
|
|
489
|
+
"tags": ["VLAN Pool Operations"],
|
|
490
|
+
"summary": "Create Dynamic VLAN Pool",
|
|
491
|
+
"operationId": "createDynamicVLANPool",
|
|
492
|
+
"parameters": [
|
|
493
|
+
{
|
|
494
|
+
"name": "vlanPoolName",
|
|
495
|
+
"in": "path",
|
|
496
|
+
"required": true,
|
|
497
|
+
"schema": {
|
|
498
|
+
"type": "string"
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
],
|
|
502
|
+
"requestBody": {
|
|
503
|
+
"required": true,
|
|
504
|
+
"content": {
|
|
505
|
+
"application/json": {
|
|
506
|
+
"schema": {
|
|
507
|
+
"type": "object"
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
},
|
|
512
|
+
"responses": {
|
|
513
|
+
"200": {
|
|
514
|
+
"description": "Dynamic VLAN pool created"
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
"get": {
|
|
519
|
+
"tags": ["VLAN Pool Operations"],
|
|
520
|
+
"summary": "Get VLAN Pool Details",
|
|
521
|
+
"operationId": "getVLANPoolDetails",
|
|
522
|
+
"parameters": [
|
|
523
|
+
{
|
|
524
|
+
"name": "vlanPoolName",
|
|
525
|
+
"in": "path",
|
|
526
|
+
"required": true,
|
|
527
|
+
"schema": {
|
|
528
|
+
"type": "string"
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
],
|
|
532
|
+
"responses": {
|
|
533
|
+
"200": {
|
|
534
|
+
"description": "VLAN pool details"
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
},
|
|
539
|
+
"/mo/uni/infra/vlanns-[{vlanPoolName}]-static.json": {
|
|
540
|
+
"post": {
|
|
541
|
+
"tags": ["VLAN Pool Operations"],
|
|
542
|
+
"summary": "Create Static VLAN Pool",
|
|
543
|
+
"operationId": "createStaticVLANPool",
|
|
544
|
+
"parameters": [
|
|
545
|
+
{
|
|
546
|
+
"name": "vlanPoolName",
|
|
547
|
+
"in": "path",
|
|
548
|
+
"required": true,
|
|
549
|
+
"schema": {
|
|
550
|
+
"type": "string"
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
],
|
|
554
|
+
"requestBody": {
|
|
555
|
+
"required": true,
|
|
556
|
+
"content": {
|
|
557
|
+
"application/json": {
|
|
558
|
+
"schema": {
|
|
559
|
+
"type": "object"
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
},
|
|
564
|
+
"responses": {
|
|
565
|
+
"200": {
|
|
566
|
+
"description": "Static VLAN pool created"
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
},
|
|
571
|
+
"/mo/uni/vmmp-VMware/dom-{vmmDomainName}.json": {
|
|
572
|
+
"post": {
|
|
573
|
+
"tags": ["VLAN Pool Operations"],
|
|
574
|
+
"summary": "Associate VLAN Pool with VMM Domain",
|
|
575
|
+
"operationId": "associateVLANPoolWithVMM",
|
|
576
|
+
"parameters": [
|
|
577
|
+
{
|
|
578
|
+
"name": "vmmDomainName",
|
|
579
|
+
"in": "path",
|
|
580
|
+
"required": true,
|
|
581
|
+
"schema": {
|
|
582
|
+
"type": "string"
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
],
|
|
586
|
+
"requestBody": {
|
|
587
|
+
"required": true,
|
|
588
|
+
"content": {
|
|
589
|
+
"application/json": {
|
|
590
|
+
"schema": {
|
|
591
|
+
"type": "object"
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
},
|
|
596
|
+
"responses": {
|
|
597
|
+
"200": {
|
|
598
|
+
"description": "VLAN pool associated"
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
},
|
|
602
|
+
"get": {
|
|
603
|
+
"tags": ["VLAN Pool Operations"],
|
|
604
|
+
"summary": "Get VMM Domain VLAN Pool Association",
|
|
605
|
+
"operationId": "getVMMDomainVLANPoolAssociation",
|
|
606
|
+
"parameters": [
|
|
607
|
+
{
|
|
608
|
+
"name": "vmmDomainName",
|
|
609
|
+
"in": "path",
|
|
610
|
+
"required": true,
|
|
611
|
+
"schema": {
|
|
612
|
+
"type": "string"
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
],
|
|
616
|
+
"responses": {
|
|
617
|
+
"200": {
|
|
618
|
+
"description": "VMM domain VLAN pool associations"
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
},
|
|
623
|
+
"/mo/uni/infra/vlanns-[{vlanPoolName}]-dynamic/from-[vlan-{vlanStart}]-to-[vlan-{vlanEnd}].json": {
|
|
624
|
+
"post": {
|
|
625
|
+
"tags": ["VLAN Pool Operations"],
|
|
626
|
+
"summary": "Add VLAN Range to Existing Pool",
|
|
627
|
+
"operationId": "addVLANRangeToPool",
|
|
628
|
+
"parameters": [
|
|
629
|
+
{
|
|
630
|
+
"name": "vlanPoolName",
|
|
631
|
+
"in": "path",
|
|
632
|
+
"required": true,
|
|
633
|
+
"schema": {
|
|
634
|
+
"type": "string"
|
|
635
|
+
}
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"name": "vlanStart",
|
|
639
|
+
"in": "path",
|
|
640
|
+
"required": true,
|
|
641
|
+
"schema": {
|
|
642
|
+
"type": "string"
|
|
643
|
+
}
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"name": "vlanEnd",
|
|
647
|
+
"in": "path",
|
|
648
|
+
"required": true,
|
|
649
|
+
"schema": {
|
|
650
|
+
"type": "string"
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
],
|
|
654
|
+
"requestBody": {
|
|
655
|
+
"required": true,
|
|
656
|
+
"content": {
|
|
657
|
+
"application/json": {
|
|
658
|
+
"schema": {
|
|
659
|
+
"type": "object"
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
},
|
|
664
|
+
"responses": {
|
|
665
|
+
"200": {
|
|
666
|
+
"description": "VLAN range added"
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
},
|
|
672
|
+
"components": {
|
|
673
|
+
"securitySchemes": {
|
|
674
|
+
"cookieAuth": {
|
|
675
|
+
"type": "apiKey",
|
|
676
|
+
"in": "cookie",
|
|
677
|
+
"name": "APIC-cookie",
|
|
678
|
+
"description": "Session cookie obtained from login"
|
|
679
|
+
}
|
|
680
|
+
},
|
|
681
|
+
"schemas": {
|
|
682
|
+
"LoginRequest": {
|
|
683
|
+
"type": "object",
|
|
684
|
+
"required": ["aaaUser"],
|
|
685
|
+
"properties": {
|
|
686
|
+
"aaaUser": {
|
|
687
|
+
"type": "object",
|
|
688
|
+
"required": ["attributes"],
|
|
689
|
+
"properties": {
|
|
690
|
+
"attributes": {
|
|
691
|
+
"type": "object",
|
|
692
|
+
"required": ["name", "pwd"],
|
|
693
|
+
"properties": {
|
|
694
|
+
"name": {
|
|
695
|
+
"type": "string",
|
|
696
|
+
"description": "Username",
|
|
697
|
+
"example": "admin"
|
|
698
|
+
},
|
|
699
|
+
"pwd": {
|
|
700
|
+
"type": "string",
|
|
701
|
+
"description": "Password",
|
|
702
|
+
"format": "password",
|
|
703
|
+
"example": "password"
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
},
|
|
711
|
+
"LoginResponse": {
|
|
712
|
+
"type": "object",
|
|
713
|
+
"properties": {
|
|
714
|
+
"imdata": {
|
|
715
|
+
"type": "array",
|
|
716
|
+
"items": {
|
|
717
|
+
"type": "object",
|
|
718
|
+
"properties": {
|
|
719
|
+
"aaaLogin": {
|
|
720
|
+
"type": "object",
|
|
721
|
+
"properties": {
|
|
722
|
+
"attributes": {
|
|
723
|
+
"type": "object",
|
|
724
|
+
"properties": {
|
|
725
|
+
"token": {
|
|
726
|
+
"type": "string",
|
|
727
|
+
"description": "Authentication token"
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
},
|
|
738
|
+
"LogoutRequest": {
|
|
739
|
+
"type": "object",
|
|
740
|
+
"required": ["aaaUser"],
|
|
741
|
+
"properties": {
|
|
742
|
+
"aaaUser": {
|
|
743
|
+
"type": "object",
|
|
744
|
+
"required": ["attributes"],
|
|
745
|
+
"properties": {
|
|
746
|
+
"attributes": {
|
|
747
|
+
"type": "object",
|
|
748
|
+
"required": ["name"],
|
|
749
|
+
"properties": {
|
|
750
|
+
"name": {
|
|
751
|
+
"type": "string",
|
|
752
|
+
"description": "Username",
|
|
753
|
+
"example": "admin"
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
},
|
|
763
|
+
"tags": [
|
|
764
|
+
{
|
|
765
|
+
"name": "Authentication",
|
|
766
|
+
"description": "Authentication and session management operations"
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"name": "Tenant Operations",
|
|
770
|
+
"description": "Tenant management operations"
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
"name": "VRF Operations",
|
|
774
|
+
"description": "VRF (Virtual Routing and Forwarding) operations"
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"name": "Bridge Domain Operations",
|
|
778
|
+
"description": "Bridge Domain and DHCP configuration operations"
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
"name": "Application Profile Operations",
|
|
782
|
+
"description": "Application Profile management operations"
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
"name": "EPG Operations",
|
|
786
|
+
"description": "Endpoint Group management operations"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"name": "VMM Domain Operations",
|
|
790
|
+
"description": "Virtual Machine Manager domain operations"
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"name": "VLAN Pool Operations",
|
|
794
|
+
"description": "VLAN pool management operations"
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"name": "Complete Configuration Flow",
|
|
798
|
+
"description": "Complete end-to-end configuration workflows for common use cases"
|
|
799
|
+
}
|
|
800
|
+
]
|
|
801
|
+
}
|