NAME
DNS::NIOS - Perl binding for NIOS
VERSION
version 0.004
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};
DESCRIPTION
Perl bindings for https://www.infoblox.com/company/why-infoblox/nios-platform/
Normal usage
Normally, you will add some traits to the client, primarily DNS::NIOS::Traits::ApiMethods since it provides methods for some endpoints.
Minimal usage
Without any traits, DNS::NIOS provides access to all API endpoints using the methods described below.
CONSTRUCTOR
new
The following attributes are required at construction time:
username
Configures the username to use to authenticate the connection to the remote instance of NIOS.
password
Specifies the password to use to authenticate the connection to the remote instance of NIOS.
wapi_addr
DNS hostname or address for connecting to the remote instance of NIOS WAPI.
my $n = NIOS->new(
username => "username",
password => "password",
wapi_addr => "10.0.0.1",
);
Optional attributes:
insecure
Enable or disable verifying SSL certificates when
scheme
ishttps
. Default isfalse
.scheme
Default is
https
.timeout
The amount of time before to wait before receiving a response. Default is
10
.wapi_version
Specifies the version of WAPI to use. Default is
v2.7
.debug
traits
List of traits to apply, see DNS::NIOS::Traits.
METHODS
All methods require a path parameter that can be either a resource type (eg: "record:a") or a WAPI Object reference.
All methods return a DNS::NIOS::Response object.
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" }
}
}
);
delete
# Delete a WAPI Object Reference
$x = $n->delete(path => $object_ref);
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
}
);
update
# Update a WAPI Object Reference
$x = $n->update(
path => $object_ref,
payload => {
name => "updated_name"
}
);
AUTHOR
Christian Segundo <ssmn@cpan.org>
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)