pynsxv是一个更高级别的基于python的库和cli工具,用于控制vSphere的nsx

PyNSXv的Python项目详细描述


pynsxv是一个基于python的高级库,它公开了随时可用的工作流和一个cli工具,可以用来控制vSphere的vmware nsx,pynsxv可以用两种不同的方式使用,一种是通过导入/library子目录中的文件在您的代码中输入,或在安装后通过在命令行上执行"pynsxv"作为cli工具输入。要安装
pynsxv,您可以在系统上使用pip



目录
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
**"使用pynsxv%20as%20a%20cli%20cli%20tool>;` `

pynsxv%20tool使用pynsxv%20as%20a%20a%20cli%20cli%20tool>;`使用pynsxv%20pynsxv%20as%20pynsxv%20a%20a%20a%a%20python%20library>;`_**
***依赖关系<;依赖关系>;` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `在安装之后pynsxv,首先要创建包含vCenter和nsx管理器的主机名和凭据的a``ini`文件。


E选项。默认pynsxv将在运行pynsxv命令的路径中查找名为"nsx.ini"的文件。


代码::ini

word=<;nsx_manager_password>;

[vCenter]
vCenter=<;vc_ip_or_hostname>;
vCenter_user=administrator@domain.local
vCenter_passwd=<;vc_password>;

[默认值]
transport_zone=<;transport_zone_name>;
datacenter_name=<;vCenter datacenter name>;
edge_datastore=<;要在>;
edge_cluster=<;vCenter cluster for edge gateways>;

在Linux和Mac上,只需使用"pynsxv"`
后跟子命令。在Windows上,您需要键入
``pynsxv.exe``然后键入子命令:

::

cycle pynsxv-h
用法:pynsxv[-h][-i ini][-v][-d]{lswitch,dlr,esg,dhcp,dfw,用法}…

pynsxv命令行客户端for nsx for vSphere

位置参数:
{lswitch,dlr,esg,dhcp,dfw,usage}
lswitch函数用于逻辑交换机
dlr函数用于分布式逻辑路由器
esg函数用于边缘服务网关
dhcp函数用于边缘dhcp
分布式防火墙的dfw函数
用于检索nsx-v使用统计信息的使用函数


-v,--verbose increase output verbosity
-d,--debug打印http事务的低级调试

/>| ls name ls id
--------+——————————————————————以及参数。
您可以看到可用的在第一个
子命令之后使用`-h``即可:


::

pynsxv lswitch-h
用法:cli.py lswitch[-h][-t transport_zone][-n name]命令

创建:创建新的逻辑交换机/>可选参数:
-h,--帮助显示此帮助消息并退出
-t传输区,--传输区传输区
nsx传输区
-n名称,--名称逻辑开关名称,创建、读取和删除所需您还可以使用主pynsxv命令的`-v``开关将
切换到json格式的输出,以便与shell脚本一起使用

这个repo的`/library``中的模块并将它们导入到
代码中,或者您可以安装pynsxv并从python中导入模块
pip安装模块的路径。

re/nsxramlclient)
您还需要
vSphere(https://github.com/vmware/nsx raml)的nsx的最新raml api规范的副本。

导入要使用的模块,以及
``nsxramlclient``的nsxclient类。
然后实例化ns的会话对象xclient类,并将此会话对象传递给要在从pynsxv导入的模块之外使用的函数。下面是一个例子:

…代码::ipython

ipython
python 2.7.11(默认值,2016年6月17日,20:01:51)
键入"版权"、"信用"或"许可证"了解更多信息。

?->;介绍和概述ipython的功能。
%quickref->;快速参考。
帮助->;python自己的帮助系统。
对象?->;有关"对象"的详细信息,请使用"对象"??'了解更多详细信息。

in[1]:来自pynsxv.library.nsx_logical_switch import logical_switch_list,logical_switch_create


in[2]:来自nsx raml client.client import nsxclient

in[3]:nsx raml_file='/raml/nsxraml/nsxvapi.raml'
in[4]:nsxmanager='nsxmanager.无效的.org'
在[5]:nsx_username='admin'
在[6]:nsx_password='vmware'

在[7]:client_session=nsxclient(nsxraml_file,nsxmanager,nsx_username,nsx_password)

在[8]:lswitch_list=logical_switch_list(client_session)

ST
输出[9]:
([('K8S-DLR-PLR-TRANSIT','VirtualWire-39'),
('K8S-Minion-1','VirtualWire-40'),
('K8S-Minion-2','VirtualWire-41'),
('Vic-External','VirtualWire-51'),
('Vic-Container-Net1','VirtualWire-52'),
('Edge撸ls','VirtualWire-63'),
('dlr戋ls','virtualwire-64')],
[{'clienthandle':无,
'controlplanemode':'hybrid戋mode',
'ctrllsuuid':'e0c72e20-f39e-41ba-adb4-f0b191521c0c',
'description':无,
'extendeddattributes':无,
'guestvlanallowed':'false',
"IsUniversal":"False",

…输出被截断……

in[10]:new_lswitch=logical_switch_create(client_session,'tz1','new_lswitch_name')


in[11]:new_lswitch
out[12]:('virtualwire-65','/api/2.0/vdn/virtualwires/virtualwires/virtualwire-65')


所有模块函数都有可用的内联文档我们将指导您完成所需的参数rs:




in[1]:help(logical_switch_list)


logical_switch_list(client_session)
此函数返回在nsx中找到的所有逻辑开关
:param client_session:nsxclient session的实例
:return:返回元组,第一个元组item是一个元组列表,其中item 0包含ls name作为string
,item 1包含ls id作为string。第二项包含字典列表,其中包含
所有逻辑交换机详细信息


依赖项
==

(https://github.com/vmware/pyvmomi)-nsxramlclient
(https://github.com/vmware/nsxramlclient)-制表
(https://bitbucket.org/astanin/python tablate)


如果您运行
遇到安装问题


安装pynsxv
====br/>

pynsxv可以使用pip安装:

代码::shell


pip install pynsxv安装pynsxv

**`installing pynsxv on
windows<;安装%2%20Windows上的PyNSXV%20on%20Windows>;`\u**
`\各种各样的注意事项<;35 ``使用铂如果在安装这些依赖项时遇到问题,请参考"nsxramclient"和"pyvmomi"的github页。代码::shell

