Всем привет!
У кого есть опыт работы с SRM SOAP API.
Задача: добавить новую ВМ в protection group через soap api на python. Используется Protection Type: Individual VMs (vSphere Replication)
Для этого необходимо вызвать 2 метода объекта SrmProtectionGroup: ProtectVms() и AssociateVms().
С AssociateVms() всё OK - ВМ добавляется в группу, но у неё не настроены mappings (protection status: Not Configured).
При вызове ProtectVms() ошибка:
...
<soapenv:Fault><faultcode>ServerFaultCode</faultcode><faultstring>
Required property vm is missing from data object of type SrmProtectionGroupVmProtectionSpec
while parsing serialized DataObject of type drextapi.ProtectionGroup.VmProtectionSpec
...
Т.е. функция требует дополнительный аргумент, в котором, судя по всему, описаны mappings.
XML запроса:
data_protect_vms = """
<soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:srm0">
<soapenv:Header/>
<soapenv:Body>
<urn:ProtectVms>
<urn:_this type="SrmProtectionGroup">srm-vm-protection-group-1271</urn:_this>
<urn:vms>vm-481</urn:vms>
</urn:ProtectVms>
</soapenv:Body>
</soapenv:Envelope>
"""
Очевидно, что требуется добавить строчку:
<urn:SrmProtectionGroupVmProtectionSpec>some_value</urn:SrmProtectionGroupVmProtectionSpec>
Вопрос: Какой формат должен быть у some_value? Как получить mappings и корректно их поместить в some_value?
Буду благодарен за любые советы и идеи.