OpenStack GCEAPI服务

gce-api的Python项目详细描述


OpenStack Nova GCE API自述文件
----


支持OpenStack的GCE-API。


安装
=


确保已安装Python PIP包。


检查并更正"install.sh"文件开头的默认选项。

运行"install"。sh"

如果需要,请在/etc/gce api/gceapi.conf中检查其他选项。


运行它-"gce api"。

运行授权命令:
python google cloud sdk/platform/gcutil/gcutil--authorization_uri_base=http://localhost:8787 auth
和下一个任何其他命令:
python google cloud sdk/platform/gcutil/gcutil--api_host=http://localhost:8787/--authorization_uri_base=http://localhost:8787--项目演示列表区域

2。您必须拥有google帐户
您可以使用
gcloud config set account<;account>;
激活已授权的帐户,或使用
gcloud auth login
授权新帐户下一步必须通过运行authorization命令在openstack中授权:
gcutil--authorizationion_uri_base=http://localhost:8787 auth
然后您可以运行任何其他命令:
gcutil--api_host=http://localhost:8787/--authorization_uri_base=http://localhost:8787--project demo listzones

make gcutil始终使用'--api_host'标志和您的gce ap使用您的gce api端点i
使用"--authorization\u uri\u base"标志的授权终结点。此外,您还可以将此
设置存储在"~/.gcutil.flags"文件中。


如果由于某种原因无法工作,请检查pythonpath是否已导出,并将其正确设置为类似于
`/usr/lib/python2.7/dist packages:/usr/local/lib/python2.7/dist packages`.

限制
===========

*名称在GCE中是唯一的,用于识别。名称在nova中不是唯一的。而是使用id。
解决方案:gce管理的openstack安装也应该保持唯一的命名。

*gce id是ulong(8字节)。openstack id可以是不同的(int,string),但它们大多是guid(16字节)。
解决方案:由于openstack id的长度和性质不同,而且gce api从不使用id作为参数
现在,生成并返回8字节的散列,以便任何id都可以报告。

*gce允许per-user ssh密钥规范,但nova只支持一个密钥。
解决方案:nova gce api只使用第一个密钥。

*默认的openstack风格可用作机器类型。gce不允许在机器类型名称中使用符号".",这就是为什么gce api plugin在"g e t"请求中将符号"."转换为"-"(例如,机器类型请求将名称"m1.tiny"转换为m1 tiny),在"put/post/delete"请求中将符号"."转换为"-"(例如,实例创建将转换为将"n1-standard-1"命名为"n1.standard.1")。这个协议的简单充分的实现
被添加到nova的gce api服务中,因为它在keystone中不存在。
当前的实现允许在google允许的情况下,为
一个经过身份验证的用户操作多个openstack项目。对于在
身份验证期间返回的初始令牌,它不包含keystone所需的项目信息。
相反,当传入的项目
信息添加到现有用户信息并在keystone中获取新令牌时,将对每个请求进行另一次身份验证。

支持的功能
=====


不支持标准查询参数(字段和prettyprint除外)。


支持的资源类型

*地址
*磁盘
*防火墙
*图像
*实例
*机器类型
*网络
*项目
*注册表离子
*区域


不支持的资源类型

*wardingrules
*httphealthchecks
*targetpools

roject/regions/region/addresses
+列出get/project/regions/region/addresses

+disks

+aggregated list get/project/aggregated/disks
+createsnapshot post/project/zones/zone/disks/createsnapshot
+删除/project/zones/disks/disk
+获取/project/zones/zone/disks/disk
+插入post/project/zones/zone/disks
+列出get/project/zones/zone/disks

+防火墙


+删除删除/project/global/firewall/firewall
+列出get/project/global/firewall/firewall
+插入post/project/global/firewall
+列出get/project/global/firewall
-修补程序/project/global/firewall/firewall
-更新put/project/global/firewalls/firewall

-转发规则

-聚合列表get/project/aggregated/forwardingrules
-删除删除/project/regions/region/forwardingrules/forwardingrule
-获取/project/regions/region/forwardingrules/forwardingrule
-插入post/project/regions/region/forwardingrules
-列表get/project/regions/region/forwardingrules
-settarget post/project/regions/region/forwardingrules/forwardingrule/settarget

