//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. Hbase的安装(hadoop-2.6.0,hbase1.0)

    Hbase的安装相对很简单啊...只要你装了Hadoop 装Hbase就是分分钟的事 如果要装hadoop集群的话 hadoop分类的集群安装好了,如果已经装好单机版~ 那就再配置如下就好~ 一.vi ...

  2. CF #365 (Div. 2) D - Mishka and Interesting sum 离线树状数组(转)

    转载自:http://www.cnblogs.com/icode-girl/p/5744409.html 题目链接:CF #365 (Div. 2) D - Mishka and Interestin ...

  3. python (2)xpath与定向爬虫

    内容来自:极客学院,教学视频: 写在前面: 提取Item 选择器介绍 我们有很多方法从网站中提取数据.Scrapy 使用一种叫做 XPath selectors的机制,它基于 XPath表达式. 这是 ...

  4. Xcode5.0使用iOS6.1SDK及模拟器

    最近项目中,介于测试人员提出的问题,有些情况只在ios6的设备上才能显现,而本机的xcode已升级到最新的5.0,这可如何是好呢,在网上搜索了一番,找到如下方法解决此问题: 1.打开xcode5.0的 ...

  5. DEDE仿站经常用到的基本标签和变量

    一.针对于DEDE后台基本设置里面的使用到的数据标签. 主标题:{dede:global.cfg_webname/}  主要用于<title></title>里面 网 站描述: ...

  6. java小程序实例 闰年

    判断闰年. package com.test; import java.util.Scanner; import org.junit.Test; public class TestRunNian { ...

  7. [Java] File文件列表

    package test.file; import java.io.File; import java.io.FilenameFilter; /** * 文件列表,文件过滤 * @author Fro ...

  8. 山东省第三届ACM省赛

    Solved ID PID Title Accepted Submit   A 2407 Impasse (+) 0 0   B 2415 Chess 0 0   C 2414 An interest ...

  9. nyoj 85 有趣的数

    点击打开链接 有趣的数 时间限制:3000 ms  |  内存限制:65535 KB 难度: 描述 把分数按下面的办法排成一个数表. 1/1 1/2 1/3 1/4..... 2/1 2/2 2/3. ...

  10. (medium)LeetCode 264.Ugly Number II

    Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...