//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. Chrome开发者工具详解(2)

    Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Network面板.Timeline面板.Profiles面板.Application面板.Sec ...

  2. spark transformation与action操作函数

    一.Transformation map(func) 返回一个新的分布式数据集,由每个原元素经过函数处理后的新元素组成 filter(func) 返回一个新的数据集,经过fun函数处理后返回值为tru ...

  3. 给Mac下的iTerm2增加配色

    iterm2就不说了,Mac下非常好用的终端,这里就先谈谈如何给其增加配色,效果如下图 可以来这下载theme : http://iterm2colorschemes.com/ 1.先编辑你的prof ...

  4. ylbtech-dbs:ylbtech-3,BarCode(条码资源系统)

    ylbtech-dbs:ylbtech-3,BarCode(条码资源系统) -- =============================================-- 条码资源系统-- YU ...

  5. ConcurrentHashMap使用要点

    ConcurrentHashMap的简要总结: 1.public V get(Object key)不涉及到锁,也就是说获得对象时没有使用锁: 2.put.remove方法要使用锁,但并不一定有锁争用 ...

  6. 想直接用Windows API开发程序,你真的应该知道这些!

    1,Windows数据类型. 2,Windows数据类型命名规律. 3,匈牙利表示法.

  7. mysql 错误1054

    问题,当查询数据时,输入字符串是数字时,可以查询,但当输入字母字符串时却不能查询,总是提示错误1054 解决:将字符串打上单引号 字段对应的值如果为字符或字符串类型的时候,应用英文单引号括起来,你用的 ...

  8. 服务器返回数组,data[0]得到的总是不对?如何处理?

    我用asp.net MVC 写了服务器代码,返回数组,ajax怎么处理返回的数组内容? 您好,首先用eval将获得的ajax数据转化成json对象并赋值给一个变量. 比如: var obj=eval( ...

  9. Java SE 第二十四讲----static与final使用陷阱关键字

    1.对于final类型成员变量,一般来说有两种赋值方式: a)在声明final类型的成员变量时就附上初值 package com.cl.staticandfinal; public class Fin ...

  10. struts2访问servlet API

    搭建环境: 引入jar包,src下建立struts.xml文件 项目配置文件web.xml. web.xml: <?xml version="1.0" encoding=&q ...