+globalooperations

+aggregated list get/project/aggregated/operations
+delete delete/project/global/operations
+get/project/global/operations
+list get/p项目/全局/操作

-httphealthchecks

-delete删除/project/global/httphealthchecks/httphealthchecks
-get get/project/global/httphealthchecks/httphealthchecks
-insert post/project/global/httphealthchecks
-list get/project/global/httphealthchecks
-patch补丁/project/global/httphealthchecks/httphealthcheck
-更新put/project/global/httphealthchecks/httphealthcheck

+images

+delete delete/project/global/images/images
-deprecate post/project/global/images/images/deprecate
+get/project/global/images/images
+insert post/project/global/images
+list get/project/global/images

+instances

+addaccessconfig post/project/zones/zone/instances/instance/addaccessconfig
+aggregatedlist get/project/aggregated/instances
+attachdisk post/project/zones/zone/instances/instance/attachdisk
+delete delete/project/zones/zone/instances/instance
+deleteaccessconfig post/project/zones/zonence/deleteaccessconfig
+detachdisk post/project/zones/zone/instances/instance/detachdisk
+get get/project/zones/zone/instances/instance
-getserialportoutput get/project/zones/zone/instances/instance/serialport
+insert post/project/zones/zone/instances
+list get/project/zones/zone/instances
+reset post/project/zones/zone/instances/instance/reset
-setmetadata post/project/zones/zone/instances/instance/setmetadata
-settags post/project/zones/zone/instances/instance/setscheduling
-setscheduling post/project/zones/zone/instances/instance/setscheduling

+machinetypes

+aggregatedlist get/project/aggregated/machinetypes
+get get/project/zones/zone/machinetypes/machinetype
+list get/project/zones/zone/machinetypes

+networks

+delete delete/project/global/networks/network
+get/project/global/networks
+insert post/project/global/networks
+list get/project/global/networks

+projects

+et get/project
+setCommonInstanceMetadata post/project/setCommonInstanceMetadata

-regionoperations

+delete delete/project/regions/区域/操作/操作
+get get/project/regions/region/operation/operation
+list get/project/regions/region/operations

+regions


+get/project/regions/region
+list get/project/regions

+routes

+delete delete/project/global/routes/route
+get get/project/global/routes/route
+插入post/project/global/routes
+列出get/project/global/routes

+snapshots

+删除delete/project/global/snapshots/snapshot
+获取get/project/global/snapshots/snapshot
+列出get/project/global/snapshots

-targetpools

-添加healthcheck post/project/regions/targetpools/targetetpool/addhealthcheck
-addinstance post/project/regions/region/targetpools/targetpool/addinstance
-aggregatedlist get/project/aggregated/targetpools
-delete delete/project/regions/region/targetpools/targetpool
-get get/project/regions/region/targetpools/targetpool
-gethealth post/project/regions/region/targetpools/targetpool/gethealth
-插入post/project/regions/region/targetpools
-列出get/project/regions/region/targetpools
-removeHealthCheck post/project/regions/region/targetpools/targetpool/removeHealthCheck
-removeInstance post/project/regions/region/targetpools/targetpool/removeInstance
-设置备份post/project/regions/区域/targetpools/targetpool/setbackup

+zone operations


+delete delete/project/zones/zone/operations
+get get/project/zones/operations
+list get/project/zones/zone/operations

+zones

+get/project/zones/zone
+list get/project/zones






欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hibernate会话/模板返回null   java Bluetooth无法连接到OBD2   smartGWT中的行分隔符的java等价物?   java如何删除可执行路径错误   java使用ICE Tar库对大文件进行Tar   java Spring Boot/JavaFX:添加一个仍然可以访问JPA的关机挂钩(ctrlc)   使用输入流读取java属性文件   如何在Java中迭代HashSet元素时覆盖该元素   内容类型中的javascript set charset=“utf8”   使用cassandra触发器的java   用户界面什么是适合我的GUI(JAVA)的update()方法   Java实例控制   java前置摄像头无法在不同设备上工作   java方法组织。postgresql。jdbc。连接。createClob()尚未实现