快速入门
假设要通过API/CLI完成以一个简单任务:在基础网络中创建一台云主机,并且绑定一个公网IP地址。
Note
获取 user_id 与 project_id:
Web管理面板 -> 个人设置(鼠标移至右上方用户名处出现) -> API 信息
说明: 登录 Cloud , 并进入 Web管理面板 后, 鼠标移动至界面右上方的 用户名 处,会出现下拉菜单,于显示的下拉菜单中选择 个人设置 , 待跳转至个人设置页面后, 点击 API 信息 , 即可查阅 user_id 与 project_id 信息。

第一步:获得Token¶
API样例
curl -i -X POST https://identity.api.shenzhouyun.com/v3/auth/tokens \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "auth": { "scope": { "project": { "id": "55c3518815194c448f51ba464d5e5d68" } }, "identity": { "password": { "user": { "password": "17814e8b", "id": "ac27e806fb814f9cb053176451455a61" } }, "methods": ["password"] } } }'
注意到curl命令返回的Response Header中的这一句
X-Subject-Token: b258ff6f28704c078e300e79a9b25e21
X-Subject-Token的值就是我们需要的Token,有了这个Token我们才可以继续到第二步,在随后的API请求中,均需要带上X-Auth-Token请求头,其值为刚才获得的Token。
第二步:创建云主机¶
在基础网络创建名为cloud_vm_test的ubuntu12.04,配置为compute-4,密钥为MacBookPro的一台云主机,对应的cURL命令为
curl -i -X POST https://bj1.compute.api.shenzhouyun.com/v2/0f1255df40374d02a23e1a6ceeaefec7/servers \ -H "X-Auth-Project-Id: uos_project" \ -H "User-Agent: python-novaclient" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "X-Auth-Token: b258ff6f28704c078e300e79a9b25e21" \ -d '{ "server": { "name": "vm-cli", "imageRef": "f1beda9e-0844-45de-aca8-72448bb50876", "key_name": "MacBookPro", "flavorRef": "c40bf599-a979-4404-8332-5a23f75a66cd", "max_count": 1, "min_count": 1, "networks": [ { "uuid": "4600c9b2-ebdb-4cf8-a7d5-6f8321a781c5" } ] } }'
返回202 Accepted,说明成功,并获得新创建云主机的UUID为{server_uuid}(最后一步需要用这到个变量),可以登陆Web Console查看成功与否。
第三步:创建一个公网IP地址¶
在BGP IP池中创建一个公网IP地址
curl -i -X POST https://bj1.compute.api.shenzhouyun.com/v2/0f1255df40374d02a23e1a6ceeaefec7/os-floating-ips \ -H "X-Auth-Project-Id: uos_project" \ -H "User-Agent: python-novaclient" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "X-Auth-Token: b258ff6f28704c078e300e79a9b25e21" \ -d '{ "pool": "BGP" }'
返回200,说明成功,获得公网IP地址{fip_address}。
5.2.4. 第四步:绑定公网IP地址到云主机¶
获得第二步的云主机UUID{server_uuid}和公网IP地址{fip_address}之后,可以绑定公网IP地址到云主机,cURL命令为
curl -i -X POST https://bj1.compute.api.shenzhouyun.com/v2/0f1255df40374d02a23e1a6ceeaefec7/servers/{server_uuid}/action \ -H "User-Agent: python-novaclient" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "X-Auth-Token: b258ff6f28704c078e300e79a9b25e21" \ -d '{ "addFloatingIp": { "address": "{fip_address}" } }'
注意:把{project_id}, {server_uuid}和{fip_address}替换成对应的值。
任务达成!通过ssh root@{fip_address}就可以直接访问云主机了,默认密码见镜像描述。