apt get update&;apt get upgrade-y
apt get install python openssl libxml2 dev libxslt dev python dev zlib1g dev python pip-y

代码::shell

sudo pip安装pynsxv

mt=12

…代码::shell

xcode select--install

如果您的系统上还没有安装python pip。有关如何执行此操作的说明,请参见:
https://pip.pypa.io/en/latest/installing/install or upgrade pip

。代码::shell

curl https://bootstrap.pypa.io/get-pip.py>;get-pip.py
sudo python get-pip.py

代码::shell

/usr/bin/ruby-e"$(curl-fssl https://raw.githubusercontent.com/homebrew/install/master/install)"


现在安装pynsxv所需的一些xml格式依赖项,并
底层nsxramlclient

。代码::shell

brew install libxml2
brew install libxslt
brew link libxml2--force
brew link libxslt--force

代码::shell

sudo pip install pynsxv

**注意**:osx 10.11 el capitan由于过时的依赖关系"六"而引入问题。由于OSX的新系统完整性保护(SIP)
PIP无法删除过时的版本并安装所需的版本:
http://apple.stackexchange.com/questions/209572/how-to-use-pip-after-the-os-x-el-capitan-upgrade/210021
http://stackoverflow.com/questions/31900008/oserror-errno-1-operation-not-allowed-when-installing-scrapy-in-osx-10-11

ULD安装新的非捆绑式PYTHon版本:

…代码::shell

brew install python

sudo pip uninstall pynsxv
sudo pip uninstall six
sudo pip uninstall pyyaml
sudo pip uninstall pyraml parser
sudo pip uninstall nsxramlclient

pip install pyopenssl
pip install pynsxv

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

**待完成**


如果您看到此警告消息:
~~~~~~~~~~~~~~~~~~~~

``userwarning:/home/vagrant/。python eggs可由组/其他人写入,在与get_resource_filename一起使用时易受攻击。考虑一个更安全的位置(用.set_extraction_path或python_egg_cache环境变量设置)。``

代码::shell

chmod g-wx,o-wx~/.python eggs


contribution
===


非常欢迎大家为pynsxv贡献。如果您想与
共享任何有趣的附加子命令、工作流、错误修复程序,您只需向我们发送一个pull请求。如果您有兴趣帮助我们编写丢失的功能,您可以在这个
存储库的github问题跟踪程序中看到我们正在跟踪的增强功能。在向我们发送请求之前,请确保
从"devel"分支提取最新代码,并在此分支基础上添加
。还请注意,在我们合并您的代码之前,可能会要求您签署参与者许可协议。当您提交第一个pull请求时,这种情况会自动发生。

如果您不想编写代码,我们仍然非常欢迎有关
测试和其他功能请求的任何帮助。如果您需要使用PynsXV的帮助,请随时与我们联系并在GitHub Issue Tracker中打开门票。



许可证
=



根据下面列出的X11(MIT)许可证("许可证")获得许可;除非符合许可证,否则您不能使用此文件。


除非适用法律或以书面形式同意,根据许可证分发的软件是在"按原样"的基础上分发的,
没有任何形式的保证或条件,无论是明示的还是暗示的。
请参阅许可证,了解管辖许可证的特定语言和
许可证的限制。

获得本软件和相关文档文件(即"软件")副本的人,无限制地使用本软件,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售本软件副本的权利,以及允许本软件的用户必须遵守以下条件:


上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。


本软件按"原样"提供,无任何形式的明示或暗示保证,包括但不限于
merch的保证可移植性、特定用途的适用性和非侵权性。
在任何情况下,作者或版权持有人均不对因软件或软件的使用或其他交易而产生的、由软件或与之相关的任何
索赔、损害赔偿或其他责任承担责任,无论是在合同诉讼中,
侵权或其他责任。

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

推荐PyPI第三方库


热门话题
java如何从tester类访问/更改ArrayList?   java如何在Android中以编程方式更改菜单标题   spring boot在Kafka Java中为同一主题创建多个消费者组   java JVM字节码表示法,注释语法。调用动力学   java活动在旋转后泄漏了窗口PopupWindow   java允许Nashorn运行用户代码   Java Joda Time实现一个日期范围迭代器   当字符串长度为奇数时使用递归打印字符串的java基本情况   java无法从JSONArray获取JSONObject   java有没有一种方法可以使用单个示例文件进行所有测试?   java My bufferedReader读取整个文件,而不仅仅是一行。为什么?   当已有用户输入时,java变量为null   java如何将正则表达式与阿拉伯语文本一起使用   java Selenium WebDriver“单击”和JavascriptExecutor单击之间有什么区别   java在运行代码时,排序方法会在第二个数组应该按升序或降序排序时打印相同的精确数组号   java如何在HashMap中添加多个具有相同键的相同类型的对象   java有人知道为什么菜单栏在使用系统gtk主题时会显示白色文本吗?   在tomcat中用java方法访问JavaScript文件