JCLI, an Alibaba Cloud API Tool that Gives You More Freedom
Created#More Posted time:Oct 14, 2016 15:42 PM
Show your respect to AliyunCLI. It is undeniable that it is very easy to use. With it, API requests can be initiated directly, but it needs to rely on a specific SDK and is unable to identify commands not included in the SDK. This limitation inspired me to design a new CLI tool with more freedom. With it, you can directly use it as soon as the API is updated. You do not need to wait for the iterative update of the SDK.
1. It does not rely on any SDK; it completely uses the parameters passed by the user; it is dedicated to splicing the URL (You can use it as long as the API supports it. Whether the SDK is updated or not does not matter).
2. Benefiting from the excellent cross-platform nature of Java, this program runs smoothly in a variety of systems. Using the jar file, you can run it in Windows, MacOS or Linux (Of course Solaris is included too).
3. Most of its commands are compatible with the AliyunCLI. With just a few minutes’ study, those who are able to use the AliyunCLI can master JCLI very quickly.
4. It can support Chinese characters well. The actual test shows that Chinese characters can be displayed correctly in both Windows and Linux.
5. For the services which support HTTPS, HTTPS will take priority to improve security.
1. The first advantage mentioned above is also its defect. Since it does not rely on the SDK, it cannot validate incoming Actions. Sometimes even if you enter a wrong Action, it will still generate a URL. But as the saying goes, “You cannot have it both ways”. If you gain a lot of flexibility, losing a little robustness will be acceptable.
2. Some unknown code bug … (Although I have worked very hard to imagine any possible situation and have implemented some fault-tolerance, there still may be some issues.)
2. The jar package includes all dependent non-JRE jar packages. Theoretically you do not need to introduce any dependent package.
The compressed package contains some encapsulated scripts, detailed program documentation and the jar itself for Windows and Linux. Only one attachment can be uploaded due to restrictions. The zip package contains all the files mentioned above.
Since the JCLI does not use the SDK, once you add a supported service, you can use it forever (The premise is that the common parameters and request address are not modified). After the current test, the JCLI supports the following services (At present, they are hard coded. I will consider a more flexible approach in the future):
Available ServiceType: RDS | DOMAIN | ESS | SLB | CMS | VPC | EMR | CDN | ACTIONTRAILS | ECS | ALIDNS | DRDS | RAM
At runtime, if the JCLI is unable to parse a parameter, it will take the initiative to print it out. This makes debugging easier.