Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

One more question
I want to expand this Service with DELETE request
In this case my output2.csv should have this look:

output2.csv (id,name,description,ip) - Secondary System

01,TEST_1,,10.56.7.80 02,TEST_2,bla,10.57.80.9 03,TEST_3,,10.60.251.9

output1.csv (name,ip) - Primary System
TEST_1,10.56.7.80 TEST_6,10.66.251.9 TEST_5,10.66.81.9

I should check, if there is device in Secondary System, that absent in Primary System with out description.
In my case thist is TEST_3
I should delete such devices
I've tried to do it with the previous example, but I do not know perl really good.....

#!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; use XML::Twig; use autodie; use Data::Dumper; my @filename = ('output1.csv', 'output2.csv'); my %file1 = () ; open my $fh, '<', $filename[0]; # using autodie while (<$fh>){ chomp; my ($name,$ip) = split /\s*,\s*/; $file1{$name} = $ip; } close $fh; my %file2 = () ; my %ip2name = (); open $fh, '<', $filename[1]; # using autodie while (<$fh>){ chomp; my ($id,$name,$description,$ip) = split /\s*,\s*/; $file2{$name} = [$id,$ip]; # $ip2name{$ip} = [$id,$name]; } close $fh; # determine updates and additions requires my @delete =(); foreach my $name (sort keys %file2) { my $ip1 = $file2{$name}; if ( not exists $file1{$name} ){ # check if ip exists if ( $description=null ){ my $id = $ip2name{$ip1}; print "DELETE name : '$name'\n"; push @delete,[$id,$name,$description,$ip] } } } my $ua = LWP::UserAgent->new( ssl_opts=> { # SSL_verify_mode => SSL_VERIFY_NONE, verify_hostname => 0,} ); for (@delete){ my ($id,$name,$description,$ip1) = @$_; my $uri="https://hostname:9060/ers/config/networkdevice/$id"; my $req = HTTP::Request->new('DELETE', $uri, [Accept=>'application/vnd.com.cisco.ise.network.networkdevice.1.1 ++xml', Content_Type=>'application/vnd.com.cisco.ise.network.networkdevic +e.1.1+xml; charset=utf-8']); $req->authorization_basic("user", "user"); print $req->as_string; # testing my $res = $ua->request($req); if ($res->is_success) { print $res->status_line, "\n"; } else { print $res->status_line, "\n"; } } }

There is no Problem this the Server, when I'm doing multiply DELETE separately
I think my promlem is here:

foreach my $name (sort keys %file2) { my $ip1 = $file2{$name}; if ( not exists $file1{$name} ){ # check if ip exists if ($description=null){ my $id = $ip2name{$ip1}; print "DELETE name : '$name'\n"; push @delete,[$id,$name,$description,$ip] } }

In reply to Re^4: HTTP PUT Request with separate values in csv by StayCalm
in thread HTTP PUT Request with separate values in csv by StayCalm

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (7)
As of 2024-04-19 10:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found