You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 3
Next »
Introduction
This document explains what conventions and coding guidelines to follow when writing new API(s) for CloudStack/updating the existing ones.
References
Instructions
Writing CS API Request
Writing CS API Response
API placement and registration
Command placement depends on whether is command is coming as a part of plugin that can be enabled/disabled, or CloudStack core base.
When command comes as a part of CS core base
- Location: The request/response code should be placed in cloud-api package (src/org/apache/cloudstack/api)
- Access permissions: The command's access control permissions (who is eligible to call should be registered in commands.properties.in file
- Command registration: The command should be added to the list of all APIs CS supports, returned by ManagementServerImpl. getCommands()
When command comes as a part of plugin/service
- Location: Define the command (request/response) in the plugin package
- Access Permissions: Define the permissions in the Cmd file, @APICommand annotation, "authorized" field. Example: authorized = {RoleType.Admin})
- Command Registration: Make your plugin manager to extent PluggableService interface. Add new API command to the list of commands returned by
getCommands()