2012-06-24 3 views
0

В настоящее время я использую Fog для управления поставщиком DNS DNS. Согласно документации, в объекте записи DNS есть метод destroy. Однако, когда я вызываю destroy, в записи ничего не происходит ... метод просто возвращает true, но он никогда не удаляется. Вот код, который я использую:fog and dyn destroy record

@dynect = Fog::DNS.new(
    :provider => "dynect", 
    :dynect_customer => "CUSTOMER", 
    :dynect_username => "USERNAME", 
    :dynect_password => 'PASSWORD' 
) 

@zone = @dynect.zones.get('zone.example.com') 
@record = @zone.records.find{|r| r.name == 'master.zone.example.com' && r.type == 'CNAME'} 
@record.destroy 
@zone.save 

Это вернет true, но ничего не произойдет - запись DNS все еще существует на Dyn.

Как удалить запись с помощью Fog and Dyn?

ответ

0

Оказывается, вам необходимо опубликовать (не сохранять) зону ... Это не очевидно, поскольку другие поставщики, такие как AWS, не требуют. Вот обновленный фрагмент кода:

@dynect = Fog::DNS.new(
    :provider => "dynect", 
    :dynect_customer => "CUSTOMER", 
    :dynect_username => "USERNAME", 
    :dynect_password => 'PASSWORD' 
) 

@zone = @dynect.zones.get('zone.example.com') 
@record = @zone.records.find{|r| r.name == 'master.zone.example.com' && r.type == 'CNAME'} 
@record.destroy 
@zone.publish # changed this 
Смежные вопросы