im是一个管理云部署上的虚拟基础设施的工具

IM-client的Python项目详细描述


35;IM—基础设施管理器客户端

< >[PYPI](https://img.shields.io/pypi/v/im-client.svg)(https://pypi.org/project/im-client) 啊![构建状态](http://jenkins.i3m.upv.es/buildstatus/icon?job=grycap/im-client-unit)(http://jenkins.i3m.upv.es:8080/job/grycap/job/im-client-unit/) 啊!【Codacy徽章】(https://api.codacy.com/project/badge/grade/c74628a2fc134c26833fc57b5771ce09)"(https://www.codacy.com/app/micafer/im-client?utm source=github.com&utm medium=referration&utm content=grycap/im-client&utm campaign=badge grade) 啊![Codacy徽章](https://www.codacy.com/project/badge/coverage/c74628a2fc134c2683fc57b5771ce09)(https://www.codacy.com/app/micafer/im-客户端?utm source=github.com&utm medium=referral&utm content=grycap/im-client&utm campaign=badge u coverage" rel="nofollow">https://api.codacy.com/project/badge/coverage/c746282828a2fc134c26833fc57b5771ce09)(https://www.codacy.com/app/micafer/im-client?utm source=github.com&utm medium=referration&utm content=grycap/im-client&utm campaign=badge coverage) 啊![许可证](许可证" rel="nofollow">https://img.shields.io/badge/license-gpl%20v3.0-brightgreen.svg)(许可证)https://img.shields.io/badge/license-gpl%20v3.0-brightgreen.svg)(许可证) 啊![文档](https://img.shields.io/badge/docs-latest-brightgreen.svg)(https://imdocs.readthedocs.io/en/latest/client.html" rel="nofollow">https://img.shields.io/badge/docs-latest-brightgreen.svg)(https://imdocs.readthedocs.io/en/latest/client.html)

im是一个工具,通过自动化促进了iaas云的访问和可用性。 vmi的选择、部署、配置、软件安装、监控 以及虚拟应用程序的更新。它支持来自大量 虚拟平台,使得用户应用不受云计算影响。除此之外 集成了一个上下文化系统,使安装和 为用户提供 功能齐全的基础设施。

<> 用法:在客户机中使用:在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在客户机中使用;在对u参数的操作

'35;'35;1安装

'35;'35;'35;1.1必要条件

im基于python,因此python 2.4或更高版本的运行时和标准库必须 安装在系统中。

还需要安装radl解析器(pip中提供的https://github.com/grycap/radl" rel="nofollow">https://github.com/grycap/radl) 作为"radl"包。还需要python请求库(http://docs.python-requests.org/" rel="nofollow">http://docs.python-requests.org/) 以python的形式提供-o.s.包中的请求或pip中的请求。

'35;'35;'35;1.2可选软件包

如果使用xmlrpc api的ssl安全版本springpython 必须安装框架(http://springpython.webpartialal.com/" rel="nofollow">http://springpython.webpartialal.com/)。

'35;'35;'35;1.3安装

来自PIP的'35;'35;'35;'35;1.3.1

您只需使用im-client包调用pip工具的install命令即可。

<> pip安装im-客户端

'35;'35;'35;'35;1.3.2源代码

您只需要将tar-gziped文件安装到任何目录:

嘘 $tar xvzfim-client-x.xx.tar.gz

###1.4配置

以避免在所有客户端调用中键入参数。用户可以定义配置 当前目录中的文件"im_client.cfg"或其目录中的文件".im_client.cfg" 主目录。在配置文件中,用户可以指定以下参数:

<> [ IMM-客户端] #只设置一个URL xmlrpc戋url=http://localhost:8899重新启动URL==http://localhost:8800 auth_file=auth.dat xmlrpc_ssl_ca_certs=/tmp/pki/ca chain.pem

####1.4.1验证文件

授权文件以纯文本存储访问 云提供商、IM服务和VMRC服务。文件的每一行 由以分号分隔的键和值对组成,并引用 单一凭证。键和值应该用"="分隔,即 前面和后面至少有一个空格的等号,如 这:

<> id=id_value;type=value_of_type;username=value_of_username;password=value_of_password

值可以包含"=","\n"替换为回车。可用的 关键是:

  • type表示引用凭证的服务。服务 支持的是InfrastructureManager,VMRCOpenNebulaEC2Fogbowopenstackoccilibclouddockergceazureazureclassickubernetes
  • 用户名表示与凭证关联的用户名。在EC2中 它指的是访问键id。在GCE中,它指的是服务帐户的电子邮件地址
  • 密码表示与凭证关联的密码。在EC2中 它指的是秘密访问密钥。在GCE中,它指的是服务私钥 (JSON或PKCS12格式)。了解如何获取它以及如何从中提取私钥文件 [此处](https://cloud.google.com/storage/docs/authentication\service\u accounts" rel="nofollow">https://cloud.google.com/storage/docs/authentication\service\u accounts)。
  • 租户表示与凭证关联的租户。 此字段仅在OpenStack插件中使用。
  • 主机指示云提供商的访问点地址。 im、gce、azure和ec2凭据中不使用此字段。
  • 代理指示与凭据关联的代理文件的内容。 要引用文件,必须使用函数"file(/tmp/proxyfile.pem)",如示例所示。 此字段用于OCCI和OpenStack插件。
  • 项目指示与凭据关联的项目名称。 此字段仅在GCE插件中使用。
  • 公钥表示与凭证关联的公钥文件的内容。 要引用一个文件,必须使用函数"file(cert.pem)",如示例所示。 此字段用于azure classic和docker插件。对于azure classic,请查看如何获取它 [此处](https://msdn.microsoft.com/en-us/library/azure/gg551722.aspx" rel="nofollow">https://msdn.microsoft.com/en-us/library/azure/gg551722.aspx)。
  • 私钥表示与凭证关联的私钥文件的内容。 要引用一个文件,必须使用"file(key.pem)"函数,如示例所示。 此字段用于azure classic和docker插件。对于azure classic,请查看如何获取它 [此处](https://msdn.microsoft.com/en-us/library/azure/gg551722.aspx" rel="nofollow">https://msdn.microsoft.com/en-us/library/azure/gg551722.aspx)。
  • id将标识符与凭证关联。标识符应该是 用作RADL中展开部分的标签。
  • 订阅ID指示与凭据关联的订阅ID名称。 此字段仅在azure和azure经典插件中使用。创建用户以使用azure(arm) 插件检查azure python sdk的文档: [此处](使用AD用户密码" rel="nofollow">https://azure sdk for python.readthedocs.io/en/latest/quickstart戥authentication.html;使用AD用户密码" rel="nofollow">https://azure sdk for python.readthedocs.io/en/latest/quickstart戥authentication.html")
  • 标记表示与凭证关联的openid标记。此字段用于OCCI插件。

#####OpenStack附加字段

OpenStack有一组附加字段来访问云站点:

  • 验证版本用于连接密钥库服务器的验证版本。 可能的值为:2.0_password3.x_password。默认值为2.0_password
  • 基本URL指向OpenStack API终结点的基本URL。默认情况下,连接器从 服务器目录,但如果提供了此参数,则跳过此步骤并直接使用提供的值。 其值为:http://cloud\u server.com:8774/v2/<;租户id>;
  • 服务区域云站点的区域(区分大小写)。用于获取API 终结点URL。默认值为:regionone
  • 服务名称用于获取API端点URL的服务名称。默认值为:计算
  • 身份验证令牌用于身份验证的令牌。如果提供此参数,则正常身份验证 将跳过流,并使用提供的令牌直接命中openstack api终结点。正常身份验证 流程包括使用提供的用户名和密码访问auth服务(keystone)并请求 身份验证令牌。

验证文件的示例:

<> #opennebula站点 id=one;type=opennebula;host=osenserver:2633;username=user;password=pass #使用标准用户、密码、租户格式的OpenStack站点 id=ost;type=openstack;host=https://ostserver:5000;username=user;password=pass;tenant=tenant #使用voms代理身份验证的openstack站点 id=ostvoms;type=openstack;proxy=文件(/tmp/proxy.pem);host=https://keystone:5000;tenant=tname #IM验证数据 id=im;type=infrastructuremanager;username=user;password=pass #vmrc验证数据 id=vmrc;type=vmrc;host=http://server:8080/vmrc;用户名=用户;密码=通过 #EC2验证数据 id=ec2;type=ec2;username=access_key;password=secret_key #谷歌计算认证数据 id=gce;type=gce;username=username.apps.googleusercontent.com;password=pass;project=projectname #带证书的Docker站点 id=docker;type=docker;host=http://host:2375;公钥=文件(/tmp/cert.pem);私钥=文件(/tmp/key.pem) #没有SSL安全的Docker站点 id=docker;type=docker;host=http://host:2375 #OCCI VOMS站点验证数据 id=occi;type=occi;proxy=文件(/tmp/proxy.pem);主机=https://server.com:11443 #occi-oidc网站认证数据 id=occi;type=occi;token=token;host=https://server.com:11443 #azure(rm)站点身份验证数据 id=azure;type=azure;订阅id=订阅id;username=user@domain.com;password=pass #Kubernetes站点验证数据 id=kub;type=kubernetes;host=http://server:8080;用户名=用户;密码=通过 #Fogbow验证数据 id=fog;type=fogbow;主机=http://server:8182;代理=文件(/tmp/proxy.pem) #azure经典身份验证数据 id=azurecla;type=azureclassic;subscription_id=subscription_id;public_key=文件(/tmp/cert.pem);私钥=文件(/tmp/key.pem)

###1.4调用

程序"im_client"的调用方式如下:

<> im_client.py[-u--xmlrpc url<;url>;][-r--restapi url<;url>;][-v--verify ssl][-a--auth_file<;filename>;]操作操作参数

  • 选项:-u–xmlrpc url

    < Buff行情>

    XML-RPC服务的URL。 必须指定此选项或"-r"选项。

  • 选项::-r–rest url url

    < Buff行情>

    im服务上rest api的url。 必须指定此选项或"-u"选项。

  • 选项::-v–验证SSL

    < Buff行情>

    验证SSL连接的证书。 默认值为false

  • 选项:-a–auth_文件名

    < Buff行情>

    授权文件的路径,请参见[此处](https://imdocs.readthedocs.io/en/latest/client.html;授权文件)。 此选项是必需的。

  • 操作:

    < Buff行情>< dl >
    列表

    列出用户创建的基础结构ID。

    创建<;radlfile>;[异步标志]

    使用在路径为的文件中指定的radl创建基础结构 放射性文件。异步标志参数是可选的 是一个标志,用于指定创建调用是否将等待资源 立即创建或返回基础结构的ID。

    销毁<;infid>;

    用idinfid破坏基础设施

    getinfo<;infid>;

    显示与 具有idinfid的基础设施

    getcontmsg<;infid>;

    显示具有idinfid的基础结构的上下文化消息

    getstate<;infid>;

    使用idinfid显示基础结构的状态

    getoutputs<;infid>;

    显示具有idinfid的基础结构的输出(仅适用于带有rest api的tosca文档)。

    getvminfo<;infid>;<;vmid>;

    显示与idvmid的虚拟机相关联的信息 与具有idinfid的基础结构关联

    getvmcontmsg<;infid>;<;vmid>;

    显示ID为vmid的虚拟机的上下文化消息 与具有idinfid的基础结构关联

    添加资源<;中缀>;[ctxt_标志]

    添加到具有idinfid的基础结构中 路径为radl file的radl文件。ctxt_标志参数是可选的 是一个标志,用于指定是否启动上下文化步骤 就在虚拟机添加之后。如果未指定上下文化步骤 将启动。

    移除资源<;中缀>;<;vmid>;[ctxt_标志]

    在具有 id中缀ctxt_标志参数是可选的 是一个标志,用于指定是否启动上下文化步骤 就在虚拟机添加之后。如果未指定上下文化步骤 将启动。

    开始<;中缀>;

    恢复与ID为的基础结构关联的所有虚拟机 infid,先前由操作停止

    停止<;infid>;

    停止(但不删除)与 具有idinfid的基础设施

    更改<;infid>;<;vmid>;<;radlfile>;

    使用idvmid修改虚拟机的规范 与idvmid的基础结构关联,使用radl 文件中的规范,路径为radlfile

    重新配置<;infid>;[radl_文件][vm_列表]

    使用idinfid重新配置基础结构,并更新 配置数据。最后一个vm_list参数是可选的 是一个列表整数,指定要重新配置的vm的id。 如果未指定,将重新配置所有虚拟机。

    开始tvm<;中缀>;<;vmid>;

    恢复与id为的基础结构关联的指定虚拟机 infid,先前由操作停止

    停止vm<;中缀>;

    停止(但不删除)与id为的基础结构关联的指定虚拟机vmid 具有idinfid的基础设施

    重新启动vm<;infid>;<;vmid>;

    重新启动与ID为的基础结构关联的指定虚拟机 具有idinfid的基础设施

    sshvm<;infid>;<;vmid>;[仅显示]

    使用与id为的基础结构关联的指定虚拟机与ssh连接 具有idinfid的基础结构。 仅显示参数是可选的 and是一个标志,用于指定ssh命令是否只在stdout中显示而不是执行。

    导出<;中缀>;[删除]

    导出具有idinfid的基础结构的数据。delete参数是可选的 和是一个标志,用于指定是否将从IM服务中删除基础结构(vm不是 已删除)。

    导入<;json_文件>;

    导入以前用上一个函数导出的基础结构的数据。 json_文件是一个文件,其中包含使用export函数生成的数据。

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

推荐PyPI第三方库


热门话题
jframe为什么JAVA paint()方法不起作用?   java Guice:将ContainerRequestContext注入拦截器   java如何优雅地关闭Spring JMS MessageListenerAdapter   java如何在Spring中设置快照隔离级别   Java中的安卓平台独立信任存储路径   java无法在eclipse中运行hello world程序   java Sinch空指针问题   使用Java将JSON流式传输到BigQuery   java从“大数据”中选择什么Swing控件?   java通过对象字段过滤/排序集合?   java将数据从活动传递到另一个活动中的片段   java访问打包在jar文件中的文档   Java获取事件的大小。getDragboard()。getFiles()。流()。映射(文件::长度)。toString());   java Android libgdx:启动程序图标按下后,启动屏幕不会立即显示   java如何在Google App Engine灵活环境中配置oracle jdk   java有没有办法减少这些行?   Java:客户端socket不读取第二行,在终止符行之后保持打开状态   java以编程方式获取api 29上的所有APK文件   java ActionBar按钮不显示