forked from thesisInProgress/FirstStepThesis
/
csc4.py
79 lines (63 loc) · 2.58 KB
/
csc4.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import atexit
from pyVim import connect
from pyVim.connect import Disconnect
from pyVmomi import vim
from tools import cli
def setup_args():
"""
Get standard connection arguments
"""
parser = cli.build_arg_parser()
my_args = parser.parse_args()
return cli.prompt_for_password(my_args)
def main():
"""
Simple command-line program for listing the virtual machines on a host.
"""
args = setup_args()
si = None
try:
si = connect.ConnectNoSSL(host=args.host,
user=args.user,
pwd=args.password,
port=int(args.port))
atexit.register(Disconnect, si)
print("No SSL Connection: warning!!")
except vim.fault.InvalidLogin:
raise SystemExit("Unable to connect to host "
"with supplied credentials.")
content = si.RetrieveContent()
# print(vim.ServiceInstance.RetrieveContent(si))
###########################################
# Get CSC 1.1 information: search VMs
# by network(s), for each foun
# get informations.
# Note: unable to find network informmation
# on the vm, like ip address
###########################################
dataStore = content.rootFolder.childEntity
for data in dataStore:
vm = data.vmFolder.childEntity
for virtual in vm:
# print("Hosts: ", virtual.summary)
#####################################################################################
# CIS 8.2.1 to 8.2.5
#####################################################################################
print("Name: " + virtual.config.name)
#####################################################################################
# CIS 8.2.6 and 8.2.7- connectable.allowGuestControl
#####################################################################################
print("Vm num: ", virtual.config.hardware)
# print("Summary: " , virtual.summary.config)
stores = data.datastore
# for datas in stores:
# datasNames = datas.info
# print(datasNames)
# print("name:", datasNames.name)
# print("url: ", datasNames.url)
# print("UUID: ", datasNames.vmfs.uuid)
# print("Capacity: ", datasNames.vmfs.capacity)
# fw = host.config.storageDevice
# print(fw)
if __name__ == "__main__":
main()