You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
6 years ago
|
$ cat source_post | arya.py -s
|
||
|
#!/usr/bin/env python
|
||
|
'''
|
||
|
Autogenerated code using arya.py
|
||
|
Original Object Document Input:
|
||
|
{"fvTenant":{"attributes":{"dn":"uni/tn-Prox_Tenant","name":"Prox_Tenant","rn":"tn-Prox_Tenant","status":"created"},"children":[{"fvCtx":{"attributes":{"dn":"uni/tn-Prox_Tenant/ctx-Prox_VRF","name":"Prox_VRF","rn":"ctx-Prox_VRF","status":"created"},"children":[]}}]}}
|
||
|
'''
|
||
|
raise RuntimeError('Please review the auto generated code before ' +
|
||
|
'executing the output. Some placeholders will ' +
|
||
|
'need to be changed')
|
||
|
|
||
|
# list of packages that should be imported for this code to work
|
||
|
import cobra.mit.access
|
||
|
import cobra.mit.request
|
||
|
import cobra.mit.session
|
||
|
import cobra.model.fv
|
||
|
import cobra.model.pol
|
||
|
from cobra.internal.codec.xmlcodec import toXMLStr
|
||
|
|
||
|
# log into an APIC and create a directory object
|
||
|
ls = cobra.mit.session.LoginSession('https://1.1.1.1', 'admin', 'password')
|
||
|
md = cobra.mit.access.MoDirectory(ls)
|
||
|
md.login()
|
||
|
|
||
|
# the top level object on which operations will be made
|
||
|
topMo = cobra.model.pol.Uni('')
|
||
|
|
||
|
|
||
|
# build the request using cobra syntax
|
||
|
fvTenant = cobra.model.fv.Tenant(topMo, name='Prox_Tenant')
|
||
|
fvCtx = cobra.model.fv.Ctx(fvTenant, name='Prox_VRF')
|
||
|
|
||
|
|
||
|
# commit the generated code to APIC
|
||
|
print(toXMLStr(topMo))
|
||
|
c = cobra.mit.request.ConfigRequest()
|
||
|
c.addMo(topMo)
|
||
|
md.commit(c)
|