# swancloud-openstack **Repository Path**: tomhat/swancloud-openstack ## Basic Information - **Project Name**: swancloud-openstack - **Description**: Introduction OpenStack is a global collaboration of developers and cloud computing technologists producing the ubiquitous open source cloud computing platform for public and private clouds. - **Primary Language**: Java - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-04 - **Last Updated**: 2022-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## swancloud-openstack 源码来源于[github.com/openstack4j](https://github.com/openstack4j/openstack4j.git) 1. swancloud-openstack版本同openstack4j版本相同 2. swanclou-openstack 包的根路径是 com.swancloud; 3. openstack4j:包的根据路径是:org.openstack4j; 4. swancloud-openstack来源是将: org.openstack4j 替换为 com.swancloud 执行过程: * cd openstack4j * copy core/src/main/java/org swancloud-openstack * copy connectors/httpclient/src/main/java/org swancloud-openstack * copy connectors/okhttp/src/main/java/org swancloud-openstack * copy connectors/resteasy/src/main/java/org swancloud-openstack * copy connectors/jersey2/src/main/java/org swancloud-openstack * sed -i 's/org.openstack4j/com.swancloud/g' `grep -rl 'org.openstack4j' ./` * cd swancloud-openstack/src/main/java/ * mv org/openstack4j org/swancloud * mv org com * 重新整理maven的依赖 API调用取得认证 V2 ```java OSClient.OSClientV2 os = OSFactory.builderV2() .endpoint("http://xxx.xxx.xxx.xxx:5000/v2.0") // 认证URL .credentials("user", "pass") // 认证用户名和密码 .tenantName("tenantName") .tenantId("tenantId") // 认证用户所属的租户名称或ID .perspective(Facing.ADMIN) // 取得权限 (INTERNAL,ADMIN,PUBLIC) 默认为PUBLIC .authenticate(); ``` V3 ```java OSClient.OSClientV3 os = OSFactory.builderV3() .endpoint("http://xxx.xxx.xxx.xxx:5000/v3") // 认证URL .credentials("user", "pass",Identifier.byName("default")) // 认证用户名和密码已经domainName .scopeToProject(Identifier.byName("admin"),Identifier.byName("default"))// project名字和demainName .perspective(Facing.ADMIN) // 取得权限 (INTERNAL,ADMIN,PUBLIC) 默认为PUBLIC .authenticate(); ``` **Using Connectors with the default httpclient Connector** **Using openstack4j source code with the httpclient,Okhttp,resteasy,Jersey2 Connector** **切换Connector需要修改 resources/META-INF/services/com.swancloud.core.transport.HttpExecutorService** ``` com.swancloud.connectors.httpclient.HttpExecutorServiceImpl # com.swancloud.connectors.okhttp.HttpExecutorServiceImpl # com.swancloud.connectors.resteasy.HttpExecutorServiceImpl # com.swancloud.connectors.jersey2.HttpExecutorServiceImpl ```