=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