2012-06-24 27 views
0

我目前使用霧來管理Dyn DNS提供商。根據文檔,DNS記錄對象上有一個destroy方法。但是,當我打電話給destroy時,在記錄中,沒有任何反應......該方法只是返回true,但它永遠不會被刪除。這裏是我正在使用的代碼:霧和戴恩銷燬記錄

@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和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