Infoblox APIを使用して、Infoblox アプライアンスの nsgroup のセカンダリ DNS サーバーを変更したいと考えています。元の nsgroup には 2 つのセカンダリ DNS サーバーが含まれており、1 つの DNS セカンダリ サーバーを配置したいと考えています (もちろん 1 つのマスターを使用)。
次のコードは、nsgroup のコメントを変更しますが、NS グループのセカンダリ サーバーは変更しません。私は常に 2 つのセカンダリ DNS サーバーを持っています。コードはエラーを引き起こしません。
sub nsGroupSlave {
# https://ipam.illinois.edu/api/doc/Infoblox/Grid/DNS/Nsgroup.html
my @retrieved_obj = $session->get(
object => "Infoblox::Grid::DNS::Nsgroup",
name => "Interne");
my $nsg1 = $retrieved_obj[0];
unless ($nsg1){
msg(t() . "ERROR : " . Infoblox::status_code() . ":" . Infoblox::status_detail(),$v);
} else {
msg(t() . "OK",$v);
}
my @retrieved_objsp = $session->get(
object => "Infoblox::Grid::Member",
name => "ns1.intra.example.com"
);
my $nsp = $retrieved_objsp[0];
my @retrieved_objssi = $session->get(
object => "Infoblox::Grid::Member",
name => "nsZ.intra.example.com"
);
my $nssi = $retrieved_objssi[0];
my @result_array = $session->get(
"object" => "Infoblox::Grid::DNS" ,
"grid" => "infoblox"
);
my $object = $result_array[0];
$nsg1->primary($nsp);
$nsg1->secondaries([$nssi]);
$nsg1->comment("Modify by restore-backup");
my $response1 = $session->modify($nsg1);
unless ($response1) {
msg(t() . "FAIL : ", $session->status_code() . ":" . $session->status_detail(),$v);
}
$object->nsgroups( [ $nsg1 ] );
my $response3 = $session->modify($object);
unless ($response3) {
msg(t() . "FAIL : ", $session->status_code() . ":" . $session->status_detail(),$v);
}
$session->restart();
}