//import java.util.List;
//
//import org.openstack4j.api.OSClient.OSClientV3;
//import org.openstack4j.openstack.OSFactory;
//import org.openstack4j.model.common.Identifier;
//import org.openstack4j.model.compute.Flavor;
//import org.openstack4j.model.identity.v3.Project;
//import org.openstack4j.model.identity.v3.User;
//
//public class openstack {
//    public static void main(String[] args) {
//        OSClientV3 os=OSFactory.builderV3()
//                                .endpoint("http://ahwater-cloud-controller:35357/v3")
//                                .credentials("admin", "ahwater", Identifier.byId("default"))
//                                .scopeToProject(Identifier.byName("admin"),Identifier.byId("default"))
//                                .authenticate();
//        List<? extends User> users = os.identity().users().list();
//        System.out.println(users.size());
//        
//        List<? extends Project> projectList = os.identity().projects().list();
//        System.out.println(projectList.size());
//        
//        List<? extends Flavor> flavors = os.compute().flavors().list();
//        System.out.println(flavors.size());
//        
//    }
//}

import java.util.List;

import org.openstack4j.openstack.OSFactory;
import org.openstack4j.api.Builders;
import org.openstack4j.api.OSClient.OSClientV2;
import org.openstack4j.api.types.Facing;
import org.openstack4j.model.identity.v2.*;
import org.openstack4j.model.storage.block.Volume;

public class openstack {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        OSClientV2 os=OSFactory.builderV2()
                .endpoint("http://ahwater-cloud-controller:35357/v2.0")
                .credentials("adminTest", "ahwater")
                .tenantName("admin")
                .perspective(Facing.ADMIN)
                .authenticate();
        List<? extends User> users = os.identity().users().list();    
        System.out.println("users: "+users.size());
        
        // List all Tenants
        List<? extends Tenant> tenants = os.identity().tenants().list();
        System.out.println("tenants: "+tenants.size());
//        System.out.println("tenants detail:"+tenants.toString());
        
        
        
//        List<? extends Flavor> flavors = os.compute().flavors().list();
//        System.out.println(flavors.size());
//        
//        List<? extends Volume> volumes = os.blockStorage().volumes().list();
//        System.out.println(volumes.size());
//        
//        List<? extends SwiftContainer> containers = os.objectStorage().containers().list();
//        System.out.println(containers.size());
    }

}

openstack4j接口调试的更多相关文章

  1. java接口调试思想

    对于接口调试的理解:最近多次参与接口调试工作,一般情况都是获取对方接口文档,文档中有加密验证方式,根据加密验证方式开发,调用对应的接口.可以不可以简化这个流程那,至少减少一方的工作量.1.减少调用方法 ...

  2. Flutter实战视频-移动电商-18.首页_火爆专区后台接口调试

    18.首页_火爆专区后台接口调试 楼层结束之后有个火爆专区.到地图有个上拉加载的效果 lib/config/service_url.dart 首先找到我们的接口配置文件,增加接口的配置 lib/ser ...

  3. Flutter实战视频-移动电商-21.分类页_类别信息接口调试

    21.分类页_类别信息接口调试 先解决一个坑 取消上面的GridVIew的回弹效果.就是在拖这个gridview的时候有一个滚动的效果 physics: NeverScrollableScrollPh ...

  4. Flutter实战视频-移动电商-28.列表页_商品列表后台接口调试

    28.列表页_商品列表后台接口调试 主要调试商品列表页的接口 这个接口是最难的因为有大类.小类还有上拉加载 先配置接口 config/service_url.dart //const serviceU ...

  5. Flutter移动电商实战 --(21)分类页_类别信息接口调试

    先解决一个坑 取消上面的GridVIew的回弹效果.就是在拖这个gridview的时候有一个滚动的效果 physics: NeverScrollableScrollPhysics(), 大R刷新后,点 ...

  6. Charles系列三:Charles打断点(包含修改请求,修改返回的内容),模拟慢速网络(弱网测试),域名映射,过滤请求,接口调试,打压测试

    一:Charles断点的使用(包含修改请求,修改返回的数据) 设置断点来修改请求和返回的数据,在开发过程中可以模拟多种响应.步骤如下: 1.添加断点方法有两种: 方法1:找到Charles中菜单项Pr ...

  7. Fiddler 菜单功能 Host配置 请求伪造 接口调试

    菜单功能: Fiddler工具栏上每个按钮的功能只要鼠标停留在按钮上面就会出现英文描述的功能. 小气泡:增加备注,点击气泡即可对下面捕捉到的会话增加备注(很少使用) Replay回放按钮:较常用,捕捉 ...

  8. RESTful 接口调试分享利器 restc

    这个工具来自于https://elemefe.github.io/restc/  这里对Abp进行了一次封装 1.在项目中添加nuget包 Abp.Web.Api.Restc 2.在项目Abp模块的D ...

  9. android登陆接口调试

    最近项目要开始调API,于是自己写了个关于登陆界面调试的Demo,为了保护项目,接口文档里面的内容都是被我改过的,不涉及任何项目内容.当然,代码在运行成功后,上传至博客前,相应内容我也根据改过后的文档 ...

随机推荐

  1. MongoDB 3.0 导入命令

    在MongoDB的bin目录下执行 ./mongoimport -h 192.168.77.129 --db test --collection restaurants --drop --file / ...

  2. keil逻辑分析仪的使用:

    http://blog.sina.com.cn/s/blog_4e0175750101kt13.html

  3. Tornado

    Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效 ...

  4. CSS如何实现图片上下垂直居中

    方法一: 使用margin方式,使图片在div中上下垂直居中.margin-top值的计算方式是:div的高度/2-图片高度/2. 代码实例如下: <!DOCTYPE html><h ...

  5. NodeJS学习历程 - (一)工具篇

    后端工具 1.express:开发框架 npm install express 2.mongoose:MongoDB的处理插件 npm install mongoose 教程一:Mongoose全面理 ...

  6. Maven pom.xml 配置详解

    http://niuzhenxin.iteye.com/blog/2042102 http://blog.csdn.net/u012562943/article/details/51690744 po ...

  7. 如何让Form窗体接收KeyDown事件?

    在使用.Net Framework编写窗体应用程序的时候,有时有需要响应窗体的按键消息.当窗体上没有任何其他控件的时候,窗体是可以直接响应这些消息的. 但是当窗体上有其他控件时,会发现窗体再也不会响应 ...

  8. 面向对象的ExtJS场景开发

    写ExtJS已经3各月了,项目中临时学的,主要参考ExtJS 的文档学习,推荐一款JS开发工具Aptana Studio 3. 大概说一下开发ExtJS的准备: 1.下载Extjs(目前有4.x我使用 ...

  9. css列表

    列表是有三种形式: 1.无序列表,用来表示一个列表语义,并且每个项目与项目之间是不分先后顺序的 ul 的英文unordered list "无序列表" li  的英文  list ...

  10. 关于 C/C++ 的文章

    关于 C/C++ 的文章,以前写的博客在百度,百度关了,只能一个一个复制了,百度太.....