使用asyncio的基本openstack异步客户端库

AsyncOpenStackClient的Python项目详细描述


AsyncOpenStackClient

image0image1

简介

异步openstackclient是openstack api的异步rest包装器。它为身份验证提供了一个很好的抽象。有关方法规范,请参见官方的openstack文档:https://docs.openstack.org/queens/api/

安装

使用pip:

pip install AsyncOpenStackClient

用法

fromasyncopenstackclientimportNovaClient,GlanceClient,CinderClient,AuthPassword# you can either pass credentials explicitly (as shown below)# or use enviormental variables from OpenStack RC file# https://docs.openstack.org/mitaka/cli-reference/common/cli_set_environment_variables_using_openstack_rc.htmlauth=AuthPassword(auth_url='https://keystone:5999/v3'username='USER',password='PASS',project_name='my-project',user_domain_name='default',project_domain_name='foo.bar')nova=NovaClient(session=auth)glance=GlanceClient(session=auth)cinder=CinderClient(session=auth)# api url for each service will be taken from catalog,# but you may pass `api_url` param to force custom url eg.# nova = NovaClient(session=auth, api_url='http://my-local-nova:9876/v2/')awaitnova.init_api()awaitglance.init_api()awaitcinder.init_api()servers=awaitnova.servers.list(name='testvm')vm=awaitnova.servers.get(server_id)action_spec={'os-stop':None}awaitnova.servers.run_action(server_id,**action_spec)specs={"name":'some_name',"flavorRef":'flavor_id',"imageRef":'image_id',"security_groups":[{'name':'group1'},{'name':'group2'}]"user_data":base64.b64encode(userdata).decode('utf-8')}response=awaitnova.servers.create(server=specs)print(response)volume={"size":200,"imageRef":"image_id","name":"some_name"}response=awaitcinder.volumes.create(volume=volume)print(response)

可用功能

更改日志

0.8.1(2019-04-03)

  • 修复:升级依赖项(urllib3:cve-2018-20060)

0.8.0(2018-08-19)

  • 功能:compute api的另一部分-在服务器上运行操作
  • 功能:CD配置

0.7.0(2018-06-15)

  • 特点:炉渣实现
  • 错误修复:错误修复

0.6.3(2018-06-13)

  • 功能:可调请求超时,默认值为60秒

0.6.2(2018-05-18)

  • 错误修复:初始化客户端中的属性(API)以获得一些有意义的错误,而不是“达到递归限制”。

0.6.0(2018-05-12)

  • 功能:使用资源/方法代理包装请求

0.5.2(2018-05-10)

  • 错误修复:在api根url末尾添加斜杠

0.5.1(2018-04-29)

  • 错误修复:用元数据条目和envs通知更新自述文件

0.5.0(2018-04-25)

  • 功能:部分支持服务器元数据的使用

0.4.1(2018-04-25)

  • bugifx:具有urljoin的concat auth_url无效

0.4.0(2018-04-16)

  • 功能:使用变量(如果存在)

0.3.0(2018-04-13)

  • 功能:接受并传递API URL
  • 功能:如果目录提供不完整的API URL(例如没有版本)

0.2.3(2018-04-05)

  • 错误修复:不要等待同步方法

0.2.2(2018-04-02)

  • 更新简单rest客户端(固定日志记录)

0.2.1(2018-03-28)

  • 修复测试、COV报告、manifest.in

0.1.1(2018-03-02)

  • 更新manifest.in

0.1.0(2018-02-15)

  • 为python3构建异步openstack客户端库的第一种方法

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

推荐PyPI第三方库


热门话题
我们应该在测试java代码时模拟黄瓜测试吗。我们应该在多大程度上使用黄瓜?   Hibernate Weblogic 10.3.4 java。lang.NoSuchMethodError:javax/persistence/spi/PersistenceUnitInfo。getValidationMode()Ljavax/persistence/ValidationMode;   java如何在main()中访问私有静态实例变量   java JMockit无法模拟类的公共final字段   java是否可以返回特定控制器操作的输出(html)?   java如何返回正确类型的列表?   rest-OpenUI/Swagger-java-to-API   java组织。springframework。豆。工厂NoSuchBeanDefinitionException或加载ApplicationContext失败   java使用POST将参数从JSP发送到Servlet   java如何监听特定的按钮按下和主视图用户交互?   java如何让gradle在本地maven repo中覆盖库?   如何在Java中“合并”两个URI?   java如何制作一个方法来移动数组中的字符?   使用来自java的命令启动powershell窗口   java垃圾收集器和匿名类   java如何为CellTable(GWT 2.4)中的ImageResourceCell创建PanelPopup?