Невозможно изменить имя записи хоста в infoblox через infoblox-client - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь обновить 'имя записи хоста', и для достижения того же результата я использую infoblox-client, но я сталкиваюсь с препятствием, поскольку я не могу изменить / обновить запись хоста. Я попробовал то же самое через REST API и смог изменить имя по мере необходимости, но с помощью infoblox-client m застрял.

Ниже приведены шаги, которые я пытаюсь обновить запись:

opts = {'host': '192.168.1.10', 'username': 'admin', 'password': 'admin'}

conn = connector.Connector(opts)
my_ip = objects.IP.create(ip='192.168.1.25')
#to create new host record with parameters
record = objects.HostRecord.create(conn, view='my_dns_view', name='my_host_record.my_zone.com', ip=my_ip)

#to modify m trying following but no luck:

#1_both of below snippet adds a new name to record instead of upodating the same
-> result = objects.HostRecord.create(conn, view='my_dns_view', name='new_name.my_zone.com', ip=my_ip, check_if_exists=True, update_if_exists=True)

-> result = objects.ARecordBase.create(conn, ip='192.168.102.14', name='some-new_name.ansible.com', view='default', update_if_exists=True)

#2_I have gone through infoblox-client test case(test_update_fields_on_create) which I have following steps to modify record:
 a_record = [{'_ref': 'record:previously_created_record', 'ip': '192.168.1.52', 'name': 'other_name'}]

#this gives me error for host,username missing.
conn = connector.Connector(a_record)

#this results to None which ultimately blocks me
res = conn.get_object('record:host',a_record) 

1 Ответ

0 голосов
/ 15 мая 2018

Я смог решить проблему, перепутал с созданием и обновлением.

Итак, для любого, кто сталкивается с подобной проблемой, здесь есть закодированное решение:

    opts = {'host': '192.168.1.10', 'username': 'admin', 'password': 'admin'}
    conn = connector.Connector(opts)
    my_ip = objects.IP.create(ip='192.168.1.25')
    #to create new host record with parameters
    record = objects.HostRecord.create(conn, view='my_dns_view', name='host_record.my_zone.com', ip=my_ip)

    #to update the name, directly use update_object:
    testConn = conn.update_object(record._ref, {'name': 'new_name_host_record.my_zone.com'})

Простой .. Я бился вокруг куста раньше ..

...