如何使用curl调试openstack的api
时间:2022-05-07
本文章向大家介绍如何使用curl调试openstack的api,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
访问openstack的API之前,用户使用用户名和密码向keystone进行认证。在通过keystone认证后,keystone会在返回数据中包含一个ServiceCatalog。此ServiceCatalog中包含keystone中的所有service endpoints。用户即可根据这些endpoint来进行后续的RestAPI调用。
本文中控制节点hostname是mycontroller,admin用户是myadmin,密码是mypasswd
一。获取token
# curl -i 'http://mycontroller:5000/v2.0/tokens'; -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"auth":{"tenantName": "admin", "passwordCredentials": {"username": "myadmin", "password": "mypasswd"}}}'
curl会返回access信息,其中包含token、serviceCatalog、user、metadata。如下图:
二。使用获取到的token-id,tenant-id以及endpoint来访问api。
get方法(举例获取虚拟机列表):
# curl -i 'http://mycontroller:8774/v2.1/tenant-id/servers'; -v -H "X-Auth-Token:token-id"
会返回虚拟机的列表,如下图:
post方法(举例启动虚拟机):
# curl -i 'http://mycontroller:8774/v2.1/tenant-id/servers/server-id/action'; -X POST -d '{"os-start": null}' -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token:token-id"
启动一个已经开机的虚拟机,如下图:
关注本公众号,了解更多关于云计算虚拟化的知识。
- 补丁管理:不要以持续运行时间为自豪
- 微信小程序再次深夜放大招!竟然可以玩起直播来了?
- 上海设专项资金支持人工智能创新发展
- 监管下发145号文摸底互联网平台与交易所合作
- 条码支付确立规范引导金融创新趋利避害
- 百度Apollo自动驾驶组“国家队”,全线产品将在CES首度亮相
- Sass 基础(三)
- 2018年——霍金怎么样谈未来人工智能,地球还有多少时间
- Linux探秘之用户态与内核态
- 微信小游戏重磅上线,H5游戏和页游迎来新天地?
- 名为“闪电比特币”Lightning Bitcoin,LBTC的新型比特币硬叉被释放
- IDHub亮相区块链行业巅峰盛宴 分享网络生活的“进化论”
- 总结:如何加速你的 WordPress 站点?
- 百年老牌的创新之路:看可口可乐如何用AI、大数据颠覆传统营销
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel框架之数据库查出来的对象实现转化为数组
- php apache开启跨域模式过程详解
- laravel5.6实现数值转换
- python中return不返回值的问题解析
- php装饰者模式简单应用案例分析
- php常用日期时间函数实例小结
- PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
- 基于laravel缓冲cache的用法详解
- Python使用sys.exc_info()方法获取异常信息
- laravel通用化的CURD的实现
- Laravel修改验证提示信息为中文的示例
- PHP+redis实现微博的推模型案例分析
- Laravel 解决composer相关操作提示php相关异常的问题
- laravel 实现根据字段不同值做不同查询
- php实现获取近几日、月时间示例