Net::Intermapper::Vertice - Interface with the HelpSystems Intermapper HTTP API - Vertices
use Net::Intermapper; my $intermapper = Net::Intermapper->new(hostname=>"10.0.0.1", username=>"admin", password=>"nmsadmin"); # Options: # hostname - IP or hostname of Intermapper 5.x and 6.x server # username - Username of Administrator user # password - Password of user # ssl - SSL enabled (1 - default) or disabled (0) # port - TCP port for querying information. Defaults to 8181 # modifyport - TCP port for modifying information. Default to 443 # cache - Boolean to enable smart caching or force network queries my %users = $intermapper->users; my $users_ref = $intermapper->users; # Retrieve all users from Intermapper, Net::Intermapper::User instances # Returns hash or hashref, depending on context my %devices = $intermapper->devices; my $devices_ref = $intermapper->devices; # Retrieve all devices from Intermapper, Net::Intermapper::Device instances # Returns hash or hashref, depending on context my %maps = $intermapper->maps; my $maps_ref = $intermapper->maps; # Retrieve all maps from Intermapper, Net::Intermapper::Map instances # Returns hash or hashref, depending on context my %interfaces = $intermapper->interfaces; my $interfaces_ref = $intermapper->interfaces; # Retrieve all interfaces from Intermapper, Net::Intermapper::Interface instances # Returns hash or hashref, depending on context my %vertices = $intermapper->vertices; my $vertices_ref = $intermapper->vertices; # Retrieve all vertices from Intermapper, Net::Intermapper::Vertice instances # Returns hash or hashref, depending on context my $user = $intermapper->users->{"admin"}; # Each class will generate specific header. These are typically only for internal use but are compliant to the import format Intermapper uses. print $user->header; print $device->header; print $map->header; print $interface->header; print $vertice->header; print $user->toTAB; print $device->toXML; # This one is broken still! print $map->toCSV; # Works on ALL subclasses # Produce human-readable output of each record in the formats Intermapper supports my $user = Net::Intermapper::User->new(Name=>"testuser", Password=>"Test12345"); my $response = $intermapper->create($user); # Create new user # Return value is HTTP::Response object my $device = Net::Intermapper::Device->new(Name=>"testDevice", MapName=>"TestMap", MapPath=>"/TestMap", Address=>"10.0.0.1"); my $response = $intermapper->create($device); # Create new device # Return value is HTTP::Response object $user->Password("Foobar123"); my $response = $intermapper->update($user); # Update existing user # Return value is HTTP::Response object my $user = $intermapper->users->{"bob"}; my $response = $intermapper->delete($user); # Delete existing user # Return value is HTTP::Response object my $device = $intermapper->devices->{"UniqueDeviceID"}; my $response = $intermapper->delete($device); # Delete existing device # Return value is HTTP::Response object my $users = { "Tom" => $tom_user, "Bob" => $bob_user }; $intermapper->users($users); # At this point, there is no real reason to do this as update, create and delete work with explicit arguments. # But it can be done with users, devices, interfaces, maps and vertices # Pass a hashref to each method. This will NOT affect the smart-caching (only explicit calls to create, update and delete do this - for now).
Class constructor. Returns object of Net::Intermapper::Vertice on succes. Attributes are:
Name of the map file containing the vertex.
A unique, persistent identifier for this vertex instance. The id will be unique across all maps on a single InterMapper server. This value is used for lookups in the users method in Net::Intermapper.
users
The name of the vertex. The name is the first non-empty line in a device or network's label on a map.
Color (valid names: white, black, red, orange, yellow, blue, green, brown)
Font name, eg. Bodoni MT
Font size in points.
Font style (bold, italic, plain)
Vertex label.
Label position. Valid values are topleft, top, topright, left, center, right, bottomleft, bottom, bottomright
Vertex label template.
True if the vertex label is visible (only used when the device is represented by an icon)
The unique Id of the map file containing the vertex.
The origin determines whether the vertex coordinates are relative to the center or one of the sides of the vertex. Valid values: center, top, left, right, botom, topleft, topright, bottomright, bottomleft.
Vertex shape (rect, oval, wire, cloud, text, or icon name).
True if the vertex is a vantage point of the graph
Horizontal map coordinate, the positive direction is to the right.
Vertical map coordinate, the positive direction is to the bottom.
The Vertex Id of the vertex. Corresponds to the device with a matching VertexID in the devices table.
Returns the directive aka data header required by the Intermapper API to perform CRUD actions. This is handled through the create, update and delete method and should not really be used.
directive
create
update
delete
Returns the object data formatted in TAB delimited format. Used in combination with the header and the format method in Net::Intermapper to perform CRUD actions. This is handled through the create, update and delete method and should not really be used.
header
format
Returns the object data formatted in Comma Separated delimited format. Used in combination with the header and the format method in Net::Intermapper to perform CRUD actions. This is handled through the create, update and delete method and should not really be used.
Returns the object data formatted in XML format. Used in combination with the header and the format method in Net::Intermapper to perform CRUD actions. This is handled through the create, update and delete method and should not really be used.
Internal method to properly format the data and header for CRUD actions. Typically not used.
NEEDS TO BE ADDED
This variable will contain detailed error information.
For this library to work, you need an instance with Intermapper (obviously) or a simulator like Net::Intermapper::Mock.
None yet
None yet :)
Hendrik Van Belleghem CPAN ID: BEATNIK hendrik.vanbelleghem@gmail.com
This program is free software licensed under the...
The General Public License (GPL) Version 2, June 1991
The full text of the license can be found in the LICENSE file included with this module.
http://download.intermapper.com/docs/UserGuide/Content/09-Reference/09-05-Advanced_Importing/the_directive_line.htm http://download.intermapper.com/schema/imserverschema.html
To install Net::Intermapper, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::Intermapper
CPAN shell
perl -MCPAN -e shell install Net::Intermapper
For more information on module installation, please visit the detailed CPAN module installation guide.