GitHub - vmware/vcd-api-tools: Tools to facilitate consuming vCloud Director API...
source link: https://github.com/vmware/vcd-api-tools
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
vCloud Director API Tools
The projects in this folder are tools for working with the vCloud Director APIs.
Bindings Generator
A command line tool for generating Typescript and Python bindings for vCD's XML-based REST API is available in bindings-generator
. The bindings generator can be executed like any typical application. For instance, execution through Maven:
For Typescript
:
mvn exec:java -Dexec.mainClass="com.vmware.vcloud.bindings.generator.BindingsGenerator" -Dexec.args="--help"
For Python
:
mvn exec:java -Dexec.mainClass="com.vmware.vcloud.bindings.generator.PythonBindingsGenerator" -Dexec.args="--help"
will output the usage info:
Options:
-h, --help
Prints this help message
-o, --outputDir
A directory to output custom files to. If none is specified, the output
is streamed to standard out.
-x, --overwrite
If the specified outputDir is not empty the generator will halt. Adding
this flag will DELETE the content of outputDir and force the generator
to continue
Default: false
* -p, --packages
One or more packages to scan for schema classes.
There is also a Maven plugin available at vcd-bindings-maven-plugin
to facilitate Typescript and Python generation as part of a Maven project lifecycle. Typescript can be generated for specific packages by adding the following plugin to an existing POM file:
<build>
<plugins>
<plugin>
<groupId>com.vmware.vcloud</groupId>
<artifactId>vcd-bindings-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate-typescript</goal>
</goals>
</execution>
</executions>
<configuration>
<packages>
<package>com.vmware.vcloud.api.rest.schema.ovf</package>
<package>com.vmware.vcloud.api.rest.schema.ovf.environment</package>
<package>com.vmware.vcloud.api.rest.schema.ovf.vmware</package>
<package>com.vmware.vcloud.api.rest.schema.versioning</package>
<package>com.vmware.vcloud.api.rest.schema_v1_5</package>
<package>com.vmware.vcloud.api.rest.schema_v1_5.extension</package>
</packages>
</configuration>
<dependencies>
<dependency>
<groupId>com.vmware.vcloud</groupId>
<artifactId>rest-api-bindings</artifactId>
<version>9.1.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
For python, you need to change the goal to generate-python
, in the above plugin to an existing POM file, e.g., update <goal>generate-typescript</goal>
to <goal>generate-python</goal>
.
This will output a collection of classes, enums, and barrels that are ready for transpilation.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK