- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CloudStack43API开发指引CloudStack43离发布也不远了
CloudStack 4.3 API 开发指南
CloudStack4.3离发布也不远了,⾃从CloudStack4.1以后,其耦合度⼀步步下降,这使开发变得更
加容易,今天我们就以CloudStack4.3版本为基础,来感受⼀下如何添加⼀个新的API 。
⾸先,CloudStack4.3⾥所有的API都可认为是⼀个插件提供的服务,诸如ACL ,⺴络,主机以及管
理服务器;并且这些服务在启动的时候会⾃动发现并添加。那么我们该如何在CloudStack4.3下编写
API呢?我们接下来从⼀个简单的例⼦⼊⼿来⼀步步实现。
需求:调⽤API获得管理服务器的系统信息,⽐如操作系统,CPU ,内存等信息。
API名称:getMgmtCapacity
CloudStack下的开发假定你熟悉Java ,Maven以及Eclipse集成开发环境。
如上所说,CloudStack⾥所有的API都是插件服务了,与其它模块的依赖关系没那么强,因此,除了
要加⼊⼯程编译动到其它的部分,基本上不需要依赖其它的模块。以下是具体的步骤,如何添加新
的API到CloudStack⼯程:
1. 我们假定CloudStack的源代码根⺫录是/opt/cloudstack, 我们⽤git clone源码后,通过git
checkout 4.3来转到4.3的分⽀,然后我们要为开发的插件创建⼀个新的⺫录,是/opt/cloudstack/
plugins/api/mgmtcap
执⾏:7]
cd /opt; git clone /repos/asf/cloudstack.git
然后执⾏:
git checkout 4.3
2. 在/opt/cloudstack/plugins/api/mgmtcap下新建⼀个Maven项⺫⽂件pom.xml,内容如下(去掉
ACL2.0的声明):
project xmlns=/POM/4.0.0
xmlns:xsi=/2001/XMLSchema-instance
xsi:schemaLocation=/POM/4.0.0
/xsd/maven-4.0.0.xsd
modelVersion4.0.0/modelVersion
artifactIdcloud-plugin-api-mgmtcap/artifactId
nameApache CloudStack Plugin - Management Capacity/name
parent
groupIdorg.apache.cloudstack/groupId
artifactIdcloudstack-plugins/artifactId
version4.3.0-SNAPSHOT/version
relativePath../../pom.xml/relativePath
/parent
dependencies
dependency
groupIdorg.apache.cloudstack/groupId
artifactIdcloud-api/artifactId
version${project.version}/version
/dependency
dependency
groupIdorg.apache.cloudstack/groupId
artifactIdcloud-utils/artifactId
version${project.version}/version
/dependency
/dependencies
build
defaultGoalinstall/defaultGoal
sourceDirectorysrc/sourceDirectory
testSourceDirectorytest/testSourceDirectory
plugins
plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-surefire-plugin/artifactId
configur
文档评论(0)