一个简单的Velocloud Orchestrator(VCO)Python客户端
vcoclient的Python项目详细描述
vcoclient.py(0.1.6版)
一个简单的Velocloud Orchestrator(VCO)Python客户端
我们的想法是采用Linux方法,并拥有一个VCO客户机,可以在Linux下的复杂工作流中使用。
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout
它使用argparse,并且是函数挂钩。每一个功能挂钩,都是一个完成某件事情的小方法。
状态
<表>安装
兼容性
下面的矩阵给出了vco客户端版本,在该版本上对其进行了测试。
出于正常原因,只有当前的VCO版本将用于测试,因此VCoclient(和工作流示例)将相应地更新/维护。当前的VCO版本将以bold的形式投放市场
注意:针对不同的VCO版本使用不同版本的VCoclient可能会导致不必要的结果,不建议使用。
在Linux和/或MacOS操作系统上执行的所有测试。没有理由不让它与Windows一起工作,但您已收到警告。
<表>说明
要安装最新版本,请使用:
pip3安装vcoclient
要安装特定版本,例如0.1.4版,请使用:
pip3安装vcoclient==0.1.4
使用
全球环境变量
为了影响程序行为并避免使用--
选项,可以对某些选项使用全局环境变量:
全球计划选项
[iddoc@homeserver:/scripts] vcoclient.py --help usage: vcoclient.py [-h] --vco HOSTNAME [--output {pandas,json, csv}]{login,logout,edges_get,sysprop_set} ... A simple VeloCloud Orchestrator (VCO) client via Python positional arguments: {login,logout,edges_get,sysprop_set} optional arguments: -h, --help show this help message and exit --vco HOSTNAME Hostname/IP of VCO --output {pandas,json,csv} Pandas tables are used as default output method but one can also use 'json' or csv
还可以使用一个名为vco_host的特殊操作系统变量,用于--vco
,而无需一直输入主机名,例如:
[iddoc@homeserver:/scripts]exportVCO_HOST="192.168.2.55"[iddoc@homeserver:/scripts] vcoclient.py edges_get
示例
以pandas格式输出到shell
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 --output=pandas edges_get --search=Branch1 activationKey HS7S-QKPA-ZZCC-PG74 activationKeyExpires 2019-05-28T11:53:33.000Z activationState ACTIVATED activationTime 2019-04-28T11:55:38.000Z ...
或json格式
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 --output=json edges_get --search=Branch1 | python -m json.tool {"activationKey": {"0": "HS7S-QKPA-ZZCC-PG74"}, "activationKeyExpires": {"0": "2019-05-28T11:53:33.000Z"}, "activationState": {"0": "ACTIVATED"}, "activationTime": {"0": "2019-04-28T11:55:38.000Z"}, ...
或CSV格式
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 --output=csv edges_get --search=Branch1 ,activationKey,activationKeyExpires,activationState,activationTime,alertsEnabled,buildNumber,certificates,configuration.enterprise.id,configuration.enterprise.modules,configuration.enterprise.name,configuration.operator.id,configuration.operator.modules,configuration.operator.name,created,description,deviceFamily,deviceId,dnsName,edgeHardwareId,edgeState,edgeStateTime,endpointPkiMode,enterpriseId,factoryBuildNumber,factorySoftwareVersion,haLastContact,haPreviousState,haSerialNumber,haState,id,isLive,lastContact,links,logicalId,modelNumber,modified,name,operatorAlertsEnabled,recentLinks,selfMacAddress,serialNumber,serviceState,serviceUpSince,site.city,site.contactEmail,site.contactMobile,site.contactName,site.contactPhone,site.country,site.created,site.id,site.lat,site.locale,site.lon,site.modified,site.name,site.postalCode,site.shippingAddress,site.shippingAddress2,site.shippingCity,site.shippingContactName,site.shippingCountry,site.shippingPostalCode,site.shippingSameAsLocation,site.shippingState,site.state,site.streetAddress,site.streetAddress2,site.timezone,siteId,softwareUpdated,softwareVersion,systemUpSince 0,HS7S-QKPA-ZZCC-PG74,2019-05-28T11:53:33.000Z,ACTIVATED,2019-04-28T11:55:38.000Z,1,R322-20190212-GA,"[{'id': 5, 'created': '2019-04-28T11:55:39.000Z', 'csrId': 5, 'edgeId': 2, 'edgeSerialNumber': 'VMware-42372a8feed7928a-96a106d97231cc5b', 'enterpriseId': 1, 'certificate': '-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIJAMqB79bHrnyJMA0GCSqGSIb3DQEBCwUAMDAxDDAKBgNV\nBAMTA3ZjbzEMMAoGA1UECxMDT1BTMRIwEAYDVQQKEwlWZWxvQ2xvdWQwHhcNMTkw\nNDI3MTE1NTM5WhcNMTkwNzI3MTE1NTM5WjCBoDEtMCsGA1UEAxMkY2RmMTNlNmUt\nMTNlMC00YTZlLTgwYTgtNmQxZmQ1NTE1ZGM4MS0wKwYDVQQKEyRlZTllY2ZiMi01\nNDQyLTRjYzgtOTQ0MC01NzVkM2Y3MzIyMzYxMTAvBgNVBAUTKFZNd2FyZS00MjM3\nMmE4ZmVlZDc5MjhhLTk2YTEwNmQ5NzIzMWNjNWIxDTALBgNVBAwTBGVkZ2UwggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5qm7tr5NdW/Ei9LA1Pq5L5B5B\nA2909MAk3bmnQUD3SGxaPmsaZOlQ4RZea0xX9i/1YicX+iv19/Uch5O7Ogp4qlua\ndWP6h/36ye1dosGXe5iS61gQBvyc862o1thoJwDrRQrrA6ls0dUmwpZ23yX6Po7T\n/12M0liYVM2rbMv9Cjp3IPp02wrKPmrrkQGPoi9L7nJXtw/ejOhpxb+j++pwsAlk\nPFdt1cU2OB+LCrrhCxivmuOw+TcS9a+H3qNnZaLkTGC7S3sv93u3+Uq0c1dBiNoQ\nLMAxRUE5jErVgfWMsKJGnHKFwr9KaIEgJ9iXDoWei5G0+Y5UL1AMLlaLV8RJAgMB\nAAGjYTBfMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQU\nSELl9l8JeqVuteTUNDQdY+kcEwUwHwYDVR0jBBgwFoAUYaTXIGB2WA2o/jiiwmoZ\n69ZxPQ4wDQYJKoZIhvcNAQELBQADggEBAKwii0EYuR9GSpysBFLW42h3piYUQexV\n3bGl4l7ASo7OdUtUZ0Of/xls3qqKcZDz7DmbFnFgsxkraFfNJflzj+vhaBHf4kcS\n/rZGCKyS840lndGkqIPM9Gu+oBX1RoblVA3hRQvqSugye8srEgmG6YsEPAtv5Fo4\npw079wMmkTb3rP1LslMT3Mcrc/7VnGkq/F5owwpueBF13XJfJhXZP2/eAQ4gDSF/\n1f4DLHJzDliSYDRN5C+jrWm3JVIu5vvJUIQSN3PAimZOgo5pjOridJvIdxRjCrlf\n4oFWVTQM5R0IQZTIbBwBHE0vkwHPbIV9RybYOm9aaT60NRSYLCqmboI=\n-----END CERTIFICATE-----\n', 'serialNumber': 'CA81EFD6C7AE7C89', 'subjectKeyId': '4842e5f65f097aa56eb5e4d434341d63e91c1305', 'fingerPrint': '780ac499e5e4f2968c9b35d03bdc70ef87069050', 'validFrom': '2019-04-27T11:55:39.000Z', 'validTo': '2019-07-27T11:55:39.000Z'}, {'id': 6, 'created': '2019-04-28T12:18:30.000Z', 'csrId': 6, 'edgeId': 2, 'edgeSerialNumber':....
登录-方法
一个人需要通过VCO的用户名和密码来验证自己。用户可以是"operator"或"enterprise",因此对VCO有不同的权限。
请注意:一旦调用此方法,就会创建会话cookie。会话cookie保存在/tmp/<;hostname>;.txt
下,以后由新方法调用使用(因此不需要每次都使用login方法)。由于cookie没有过期日期,VCO在会话过期时保留时间,因此建议每隔一段时间执行一次登录方法以确保不会随着时间的推移而损坏任何内容。
以后可能要做的是,存储会话时间并进行相应的检查。
[iddoc@homeserver:/scripts] vcoclient.py login --help usage: vcoclient.py login [-h] --username USERNAME [--password PASSWORD][--no-operator] optional arguments: -h, --help show this help message and exit --username USERNAME Username for Authentication --password [PASSWORD] Password for Authentication --no-operator Per default we login as operator to VCO. If not, use this flag
示例
请使用不安全的方法提供密码:
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password=VeloCloud123 [iddoc@homeserver:/scripts]
或者使用更安全的方法提供:
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts]
或者使用vco_user和/或vco_pass环境变量向脚本本身传递任何登录信息:
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout0
注销-方法
logout方法从VCO本身logsout并删除存储在/tmp/<;hostname>;.txt下的会话cookie
使用vcoclient.py的不同方法完成后使用它是最佳实践
示例
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout1
获取边-方法
从VCO获取所有或过滤的Velocloud边(VCE)的列表。每个值都可以进行搜索,只获得一个名为vce和一个筛选键。每个方法(--name
,--filters
或--search
),都可以使用""查找多个值(例如,要查找多个名为branch1或branch2的vce,请使用"`--name="branch1 branch2")。这给了一个强大的选项,可以比较和评估多个VCE,并将这些返回值用于另一个工作流。
--enterpriseID
可用于在VCO中查找来自特定客户的所有指定VCE。对于基于msp的用户,这是必须使用的。
请注意:--name
、--search
和--filters
都在进行松散搜索,而不是完全匹配,这意味着您将获得更多的值,然后可能会请求这些值,但您不需要对搜索非常具体。也许作为一个待办事项,在未来提供不同的选择。
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout2
示例
要使用所有值和键获取所有VCE,请使用默认值:
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout3
或者使用--name
筛选一个分支:
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout4
或几个:
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout5
另一个选项是使用--filters
选项从返回中筛选特定值,例如,如果要筛选ActivationKey,则ActivationKeyExpires用于所有或某些边:
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout6
或者可以将其与--name
结合使用,并对其进行更具体的筛选:
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout7
更重要的是,可以使用--search
在VCE属性中搜索任何值,让我们看看如果要查看所有值,该怎么办:
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout8
在后台,当使用*
时,搜索会展平返回的json并返回所有值。但是,也可以搜索特定值,例如,让我们使用191搜索接口属性。或10。IPs:
[iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 login --username=super@domain.com --password Password: [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 edges_get Branch1 Branch2 Branch3 Branch4 activationKey HS7S-QKPA-ZZCC-PG74 LHH3-8B4R-7XVJ-6J3V JTWH-EHNW-7LUG-YQ9T YZ8U-CKTY-8MTL-FP4R activationKeyExpires 2019-05-28T11:53:33.000Z 2019-05-19T16:58:53.000Z 2019-06-01T10:32:39.000Z 2019-06-01T16:10:54.000Z activationState ACTIVATED ACTIVATED ACTIVATED ACTIVATED activationTime 2019-04-28T11:55:38.000Z 2019-04-19T17:17:51.000Z 2019-05-02T10:55:10.000Z 2019-05-02T19:18:20.000Z alertsEnabled 1111 buildNumber R322-20190212-GA R322-20190212-GA R322-20190212-GA R322-20190212-GA created 2019-04-19T15:48:50.000Z 2019-04-19T16:58:53.000Z 2019-05-02T10:32:39.000Z 2019-05-02T16:10:54.000Z ... ... ... ... ... [iddoc@homeserver:/scripts] vcoclient.py --vco=192.168.2.55 logout9
并仅为所有VCE(Branch1 ha、Branch-2、Branch-3或Branch-4)筛选"IP地址"列:
α、α、α二十所有这些输出都可以转换为csv或json。
获取客户VCE(作为MSP或运营商)-方法
要获取作为MSP/合作伙伴或运营商的所有VCE的列表,可以使用MSP_customers_get
或operator_customers_get
。与edges-get方法一样,可以使用--search
。--筛选
和--名称以相应地缩小结果范围。
示例
msp_customers_get的帮助输出
:
[iddoc@homeserver:/scripts] vcoclient.py --help usage: vcoclient.py [-h] --vco HOSTNAME [--output {pandas,json, csv}]{login,logout,edges_get,sysprop_set} ... A simple VeloCloud Orchestrator (VCO) client via Python positional arguments: {login,logout,edges_get,sysprop_set} optional arguments: -h, --help show this help message and exit --vco HOSTNAME Hostname/IP of VCO --output {pandas,json,csv} Pandas tables are used as default output method but one can also use 'json' or csv1
以及operator\u custmers\u get的帮助输出:
[iddoc@homeserver:/scripts] vcoclient.py --help usage: vcoclient.py [-h] --vco HOSTNAME [--output {pandas,json, csv}]{login,logout,edges_get,sysprop_set} ... A simple VeloCloud Orchestrator (VCO) client via Python positional arguments: {login,logout,edges_get,sysprop_set} optional arguments: -h, --help show this help message and exit --vco HOSTNAME Hostname/IP of VCO --output {pandas,json,csv} Pandas tables are used as default output method but one can also use 'json' or csv2
这里有一个例子(客户名称和帐号故意模糊):
[iddoc@homeserver:/scripts] vcoclient.py --help usage: vcoclient.py [-h] --vco HOSTNAME [--output {pandas,json, csv}]{login,logout,edges_get,sysprop_set} ... A simple VeloCloud Orchestrator (VCO) client via Python positional arguments: {login,logout,edges_get,sysprop_set} optional arguments: -h, --help show this help message and exit --vco HOSTNAME Hostname/IP of VCO --output {pandas,json,csv} Pandas tables are used as default output method but one can also use 'json' or csv3
在网关后面获取边缘
此方法将使您能够获得给定客户背后的所有/某些网关
[iddoc@homeserver:/scripts] vcoclient.py --help usage: vcoclient.py [-h] --vco HOSTNAME [--output {pandas,json, csv}]{login,logout,edges_get,sysprop_set} ... A simple VeloCloud Orchestrator (VCO) client via Python positional arguments: {login,logout,edges_get,sysprop_set} optional arguments: -h, --help show this help message and exit --vco HOSTNAME Hostname/IP of VCO --output {pandas,json,csv} Pandas tables are used as default output method but one can also use 'json' or csv4
示例
获取与该企业关联的网关:
[iddoc@homeserver:/scripts] vcoclient.py --help usage: vcoclient.py [-h] --vco HOSTNAME [--output {pandas,json, csv}]{login,logout,edges_get,sysprop_set} ... A simple VeloCloud Orchestrator (VCO) client via Python positional arguments: {login,logout,edges_get,sysprop_set} optional arguments: -h, --help show this help message and exit --vco HOSTNAME Hostname/IP of VCO --output {pandas,json,csv} Pandas tables are used as default output method but one can also use 'json' or csv5
为客户提供通道
此方法将使您能够在给定的网关后面获取所有/某些边
[iddoc@homeserver:/scripts] vcoclient.py --help usage: vcoclient.py [-h] --vco HOSTNAME [--output {pandas,json, csv}]{login,logout,edges_get,sysprop_set} ... A simple VeloCloud Orchestrator (VCO) client via Python positional arguments: {login,logout,edges_get,sysprop_set} optional arguments: -h, --help show this help message and exit --vco HOSTNAME Hostname/IP of VCO --output {pandas,json,csv} Pandas tables are used as default output method but one can also use 'json' or csv6
示例
获取网关后面的所有边(输出隐藏):
[iddoc@homeserver:/scripts] vcoclient.py --help usage: vcoclient.py [-h] --vco HOSTNAME [--output {pandas,json, csv}]{login,logout,edges_get,sysprop_set} ... A simple VeloCloud Orchestrator (VCO) client via Python positional arguments: {login,logout,edges_get,sysprop_set} optional arguments: -h, --help show this help message and exit --vco HOSTNAME Hostname/IP of VCO --output {pandas,json,csv} Pandas tables are used as default output method but one can also use 'json' or csv7
获取给定边的链接度量
可以在给定时间内获得特定VCE的链接度量。
[iddoc@homeserver:/scripts] vcoclient.py --help usage: vcoclient.py [-h] --vco HOSTNAME [--output {pandas,json, csv}]{login,logout,edges_get,sysprop_set} ... A simple VeloCloud Orchestrator (VCO) client via Python positional arguments: {login,logout,edges_get,sysprop_set} optional arguments: -h, --help show this help message and exit --vco HOSTNAME Hostname/IP of VCO --output {pandas,json,csv} Pandas tables are used as default output method but one can also use 'json' or csv8
示例
获取过去到现在给定客户的给定边缘的所有链接的度量:
[iddoc@homeserver:/scripts] vcoclient.py --help usage: vcoclient.py [-h] --vco HOSTNAME [--output {pandas,json, csv}]{login,logout,edges_get,sysprop_set} ... A simple VeloCloud Orchestrator (VCO) client via Python positional arguments: {login,logout,edges_get,sysprop_set} optional arguments: -h, --help show this help message and exit --vco HOSTNAME Hostname/IP of VCO --output {pandas,json,csv} Pandas tables are used as default output method but one can also use 'json' or csv9
设置系统属性
VCO的系统属性可以更改/添加。仅适用于"操作员"模式,但在预安装VCO时需要。
请注意:某些系统属性可能会破坏VCO并小心使用此方法。
[iddoc@homeserver:/scripts]exportVCO_HOST="192.168.2.55"[iddoc@homeserver:/scripts] vcoclient.py edges_get0
示例
为VCO启用Google API:
[iddoc@homeserver:/scripts]exportVCO_HOST="192.168.2.55"[iddoc@homeserver:/scripts] vcoclient.py edges_get1
未来改进
- 在客户机中完成TODOS
- 添加更多有用的函数:
- 合作伙伴网关设置方法
- 边缘设置方法
贡献
- 分叉(https://github.com/iddocohen/vcoclient/fork" rel="nofollow">https://github.com/iddocohen/vcoclient/fork)
- 创建功能分支(
git checkout-b feature/foobar
) - 提交更改(
git commit-am'add some foobar'
) - 推到分支(
git push origin feature/foobar
) - 创建新的拉取请求 < > >
许可证
麻省理工学院,请参见许可证