//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. 多线程同步 wait notify

    package test; public class Test implements Runnable{ public static int j =0; @Override public void r ...

  2. (C#) What is the difference between "const" and "static readonly" ?

    const int a must be initialized initialization must be at compile time readonly int a can use defaul ...

  3. 转码:unescape("%u7B80%u4F53%u4E2D%u6587")--->escape("简体中文")

    unescape("%u7B80%u4F53%u4E2D%u6587")"简体中文"escape("简体中文") "%u7B80% ...

  4. bug_ _ 常见的bug1

    =====  3   java.lang.reflect.InvocationTargetException 异常解决方法 在做djunit测试的时候,发生下面异常: java.lang.reflec ...

  5. UCOS-消息邮箱(学习笔记)

    任务间数据传递通过缓冲区进行,如果将缓冲区赋值给时间控制块成员:指针OSEventPtr,且任务控制块类型为OS_EVENT_TYPE_MBOS则即为消息邮箱: 一创建消息邮箱:OS_EVENT *O ...

  6. Laravel中URL,ACTION,ROUTE区别

    创建路由如下所示: Route::get('articles',['uses'=>'ArticlesController@index','as'=>'articles.index']); ...

  7. ElasticSearch 常用的查询过滤语句

    query 和  filter 的区别请看: http://www.cnblogs.com/ghj1976/p/5292740.html Filter DSL term 过滤 term主要用于精确匹配 ...

  8. [DataTable]C# datatable取最大值最小值

    ArrayList al = new ArrayList(); DataTable dt = new DataTable(); dt.Columns.Add("A",typeof( ...

  9. Android中 View not attached to window manager错误的解决办法

    前几日出现这样一个Bug是一个RuntimeException,详细信息是这样子的:java.lang.IllegalArgumentException: View not attached to w ...

  10. Linux查看物理CPU个数、核数、逻辑CPU个数(转载)

    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数cat /proc/cpuinfo| g ...