Как изменить свойства группы портов в vcenter, например, как заблокировать определенный порт группы виртуальных портов по MAC-адресу
Я хочу написать сценарий, который принимает имя группы виртуальных портов и MAC-адрес, на основе которого я хочу заблокировать определенный порт этой группы виртуальных портов. Есть ли способ сделать это с помощью API-интерфейсов pysphere?
1 ответ
Я смог добиться этого с помощью ReconfigureDVPort_Task API.
new_request = VI.ReconfigureDVPort_TaskRequestMsg()
all_switches = self.server._get_managed_objects(MORTypes.DistributedVirtualSwitch, from_mor=nfmor)
_this = new_request.new__this(all_switches.keys()[0])
_this.set_attribute_type(all_switches.keys()[0].get_attribute_type())
new_request.set_element__this(_this)
port = new_request.new_port()
setting = port.new_setting()
blocked = setting.new_blocked()
blocked.set_element_value(True)
blocked.set_element_inherited(False)
setting.set_element_blocked(blocked)
port.set_element_key(required_port.Key)
port.set_element_setting(setting)
port.set_element_operation('edit')
new_request.set_element_port([port])
ret = self.server._proxy.ReconfigureDVPort_Task(new_request)._returnval