本文共 1248 字,大约阅读时间需要 4 分钟。
OpenStack4j是一个类库,提供了访问和管理OpenStack的Java API。利用OpenStack4j可以开发OpenStack的客户端应用。
OpenStack4j的最新版本3.0.31.OpenStack4j的组成结构
2.OpenStack4j到OpenStack的连接器
从3.0.0开始,OpenStack4j底层的连接框架默认使用Jersey2,当然也可以使用其他连接器:
3.OpenStack4j 3.0.x提供的API
4.OpenStack4j 3.0.x访问Identity服务获取token
OSClientV3 os = OSFactory .builderV3() .endpoint("https://my-openstack-cloud:5000/v3") .credentials(cred.getUsername(), cred.getPassword(), Identifier.byName("Default")) .scopeToProject(Identifier.byName(cred.getProject()), Identifier.byName("Default")) .withConfig( Config.newConfig() .withConnectionTimeout(1000 * 60) .withReadTimeout(1000 * 60 * 5)) .authenticate();
注意:
1) 通过用户名/密码进行认证时,还需要提供所属的Domain,OpenStack默认的Domain为"Default"(大小写无关)。
2) 获取token的时候,必须通过scope指定授权访问的范围,否则即使拥有了token,后续也无法进行任何访问。这里指定了Domain为"Default"中的指定Project。
参考文献:
官网,http://www.openstack4j.com/
源代码,https://github.com/ContainX/openstack4j