首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用openstack4j创建一个新角色?

如何使用openstack4j创建一个新角色?
EN

Stack Overflow用户
提问于 2016-03-31 09:57:11
回答 1查看 156关注 0票数 2

我正在通过使用openstack4j API(v.2.0.9)来开发eclipse项目。我需要创建一个新角色,所以我尝试(在V2身份验证之后)使用一个类似于用户创建的生成器:

代码语言:javascript
复制
public void role_create(String name) { 
   Role role = os.identity().roles().create(Builders.role().name(name).build());
}

当我注意到这个错误

RoleService类型中的创建(字符串)方法不适用于参数(角色)

我假设我只需将'name‘参数传递给create方法:

代码语言:javascript
复制
public void role_create(String name) {
    Role role = os.identity().roles().create(name);
}

无论如何,当我在服务器上运行程序时,我会得到以下错误:

线程"main“ServerResponseException{message=Internal服务器错误,status=500,org.openstack4j.core.transport.HttpExceptionHandler.mapException(HttpExceptionHandler.java:40) at org.openstack4j.core.transport.HttpExceptionHandler.mapException(HttpExceptionHandler.java:23) at org.openstack4j.core.transport.HttpEntityHandler.handle(HttpEntityHandler.java:50) at org.openstack4j.connectors.okhttp.HttpResponseImpl.getEntity(HttpResponseImpl.java:69) at org.openstack4j.openstack.internal.BaseOpenStackService$Invocation.execute(BaseOpenStackService.java:189) at org.openstack4j.openstack.internal.BaseOpenStackService$Invocation.execute(BaseOpenStackService.java:183) at org.openstack4j.openstack.identity.internal.RoleServiceImpl.create(RoleServiceImpl.java:121) at openstack.Identity.role_create(Identity.java:75) at openstack.openstackTest.main(openstackTest.java:21)

创建用户时,我使用Builders创建用户对象并将其传递给create方法。角色的create方法不需要一个角色对象,而是一个字符串,这就是为什么我试图传递'name‘字符串的原因。当异常发生时,我读取RoleServiceImpl.java文件以查看create方法。结果是:

代码语言:javascript
复制
@Override
public Role create(String name) {       
    checkNotNull(name);         
    return post(KeystoneRole.class, 
  uri("/OS-SADM/roles")).entity(KeystoneRole.builder().name(name).build()).execute();   
}

所以看来生成器已经实现了!有人能帮我解决这个问题并创造一个新的角色吗?

向你问好,法比奥

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-13 13:36:08

解决了!OpenStack V2只需要角色的名称即可,但是我在请求中使用的Openstack4j版本也是“已启用”参数。所以我才有例外。该错误已在最新版本的库中修复(2.20)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36330052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档