Fit2Cloud是一个建立在IaaS之上的DevOps协作平台,帮助开发人员、测试人员以及运维人员实现应用全生命周期的 自动化管理,包括创建环境、软件安装、代码部署、自动配置、监控告警和自动伸缩等。Fit2Cloud打通了从代码到服务的 转化通道,实现了云应用的持续交付和自动化运维,极大地提高了开发和运维的效率。
在亚马逊(AWS)云生态圈中,AWS及其合作伙伴提供了多种应用部署和管理工具,比如CloudFormation、Opsworks、 Beanstalk、Rightscale、Scalr等,但是在阿里云生态圈中目前没有这样的工具,可以说Fit2Cloud填补了这个空白。
我们在开发FIT2CLOUD for 阿里云过程中,需要调用ECS API进行各种操作。 我们的后端采用的是Java语言,所以我们使用java语言完整封装了ECS的API。 我们相信云计算的使用哲学是通过API(或者基于API的第三方工具)来动态管理资源, 因此我们决定将我们封装好的ECS API Java SDK开源出去。
<!-- repository -->
<repositories>
<repository>
<id>fit2cloud</id>
<url>http://repository.fit2cloud.com/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<!-- dependency -->
<dependency>
<groupId>com.fit2cloud</groupId>
<artifactId>aliyun-api-java-wrapper</artifactId>
<version>1.1</version>
</dependency>
String ACCESS_KEY_ID = "你的阿里云API Access key";
String ACCESS_KEY_SECRET = "你的阿里云API Secret key";
ECSClient client = new ECSClient(new AliyunCredentials(ACCESS_KEY_ID, ACCESS_KEY_SECRET));
ListRegionsResponse response = client.listRegions();
目前仅封装了ECS相关API,包括
- allocatePublicIp: 为虚机分配公有IP
- attachDisk: 为虚机添加独立云磁盘
- authorizeSecurityGroup: 为安全组添加规则
- createDisk: 创建独立云磁盘
- createImage: 创建镜像
- createInstance: 创建虚机
- createSecurityGroup: 创建安全组
- createSnapshot: 创建快照
- deleteDisk: 删除独立云磁盘
- deleteImage: 删除镜像
- deleteInstance: 删除虚机
- deleteSecurityGroup: 删除安全组
- deleteSnapshot: 删除快照
- detachDisk: 从虚机移除独立云磁盘
- getInstance: 获取虚机信息
- joinSecurityGroup: 将虚机加入安全组
- leaveSecurityGroup: 将虚机移除出安全组
- listAutoSnapshotPolicy: 获取自动快照策略
- listDisks: 获取磁盘列表
- listImages: 获取镜像列表
- listInstanceMonitorData: 获取指定监控数据
- listInstances: 获取虚机列表
- listInstanceType: 获取虚机类型列表
- listRegions: 获取数据中心列表
- listSecurityGroups: 获取安全组列表
- listSecurityPermissions: 获取安全组规则列表
- listSnapshots: 获取快照列表
- listZones: 获取可用区列表
- modifyAutoSnapshotPolicy: 修改自动快照策略
- modifyDiskAttribute: 修改独立云磁盘参数
- modifyInstanceAttribute: 修改虚机参数
- rebootInstance: 重启虚机
- reInitDisk: 重新初始化磁盘
- replaceSystemDisk: 替换系统盘
- resetDisk: 使用指定磁盘自身的快照回滚磁盘内容
- revokeSecurityGroup: 取消安全组规则
- startInstance: 启动虚机
- stopInstance: 暂停虚机
每个API调用都会有两类异常:
- AliyunClientException: 客戶端錯誤,比如网络问题
- AliyunServiceException: 服务器端错误,阿里云会返回错误代码和具体消息
目前支持的ECS API版本为: API 版本 2014-05-26