A shell, called vsh, based on curl, for mixing API calls to vCloud providers (such as Terremark and Skyscape) and general bash syntax.
Provides a script syntax (.vsh files) that can execute a sequence of commands.
Uses good ol'fashioned netrc files for managing credentials securely. Works properly with proxies, using curlrc files.
vCloud Curl Tools
-
consider integration with logger, so we can start doing some audit recording
-
Refactor
- metadata API calls
- caching (key generation is cacheable)
- loop over href / mimeType / rel / name normalisation
- make more variables readonly (perhaps register a function that makes variables readonly in main?)
- generic format logic?
- upload logic for media should be used for vAppTemplates
- remove logic for media should be used for vAppTemplates
-
support CentOS and Debian paths
-
support background downloading of OVF
-
build
- replace list of validate checks for defaults
- generate help for commands in shell
- generate help block
- man page
-
records and queries
- references / records / idrecords for EdgeGateways, VDC networks
- ditto for /api/query
-
FIX METADATA format (eg org-metadata) (prefixes)
-
FIX task formatting - seems broken for enableDownload?
-
FIX curl to check 7.21.5 added --netrc-file
- https://api.vcd.portal.skyscapecloud.com/api/vdc/2ed07e0b-ec25-44f4-9477-0b53de01bbd6/action/instantiateOvf application/vnd.vmware.vcloud.instantiateOvfParams+xml add
- https://api.vcd.portal.skyscapecloud.com/api/vdc/2ed07e0b-ec25-44f4-9477-0b53de01bbd6/action/instantiateVAppTemplate application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml add
- https://api.vcd.portal.skyscapecloud.com/api/vdc/2ed07e0b-ec25-44f4-9477-0b53de01bbd6/disk application/vnd.vmware.vcloud.diskCreateParams+xml add
##examples find a way to validate formats refactor formats
vdc/vAppTemplate/ download and enableDownload vdc/media/metadata/* (incl getValue, which could be cached, but might not be appropriate)