=pod =encoding UTF-8 =head1 NAME DNS::NIOS - Perl binding for NIOS =head1 VERSION version 0.004 =head1 SYNOPSIS # Read below for a list of options my $n = NIOS->new( username => "username", password => "password", wapi_addr => "10.0.0.1", ); $x = $n->get( path => 'record:a', params => { _paging => 1, _max_results => 1, _return_as_object => 1 } ); say $x->content->{result}[0]->{_ref}; =head1 DESCRIPTION Perl bindings for L =head2 Normal usage Normally, you will add some traits to the client, primarily L since it provides methods for some endpoints. =head2 Minimal usage Without any traits, DNS::NIOS provides access to all API endpoints using the methods described below. =head1 CONSTRUCTOR =for Pod::Coverage BUILD =head2 new The following attributes are required at construction time: =over 4 =item * C Configures the username to use to authenticate the connection to the remote instance of NIOS. =item * C Specifies the password to use to authenticate the connection to the remote instance of NIOS. =item * C DNS hostname or address for connecting to the remote instance of NIOS WAPI. =back my $n = NIOS->new( username => "username", password => "password", wapi_addr => "10.0.0.1", ); Optional attributes: =over 4 =item * C Enable or disable verifying SSL certificates when C is C. Default is C. =item * C Default is C. =item * C The amount of time before to wait before receiving a response. Default is C<10>. =item * C Specifies the version of WAPI to use. Default is C. =item * C =item * C List of traits to apply, see L. =back =head1 METHODS =over =item * All methods require a path parameter that can be either a resource type (eg: "record:a") or a WAPI Object reference. =item * All methods return a L object. =back =head2 create # Create a new A record: my $x = $n->create( path => "record:a", payload => { name => "rhds.ext.home", ipv4addr => "10.0.0.1", extattrs => { "Tenant ID" => { value => "home" }, "CMP Type" => { value => "OpenStack" }, "Cloud API Owned" => { value => "True" } } } ); =head2 delete # Delete a WAPI Object Reference $x = $n->delete(path => $object_ref); =head2 get # List all A records with: # pagination # limiting results to 1 # returning response as an object $x = $n->get( path => 'record:a', params => { _paging => 1, _max_results => 1, _return_as_object => 1 } ); =head2 update # Update a WAPI Object Reference $x = $n->update( path => $object_ref, payload => { name => "updated_name" } ); =head1 AUTHOR Christian Segundo =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2021 by Christian Segundo. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) =cut