Infoblox::DHCP::Network - DHCP Network object
When DHCP services are configured on an appliance, a network must be defined that it serves. After a network is created, you can then create all the subnetworks individually or create a parent network that encompasses all the subnetworks.
my $network = Infoblox::DHCP::Network->new( network => $ipv4_subnet/prefix, #Required, when creating a network ipv4addr => $ipv4addr, #Use this parameter instead of "network", when using a template with 'allow_any_netmask' set to false to create a network. authority => "true" | "false"| undef, #Optional / Default is undefined auto_create_reversezone => "true" | "false"| undef, #Optional / Default is undefined bootfile => $filename | undef, #Optional / Default is undefined bootserver => $ipv4addr | $fqdn | undef, #Optional / Default is undefined comment => $string| undef, #Optional / Default is undefined ddns_domainname => $string| undef, #Optional / Default is undefined ddns_generate_hostname => "true" | "false" | undef, #Optional / Default is undefined ddns_server_always_updates => "true" | "false", #Optional / Default is "true" ddns_ttl => $num, #Optional / Default is "0" ddns_use_option81 => "true" | "false" | undef, #Optional / Default is undefined ddns_update_fixed_addresses => "true" | "false" | undef, #Optional / Default is undefined deny_bootp => "true" | "false" | undef, #Optional / Default is undefined disable => "true" | "false", #Optional / Default is "false" email_list => [ "admin\@test.com",...] | undef, #Optional / Default is undefined enable_ddns => "true" | "false" | undef, #Optional / Default is undefined enable_dhcp_thresholds => "true" | "false", #Optional / Default is "false" enable_email_warnings => "true" | "false", #Optional / Default is "false" enable_snmp_warnings => "true" | "false", #Optional / Default is "false" extattrs => { $string => $extattr, ... }, #Optional / Default is undefined extensible_attributes => { $string => $string | $num, $string => [ $string | $num, ... ], ... } #Required if 'rir_organization' attribute is defined #Otherwise is optional high_water_mark => $number, #Optional / Default is "95" high_water_mark_reset => $number, #Optional / Default is "95" ignore_dhcp_option_list_request => "true" | "false" | undef, #Optional / Default is undefined ignore_id => 'NONE' | 'CLIENT' | 'MACADDR', #Optional / Default is 'NONE' ignore_mac_addresses => [ "mac_addr", ... ] | undef #Optional / Default is undefined lease_scavenge_time => $number, #Optional / Default is "-1" low_water_mark => $number, #Optional / Default is "0" low_water_mark_reset => $number, #Optional / Default is "0" members => [ $Member1,$Member2,...], #Optional / Default is empty mgm_private => "true" | "false", #Optional / Default is "false" network_container => $ipv4_subnet/prefix, #Optional / Default is "/" network_view => $NetworkView, #Optional / Default is "default" network view nextserver => $ipv4addr | $fqdn | undef, #Optional / Default is undefined options => [$Option1,$Option2,...], #Optional / Default is empty list override_ddns_domainname => "true" | "false", #Optional / Default value is "false" override_ddns_ttl => "true" | "false", #Optional / Default value is "false" override_enable_ifmap_publishing => "true" | "false", #Optional / Default value is "false" override_lease_scavenge_time => "true" | "false", #Optional / Default value is "false" override_mgm_private => "true" | "false", #Optional / Default value is "false" override_update_dns_on_lease_renewal => "true" | "false", #Optional / Default value is "false" override_ignore_id => "true" | "false", #Optional / Default value is "false" pxe_lease_time => $num | undef, #Optional / Default is undefined recycle_leases => "true" | "false" | undef, #Optional / Default is undefined rir_organization => $rir_org, #Optional / An Infoblox::Grid::RIR::Organization object rir_registration_action => 'NONE' | 'CREATE' | 'MODIFY' | 'DELETE', # Optional / write-only rir_registration_status => 'NOT_REGISTERED' | 'REGISTERED', #Optional / Default is 'NOT_REGISTERED' send_rir_request => 'true' | 'false', #Optional / write-only delete_reason => $string, #Optional / write-only #Required only if 'rir_registration_action' is specified as 'DELETE' template => $string | undef, #Optional / Default is undefined update_dns_on_lease_renewal => "true" | "false", #Optional / Default value is "false" zone_associations => [$zone1, $zone2, ... ] | undef, #Optional / Default is an empty list discovery_blackout_setting => $blackout, #Optional port_control_blackout_setting => $blackout, #Optional override_blackout_setting => "true" | "false", #Optional / Default value is "false" same_port_control_discovery_blackout => "true" | "false", #Optional / Default value is "false" ipam_trap_settings => $ipam_trap, #Optional / An Infoblox::Grid::SNMP::IPAMTrap object override_ipam_trap_settings => "true" | "false", #Optional / Default value is "false" ipam_threshold_settings => $ipam_threshold, #Optional / An Infoblox::Grid::SNMP::IPAMThreshold object override_ipam_threshold_settings => "true" | "false", #Optional / Default value is "false" ipam_email_addresses => [$email1, $email2, ...], #Optional / Default is an empty list override_ipam_email_addresses => "true" | "false", #Optional / Default value is "false" logic_filters => [ $filter_name | $filter_obj, ...], #Optional / Default is undefined override_logic_filters => "true' | 'false", #Optional / Default value is "false" subscribe_settings => $subscribe_settings, #Optional / Default is undefined override_subscribe_settings => 'true' | 'false', #Optional / Default is 'false' discovery_engine_type => 'NETMRI' | 'NETWORK_INSIGHT' | 'VDISCOVERY' | 'UNKNOWN' | 'NONE', #Optional / Default is 'NONE' discovered_bridge_domain => $string, #Optional / Default is undefined discovered_tenant => $string, #Optional / Default is undefined );
You cannot set both extattrs and extensible_attributes attributes at the same time.
This section describes all the methods in an Infoblox::Session module that can apply to a DHCP Network object.
Use this method to add a network object to the Infoblox appliance. See Infoblox::Session->add() for parameters and return values. Notice the syntax difference between simple adding a network and adding a network using a template.
#Adding a network. #Construct an object my $network = Infoblox::DHCP::Network->new( network => "20.0.0.0/8", );
# Submit for adding a network my $response = $session->add( $network );
#Adding a network using template #Construct an object my $network = Infoblox::DHCP::Network->new( ipv4addr => '20.0.0.0', template => "mytemplate", );
# Submit for adding a network my $response = $session->add( $network );
Use this method to retrieve all the matching network objects from the Infoblox appliance. See Infoblox::Session->get() for parameters and return values.
'discover_now_status' will not be returned by default, use 'return_methods' to request it if needed.
Apply the following attributes to get a specific DHCP Network object:
network - Optional. The IP address and netmask of a network in CIDR format. network_container - Optional. The network container, in CIDR format, to which this network belongs. network_view - Optional. The network view in which the network is located. By default, all network views are searched (except when contain_address is specified -- see below). extattrs - Optional. A hash reference containing extensible attributes. extensible_attributes - Optional. A hash reference containing extensible attributes. comment - Optional. A comment in string format. contains_address - Optional. An IPv4 address in string format. If specified, all other search attributes are ignored, except for network_view. When a value for this attribute is provided, network_view defaults to the system-defined default network view, unless specified. The returned network is the smallest network enclosing this IPv4 address. member - Optional. The member or Microsoft server serving DHCP for the network. The valid value is an Infoblox::DHCP::Member or Infoblox::DHCP::MSServer object. discovered_bridge_domain - Optional. A bridge domain name in string format. discovered_tenant - Optional. A tenant name in string format.
my @result_array = $session->get( object => "Infoblox::DHCP::Network" , network => "20.0.0.0/8", network_view => "default" );
my @result_array = $session->get( object => "Infoblox::DHCP::Network" , extensible_attributes => { 'Site' => 'Santa Clara' } );
my @result_array = $session->get( object => "Infoblox::DHCP::Network" , comment => "my-comment", );
my @result_array = $session->get( object => "Infoblox::DHCP::Network" , network_container => "10.0.0.0/16", );
# Returns the smallest network enclosing 10.0.0.1 in the # system-defined default network view. my @result_array = $session->get( object => "Infoblox::DHCP::Network" , contains_address => "10.0.0.1", );
# Returns the smallest network enclosing 10.0.0.1 in the # specified network view ($network_view_object). my @result_array = $session->get( object => "Infoblox::DHCP::Network" , contains_address => "10.0.0.1", network_view => $network_view_object, );
# get a DHCP Network by member my $member = Infoblox::DHCP::Member->new( name => "ib-10-0-0-1.infoblox.com", ipv4addr => "10.0.0.1", );
my @result_array = $session->get( object => "Infoblox::DHCP::Network", member => $member, );
my @result_array = $session->get( object => "Infoblox::DHCP::Network" , discovered_bridge_domain => "domain1", );
my @result_array = $session->get( object => "Infoblox::DHCP::Network" , discovered_tenant => "tenant1", );
Use this method to modify a network object in the Infoblox appliance. See Infoblox::Session->modify() for parameters and return values.
#Use method to modify enable_ddns method. $object->enable_ddns("true"); # Submit modification my $response = $session->modify( $object );
Use this method to remove an object from the Infoblox appliance. See Infoblox::Session->remove() for parameters and return values.
To remove a specific object, first use get()
or search()
to retrieve the specific object, and then submit this object for removal.
remove_options - Optional. A hash reference containing the following attributes:
+------------------------------------------------------------------------------------------+ | reason - Optional. The reason for removing the network in string format with | | a maximum of 256 bytes. | | send_rir_request - Optional. Boolean flag that indicates whether the appliance should | | send an API or email request for Regional Internet Registry (RIR). | | Used when 'rir_organization' attribute has been defined. | +------------------------------------------------------------------------------------------+
# Get the object under the same name my @result_array = $session->get(
object => "Infoblox::DHCP::Network" , network => "20.0.0.0/8", network_view => "default" );
# find the desired object from the retrieved list. my $desired_network = $result_array[0];
# Submit for removal my $response = $session->remove( $desired_network, remove_options => {'reason' => 'Moved to B3', send_rir_request => 'true'} );
Use this method to search for a DHCP Network object in the Infoblox appliance. See Infoblox::Session->search() for parameters and return values.
'discover_now_status' will not be returned by default, use 'return_methods' to request it if needed.
Apply the following attributes to search for a DHCP Network object:
network - Optional. The IP address and netmask of a network in CIDR format. network_container - Optional. The network container, in CIDR format, to which this network belongs. network_view - Optional. The network view in which the network is located. By default, all network views are searched. extattrs - Optional. A hash reference containing extensible attributes. extensible_attributes - Optional. A hash reference containing extensible attributes. comment - Optional. A comment in string format (regular expression). contains_address - Optional. An IPv4 address in string format. If specified, all other search attributes are ignored, except for network_view. When a value for this attribute is provided, network_view defaults to the system-defined default network view, unless specified. The returned network is the smallest network enclosing this IPv4 address. member - Optional. The member or Microsoft server serving DHCP for the network. The valid value is an Infoblox::DHCP::Member or Infoblox::DHCP::MSServer object. discovered_bridge_domain - Optional. A bridge domain name in string format (regular expression). discovered_tenant - Optional. A tenant name in string format (regular expression).
For more information about searching extensible attributes, see Infoblox::Grid::ExtensibleAttributeDef/Searching Extensible Attributes.
# search for all DHCP Network objects my @retrieved_objs = $session->search( object => "Infoblox::DHCP::Network", network => '20\.0\.0\..*', network_view => "default" );
# search network by comment my @retrieved_objs = $session->search( object => "Infoblox::DHCP::Network", comment => "my-comment", );
# search network by network container my @result_array = $session->search( object => "Infoblox::DHCP::Network" , network_container => "10.0.0.0/16", );
# search for all DHCP Network objects defining "Santa Clara" for "Site" extensible attribute my @retrieved_objs = $session->search( object => "Infoblox::DHCP::Network", extensible_attributes => { 'Site' => 'Santa Clara' } );
# Returns the smallest network enclosing 10.0.0.1 in the # system-defined default network view. my @result_array = $session->search( object => "Infoblox::DHCP::Network" , contains_address => "10.0.0.1", );
# Returns the smallest network enclosing 10.0.0.1 in the # specified network view ($network_view_object). my @result_array = $session->search( object => "Infoblox::DHCP::Network" , contains_address => "10.0.0.1", network_view => $network_view_object, );
# search for all DHCP Network objects by member my $member = Infoblox::DHCP::Member->new( name => "ib-10-0-0-1.infoblox.com", ipv4addr => "10.0.0.1", );
my @result_array = $session->search( object => "Infoblox::DHCP::Network", member => $member, );
# search network by discovered bridge domain my @result_array = $session->search( object => "Infoblox::DHCP::Network" , discovered_bridge_domain => "domain.*", );
# search network by discovered tenant my @result_array = $session->search( object => "Infoblox::DHCP::Network" , discovered_tenant => "tenant.*", );
This section describes all the methods that can be used to configure and retrieve the attribute values of a DHCP Network object
Use this method to set or retrieve the authority of a DHCP network object. This setting overrides the upper-level settings.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to set the authority or "false" to deactivate/unset it. The default value for this field is undefined, which indicates that this attribute inherit the upper-level setting.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get authority my $authority = $network->authority() # Modify authority $network->authority("true");
Use this method to set the auto_create_reversezone flag of a new DHCP network object. You can set this flag only when creating a new network object.
Include the specified parameter to set the attribute value.
Specify "true" to set the auto_create_reversezone flag or "false" to deactivate/unset it. The default value for this field is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
# Modify auto_create_reversezone $network_container->auto_create_reversezone("true");
Use this method to set or retrieve a bootfile attribute of a DHCP network object. You can configure the DHCP server to support clients that use boot file name option in their DHCPREQUEST messages. This setting overrides the upper-level settings. The default value is undefined, which indicates that this attribute inherits the upper-level setting.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
This option is overridden independently from Infoblox::DHCP::Network->bootserver() and Infoblox::DHCP::Network->nextserver().
The name, in string format, of the file that the client must download. The default value is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get bootfile my $bootfile = $network->bootfile(); # Modify bootfile $network->bootfile("bootfile1"); #Un-override bootfile $network->bootfile(undef);
Use this method to set or retrieve a bootserver attribute of a DHCP network object. You can specify the name and/or IP address of the boot server that host needs to boot. This setting overrides the upper-level settings. The default value is undefined, which indicates that this attribute inherits the upper-level setting.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
This option is overridden independently from Infoblox::DHCP::Network->bootfile() and Infoblox::DHCP::Network->nextserver().
The boot server IP address or name in FQDN (Fully Qualified Domain Name) format. The FQDN consists of the host name followed by the domain name (example: abc.com). A boot server name can have a maximum of 256 bytes. The default value is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get bootserver my $bootserver = $network->bootserver(); # Modify bootserver $network->bootserver("abc.domain.com"); #Un-override bootserver $network->bootserver(undef);
Use this method to set or retrieve a descriptive comment of a DHCP network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Enter a descriptive comment for the network in string format with a maximum of 256 bytes.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get comment my $comment = $network->comment(); # Modify comment $network->comment("add a network");
Use this method to set or retrieve cloud API related information for the Infoblox::DHCP::Network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
The valid value is a Infoblox::Grid::CloudAPI::Info object.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get cloud_info my $cloud_info = $network_view->cloud_info(); # Modify cloud_info $network_view->cloud_info($cloud_info_object);
Use this method to set or retrieve the ddns_domainname value of a DHCP Network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Setting this method to a defined value implicitly sets the override_ddns_domainname method to "true". Setting the parameter to undefined causes the appliance to use the grid default and automatically resets the override_ddns_domainname attribute to "false".
Note that when ddns_domainname is set to a defined value and override_dddns_domainname is set to "false", the last operation takes precedence. Thus the sequence $object->ddns_domainname("testdomain"); $object->override_ddns_domainname("false"); will set override_ddns_domainname to "false", and the sequence $object->override_ddns_domainname("false"); $object->ddns_domainname("testdomain"); will result in override_ddns_domainname="true".
The dynamic DNS domain name in string format.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get ddns_domainname my $ddns_domainname = $network->ddns_domainname(); #Modify ddns_domainname $network->ddns_domainname("test_domain.com");
Use this method to set or retrieve the ddns_generate_hostname flag of a DHCP network object. Enable this method to allow only the DHCP server for generating hostname. This setting overrides the upper-level settings.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to generate hostname or "false" to deactivate/unset it.The default value for this field is undefined, which indicates that this attribute inherit the member level setting.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get ddns_generate_hostname my $ddns_generate_hostname = $network->ddns_generate_hostname() # Modify ddns_generate_hostname $network->ddns_generate_hostname("true"); #Un-override $network->ddns_generate_hostname(undef);
Use this method to set or retrieve the ddns_server_always_updates flag of a DHCP network object. Enable this method to allow only the DHCP server to update DNS,regardless of the requests from the DHCP clients.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to set the flag that enables the DHCP server to always updates DNS or "false" to deactivate/unset it.The default value for this field is "true".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get ddns_server_always_updates my $ddns_server_always_updates = $network->ddns_server_always_updates() # Modify ddns_server_always_updates $network->ddns_server_always_updates("true");
Use this method to set or retrieve the DNS update Time to Live (TTL) value of a DHCP network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Setting this method to a defined value implicitly sets the override_ddns_ttl method to "true". Setting the parameter to undefined causes the appliance to use the grid default and automatically resets the override_ddns_ttl attribute to "false".
Note that when ddns_ttl is set to a defined value and override_dddns_ttl is set to "false", the last operation takes precedence. Thus the sequence $object->ddns_ttl(12); $object->override_ddns_ttl("false"); will set override_ddns_ttl to "false", and the sequence $object->override_ddns_ttl("false"); $object->ddns_ttl(12); will result in override_ddns_ttl="true".
A 32-bit integer (range from 0 to 4294967295) that represents the duration, in seconds, that the update is cached. Zero indicates that the update is not cached. The default value is 0.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get DNS Update ttl my $dns_ttl = $network->ddns_ttl(); #Modify DNS Update ttl $network->ddns_ttl(1200);
Use this method to set or retrieve the ddns_update_fixed_addresses flag of a DHCP network object. By default, the DHCP server does not update DNS when it allocates a fixed address to a client. You can configure the DHCP server to update the A and PTR records of a client with a fixed address. When this feature is enabled and the DHCP server adds A and PTR records for a fixed address, the DHCP server never discards the records. This setting overrides the upper-level settings.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to enable the appliance to update DNS when it assigns a fixed address to a client or "false" to disable it. The default value for this field is undefined, which indicates that this attribute inherit the member level setting.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get ddns_update_fixed_addresses my $ddns_update_fixed_addresses= $network->ddns_update_fixed_addresses() # Modify ddns_update_fixed_addresses $network->ddns_update_fixed_addresses("true"); #Un-override $network->ddns_update_fixed_addresses(undef);
Use this method to set or retrieve the ddns_use_option81 flag of a DHCP network object. Enable this method to define the settings for option 81 at the network level. This setting overrides the member level settings.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to Configure Support for Option 81 or "false" to deactivate/unset it. The default value for this field is undefined, which indicates that this attribute inherit the member level setting.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get ddns_use_option81 my $ddns_use_option81 = $network->ddns_use_option81() # Modify ddns_use_option81 $network->ddns_use_option81("true"); # un-override ddns_use_option81 $network->ddns_use_option81(undef);
Use this method to set or retrieve the deny_bootp flag of a DHCP Network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to set the deny_bootp flag or "false" to deactivate/unset it. The default value is undefined, which indicates that this attribute inherit the upper-level setting.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get deny_bootp my $deny_bootp = $network->deny_bootp(); #Modify deny_bootp $network->deny_bootp("true");
Use this method to set or retrieve the disable flag of a DHCP network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to set the disable flag or "false" to deactivate/unset it. The default value for this field is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get disable my $disable = $network->disable() # Modify disable $network->disable("true");
Use this method to set or retrieve the discovered bridge domain name of a DHCP Network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
The desired bridge domain name in a string format.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get bridge domain my $bridge_domain = $network->discovered_bridge_domain(); #Modify bridge domain $network->discovered_bridge_domain("Domain");
Use this method to set or retrieve the discovered tenant name of a DHCP Network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
The desired tenant name in a string format.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get tenant my $tenant = $network->discovered_tenant(); #Modify tenant $network->discovered_tenant("Tenant");
Use this method to set or retrieve the discovery_basic_poll_setting value of a DHCP Network object.
Include the specified parameter to set the attribute value.
The valid value is object of the Infoblox::Grid::Discovery::BasicPollSettings manpage.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get discovery_basic_poll_setting my $discovery_basic_poll_setting = $network->discovery_basic_poll_setting(); #Modify discovery_basic_poll_setting $network->discovery_basic_poll_setting($poll_setting);
Use this method to set or retrieve the discovery_exclusion_range value of a DHCP Network object.
The valid value is an array of the Infoblox::DHCP::ExclusionRange manpage objects.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get discovery_exclusion_range my $discovery_exclusion_range = $network->discovery_exclusion_range(); #Modify discovery_exclusion_range $network->discovery_exclusion_range( [ $exclusion1, $exclusion2 ]);
Use this method to set or retrieve the discovery_member value of a DHCP Network object.
The discovery member name in string format.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get discovery_member my $discovery_member = $network->discovery_member(); #Modify discovery_member $network->discovery_member("test.localdomain");
Use this method to retrieve the current discovery status. This attribute is read-only.
'discover_now_status' will not be returned by default, use 'return_methods' to request it if needed.
None.
The method returns the attribute value that can be 'COMPLETE', 'FAILED', 'NONE', 'PENDING' or 'RUNNING'.
#Get discover_now_status my $discover_now_status = $network->discover_now_status();
Use this method to set or retrieve the discovery blackout setting.
Setting this method to a defined value implicitly sets the override_blackout_setting method to "true". If port_control_blackout_setting is undefined, setting the parameter to undefined causes the appliance to use the grid default and automatically resets the override_blackout_setting attribute to "false".
Note that when discovery_blackout_setting is set to a defined value and override_blackout_setting is set to "false", the last operation takes precedence. Thus the sequence $network->discovery_blackout_setting($blackout); $network->override_blackout_setting("false"); will set override_blackout_setting to "false", and the sequence $network->override_blackout_setting("false"); $network->discovery_blackout_setting($blackout); will result in override_blackout_setting="true".
Valid value is an Infoblox::Grid::Discovery::Properties::BlackoutSetting object.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get discovery_blackout_setting my $discovery_blackout_setting = $network->discovery_blackout_setting(); #Modify discovery_blackout_setting $network->discovery_blackout_setting($blackout);
Use this method to retrieve the DHCP Network discovery engine type. This attribute is read-only.
None.
The method returns the attribute value that can be 'NETMRI', 'NETWORK_INSIGHT', 'VDISCOVERY', 'UNKNOWN' or 'NONE'.
#Get discovery_engine_type my $discovery_engine_type = $network->discovery_engine_type();
Use this method to set or retrieve the e-mail lists to which the appliance sends threshold e-mail messages.
If you enter e-mail addresses in the email_list, then the appliance sends DHCP threshold alarms to the e-mail addresses.
The valid value is an array reference that contains string objects.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get email_list my @email_list = $network->email_list(); #Modify email_list $network->email_list( [ "admin\@test.com" ] );
Use this method to set or retrieve the dynamic DNS updates flag of a DHCP network object. The DHCP server can send DDNS updates to DNS servers in the same grid and to external DNS servers. This setting overrides the member level settings.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to set the dynamic DNS updates flag or "false" to deactivate/unset it. The default value for this field is undefined, which indicates that this attribute inherit the member level setting.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get enable_ddns my $enable_ddns = $network->enable_ddns() # Modify enable_ddns $network->enable_ddns("true"); # Un-override enable_ddns $network->enable_ddns(undef);
Use this method to set or retrieve DHCP thresholds at the network level. These thresholds are the high and low watermarks. If a DHCP range usage goes above or below these percentage values, the Infoblox appliance generates a syslog message and sends an SNMP notification.
Enable this flag to set DHCP thresholds values.
Specify "true" to set the enable_dhcp_thresholds flag or "false" to deactivate/unset it. The default value is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get enable_dhcp_thresholds my $enable_dhcp_thresholds = $network->enable_dhcp_thresholds(); #Modify enable_dhcp_thresholds $network->enable_dhcp_thresholds("false");
Use this method to send DHCP threshold warnings through e-mail.
Enable this flag if you want the appliance to send DHCP threshold warnings to the "email_list" provided when DHCP threshold is enabled.
Specify "true" to set the enable_email_warnings flag or "false" to deactivate/unset it. The default value is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get enable_email_warnings my $enable_email_warnings = $network->enable_email_warnings(); #Modify enable_email_warnings $network->enable_email_warnings("false");
Use this method to set or retrieve the enable_discovery value of a DHCP Network object. This setting overrides the member level settings.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Setting this method to a defined value implicitly sets the override_enable_discovery method to "true". Setting the parameter to undefined causes the appliance to use the default from the upper level and automatically resets the override_enable_discovery attribute to "false".
Enable this flag if you want to set discovery for this object.
Specify "true" to set the enable_discovery flag or "false" to deactivate/unset it. The default value is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get enable_discovery my $enable_discovery = $network->enable_discovery(); #Modify enable_discovery $network->enable_discovery("false");
Use this method to set or retrieve ifmap publishing the option of a DHCP Network object. This setting overrides the member level settings.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to set ifmap publishing option or "false" to deactivate/unset it. The default value 'false', which indicates that this attribute inherits the member level setting.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get enable ifmap publishing my $enable_ifmap_publishing = $network->enable_ifmap_publishing() # Modify enable_ifmap_publishing $network->enable_ifmap_publishing("true"); # Un-override enable_ifmap_publishing $network->enable_ifmap_publishing(undef);
Use this method to set or retrieve enable_immediate_discovery value of a DHCP Network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to set the enable_immediate_discovery flag or "false" to deactivate/unset it. The default value is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get enable_immediate_discovery my $enable_immediate_discovery = $network->enable_immediate_discovery(); #Modify enable_immediate_discovery $network->enable_immediate_discovery("false");
Use this method to send DHCP threshold warnings through SNMP.
If the flag is enabled, then the appliance sends DHCP threshold warnings through SNMP messages when DHCP threshold is enabled.
Specify "true" to set the enable_snmp_warnings flag or "false" to deactivate/unset it. The default value is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get enable_snmp_warnings my $enable_snmp_warnings = $network->enable_snmp_warnings(); #Modify enable_snmp_warnings $network->enable_snmp_warnings("false");
Use this method to retrieve the list of endpoints that provide object data. This is a read-only attribute.
Omit the parameter to retrieve the attribute value.
None
The valid return value is an array of Infoblox::CiscoISE::Endpoint objects.
#Get endpoint_sources value my $endpoint_sources = $object->endpoint_sources();
Use this method to set or retrieve the extensible attributes associated with a DHCP network object.
Valid value is a hash reference containing the names of extensible attributes and their associated values ( Infoblox::Grid::Extattr objects ).
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get extattrs my $ref_extattrs = $network->extattrs(); #Modify extattrs $network->extattrs({ 'Site' => $extattr1, 'Administrator' => $extattr2 });
Use this method to set or retrieve the extensible attributes associated with a DHCP network object
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
For valid values for extensible attributes, see Infoblox::Grid::ExtensibleAttributeDef/Extensible Attribute Values.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get extensible attributes my $ref_extensible_attributes = $network->extensible_attributes(); #Modify extensible attributes $network->extensible_attributes({ 'Site' => 'Santa Clara', 'Administrator' => [ 'Peter', 'Tom' ] });
Use this method to set the percentage value for DHCP range usage above which the Infoblox appliance generates a syslog message and sends a warning.
When the percent of allocated addresses in a DHCP range exceeds the high watermark, the appliance generates a syslog message and sends a warning. Default value for this option is 95.
The valid value is in string format.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get high_water_mark my $high_water_mark = $network->high_water_mark(); #Modify high_water_mark $network->high_water_mark("80");
Use this method to set or retrieve the high_water_mark_reset value. If the percentage of allocated addresses drops below this value, a corresponding SNMP trap is reset.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
A number that specifies the percentage of allocated addresses. The range is from 1 to 100. The high watermark reset value must be lower than the high watermark value. The default value is 95.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get high_water_mark_reset my $high_water_mark_reset = $network->high_water_mark_reset(); #Modify high_water_mark_reset $network->high_water_mark_reset(70);
Use this method to set or retrieve the ignore_id type of a DHCP network object. Indicates whether the appliance will ignore DHCP client IDs or MAC addresses. This setting overrides the upper-level settings.
Valid values are 'NONE', 'CLIENT', or 'MACADDR'. The default is 'NONE'.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get attribute value $value = $network->ignore_id(); # Modify attribute value $network->ignore_id('CLIENT'); #Un-override ignore_id $network->ignore_id(undef);
Use this method to set or retrieve the ignore_mac_addresses list of a DHCP network object. A list of MAC addresses the appliance will ignore. This setting overrides the upper-level settings.
If you enter MAC addresses in the ignore_mac_addresses, then the appliance will ignore them. If you enter empty array, then the appliance will ignore any MAC address.
The valid value is an array reference that contains string objects.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get attribute value $value = $network->ignore_mac_addresses(); # Modify attribute value $network->ignore_mac_addresses(["11::11::11::11::11::11"]);
Use this method to set or retrieve the ignore_dhcp_option_list_request flag of a DHCP Network object. If this flag is set to false, the appliance returns all the defined DHCP options to the client. This setting overrides the upper-level settings.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify "true" to set the ignore_dhcp_option_list_request flag or "false" to deactivate/unset it. The default value is undefined, which indicates that this attribute inherits the upper-level setting.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get ignore_dhcp_option_list_request my $ignore_dhcp_option_list_request = $network->ignore_dhcp_option_list_request(); # Modify ignore_dhcp_option_list_request $network->ignore_dhcp_option_list_request("true"); #Do not override ignore_dhcp_option_list_request $network->ignore_dhcp_option_list_request(undef);
Use this method to set or retrieve a list of IPAM Utilization email addresses.
Setting this method to a defined value implicitly sets the override_ipam_email_addresses method to "true". Setting the parameter to undefined causes the appliance to use the default from the upper level and automatically resets the override_ipam_email_addresses attribute to "false".
Note that when ipam_email_addresses is set to a defined value and override_ipam_email_addresses is set to "false", the last operation takes precedence. Thus the sequence $object->ipam_email_addresses(['admin@infoblox.com']); $object->override_ipam_email_addresses("false"); will set override_ipam_email_addresses to "false", and the sequence $object->override_ipam_email_addresses("false"); $object->ipam_email_addresses(['admin@infoblox.com']); will result in override_ipam_email_addresses="true".
Valid value is an array reference that contains email addresses in string format.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get ipam_email_addresses my $ipam_email_addresses = $network->ipam_email_addresses(); #Modify ipam_email_addresses $network->ipam_email_addresses($ipam_email_addresses);
Use this method to set or retrieve IPAM Utilization SNMP Trap settings.
Setting this method to a defined value implicitly sets the override_ipam_trap_settings method to "true". Setting the parameter to undefined causes the appliance to use the default from the upper level and automatically resets the override_ipam_trap_settings attribute to "false".
Note that when ipam_trap_settings is set to a defined value and override_ipam_trap_settings is set to "false", the last operation takes precedence. Thus the sequence $object->ipam_trap_settings($ipam_trap); $object->override_ipam_trap_settings("false"); will set override_ipam_trap_settings to "false", and the sequence $object->override_ipam_trap_settings("false"); $object->ipam_trap_settings($ipam_trap); will result in override_ipam_trap_settings="true".
Valid value is an Infoblox::Grid::SNMP::IPAMTrap object.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get ipam_trap_settings my $ipam_trap_settings = $network->ipam_trap_settings(); #Modify ipam_trap_settings $network->ipam_trap_settings($ipam_trap_settings);
Use this method to set or retrieve IPAM Utilization SNMP Threshold settings.
Setting this method to a defined value implicitly sets the override_ipam_threshold_settings method to "true". Setting the parameter to undefined causes the appliance to use the default from the upper level and automatically resets the override_ipam_threshold_settings attribute to "false".
Note that when ipam_threshold_settings is set to a defined value and override_ipam_threshold_settings is set to "false", the last operation takes precedence. Thus the sequence $object->ipam_threshold_settings($ipam_threshold_settings); $object->override_ipam_trap_settings("false"); will set override_ipam_threshold_settings to "false", and the sequence $object->override_ipam_threshold_settings("false"); $object->ipam_threshold_settings($ipam_threshold_settings); will result in override_ipam_threshold_settings="true".
Valid value is an Infoblox::Grid::SNMP::IPAMThreashold object.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get ipam_threshold_settings my $ipam_threshold_settings = $network->ipam_threshold_settings(); #Modify ipam_threshold_settings $network->ipam_threshold_settings($ipam_threshold_settings);
Use this method to set or retrieve the lease_scavenge_time value of a DHCP Network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Setting this method to a defined value implicitly sets the override_lease_scavenge_time method to "true". Setting the parameter to undefined causes the appliance to use the default from the upper level and automatically resets the override_lease_scavenge_time attribute to "false".
Note that when lease_scavenge_time is set to a defined value and override_lease_scavenge_time is set to "false", the last operation takes precedence. Thus the sequence $object->lease_scavenge_time(604800); $object->override_lease_scavenge_time("false"); will set override_lease_scavenge_time to "false", and the sequence $object->override_lease_scavenge_time("false"); $object->lease_scavenge_time(604800); will result in override_lease_scavenge_time="true".
An integer that specifies the period of time, in seconds, that free and backup leases remain in the database before they are automatically deleted. To disable lease scavenging, set the parameter to -1. The minimum positive value must be greater than 86400 seconds (1 day). The default value of this parameter is -1, which means that lease scavenging is disabled.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get lease_scavenge_time my $lease_scavenge = $network->lease_scavenge_time(); #Modify lease_scavenge_time $network->lease_scavenge_time(30 * 24 * 60 * 60);
Use this method to set or retrieve all the logic (ordered) filters associated with the DHCP Network.
Filters are used to screen address assignments in a DHCP Network if the addresses are to be assigned to specific hosts.
Setting this method to a defined value implicitly sets the override_logic_filters method to "true". Setting the parameter to undefined causes the appliance to use the grid default and automatically resets the override_logic_filters attribute to "false".
Note that when logic_filters is set to a defined value and override_dlogic_filters is set to "false", the last operation takes precedence. Thus the sequence $object->logic_filters($filters); $object->override_logic_filters("false"); will set override_logic_filters to "false", and the sequence $object->override_logic_filters("false"); $object->logic_filters($filters); will result in override_logic_filters="true".
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
The valid value is an array reference that contains either the Infoblox::DHCP::Filter::MAC, Infoblox::DHCP::Filter::NAC, Infoblox::DHCP::Filter::Option objects or the names of the corresponding filters. The filters in the list must satisfy the following conditions:
The default value of the parameter is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get logic_filters my $ref_logic_filters = $network->logic_filters(); #Modify logic_filters $network->logic_filters(["filter_1","filter_2",$exl1]); #$exl1 is an Infoblox::DHCP::Filter::MAC, Infoblox::DHCP::Filter::NAC or Infoblox::DHCP::Filter::Option object.
Use this method to set the percentage value for DHCP range usage below which the Infoblox appliance generates a syslog message and sends a warning.
When the percent of allocated addresses in a DHCP range goes below the low watermark, the appliance generates a syslog message and sends a warning. Default value for this option is 0.
The valid value is in string format.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get low_water_mark my $low_water_mark = $network->low_water_mark(); #Modify low_water_mark $network->low_water_mark("10");
Use this method to set or retrieve the low_water_mark_reset value. If the percentage of allocated addresses exceeds this value, a corresponding SNMP trap is reset.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
A number that specifies the percentage of allocated addresses. The range is from 1 to 100. The low watermark reset value must be higher than the low watermark value. The default low watermark reset number is 0.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get low_water_mark_reset my $low_water_mark_reset = $network->low_water_mark_reset(); #Modify low_water_mark_reset $network->low_water_mark_reset(10);
Use this method to set or retrieve the member or Microsoft (r) server that serves DHCP for a network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
The valid value is an array reference that contains Infoblox::DHCP::Member or Infoblox::DHCP::MSServer objects.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
my $member1 = Infoblox::DHCP::Member->new( name => "infoblox.localdomain", ipv4addr => "192.168.1.2", );
#Create the Network object with this member my $network = Infoblox::DHCP::Network->new( network => "10.0.0.0/8", members => [$member1], );
Use this method to set or retrieve the flag that controls whether the object should be synced to the MGM or not.
Setting this method to a defined value implicitly sets the override_blackout_setting method to "true". If discovery_blackout_setting is undefined, setting the parameter to undefined causes the appliance to use the grid default and automatically resets the override_blackout_setting attribute to "false".
Note that when mgm_private is set to a defined value and override_mgm_private is set to "false", the last operation takes precedence. Thus the sequence $network->mgm_private("true"); $network->override_mgm_private("false"); will set override_mgm_private to "false", and the sequence $network->override_mgm_private("false"); $network->mgm_private("true"); will result in override_mgm_private="true".
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify 'true' to enable synchronization of the managed Grid with the MGM or 'false' to forbid it. The default value is 'false'.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
Note that this member is loaded on on-demand basis, so to retrieve the value the object must have been retrieved from the session first.
#Get mgm_private value my $value = $object->mgm_private();
#Modify mgm_private value $object->mgm_private('true');
Use this method to retrieve the flag that indicates whether the overriding of 'mgm_private' flag is allowed or not. This is a read-only attribute.
None
The method returns the attribute value.
Note that this member is loaded on on-demand basis, so to retrieve the value the object must have been retrieved from the session first.
#Get mgm_private_overridable value my $value = $object->mgm_private_overridable();
Use this method to retrieve Microsoft Active Directory users related information. This is a read-only attribute.
None
The valid return value is an Infoblox::Grid::MSServer::AdUser::Data object.
#Get ms_ad_user_data my $ms_ad_user_data = $network->ms_ad_user_data();
Use this method to retrieve the network attribute of a DHCP network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
An IPv4 address is a 32-bit number in dotted decimal notation. It consists of four 8-bit groups of decimal digits separated by decimal points (example: 192.168.1.2).
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get network my $network = $network->network();
Use this method to set or retrieve the network container of a DHCP network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Specify the IP address and netmask of a network in CIDR format.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get network container my $network_container = $network->network_container(); #Modify network container $network->network_container("50.0.0.0/8");
Use this method to set or retrieve the network view of the DHCP network.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
The default value is the "default" network view, which means the network is in the default network view.
Valid value is a defined Infoblox::DHCP::View object. The default network view value is the system-defined default network view object.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get network view my $nview = $network->network_view(); #Modify network view, with an Infoblox::DHCP::View object $network->network_view($nview);
Use this method to set or retrieve the nextserver attribute of a DHCP network object. You can specify the name and/or IP address of the next server that the host needs to boot. This setting overrides the upper-level settings. The default value is undefined, which indicates that this attribute inherits the upper-level setting.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
This option is overridden independently from Infoblox::DHCP::Network->bootfile() and Infoblox::DHCP::Network->bootserver().
The next server IP address or name in FQDN (Fully Qualified Domain Name) format. The FQDN consists of the host name followed by the domain name (example: abc.com). A next server name can have a maximum of 256 bytes. The default value is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get nextserver my $nextserver = $network->nextserver(); # Modify nextserver $network->nextserver("blue.domain.com"); #Un-override nextserver $network->nextserver(undef);
Use this method to retrieve the next available IP address(es)
in the network that was retrieved. Note that to use this method, the object MUST be retrieved through a get or search call, or created with an add call.
The method accepts the following optional parameters:
requested_num - The number of IP addresses requested. It must be a number between 1 and 20. excluded - A reference to an array of addresses to be excluded from the results.
This method returns the next available IP address(es)
in the network. If requested_num is not specified, a string with the next available address will be returned; otherwise, the method will return a reference to an array of addresses.
Within a DHCP Network object, the next available IP address(es)
are the first addresses in this network that match all of the following rules:
* Are not part of the passed 'excluded' parameter (if specified). * There is no A, PTR, fixed address or host address record matching this IP address * There is no bulk host record with this IP address * There is no unmanaged record matching this IP address * The IP address is not the network or broadcast address of this network * The IP address is not in any DHCP range within this network (including any exclusion range)
# Retrieve a particular network my @retrieved_objs = $session->get( object => "Infoblox::DHCP::Network", network => "10.0.0.0/8" );
$dhcp_network = $retrieved_objs[0];
# Print the next available IP address in the network print $dhcp_network->next_available_ip() . "\n";
# This will retrieve the next 10 available addresses and print the first one. my $addressesref = $dhcp_network->next_available_ip(requested_num => 10); print @$addressesref[0] . "\n";
# This will retrieve the next 10 available addresses and exclude two. my $addressesref = $dhcp_network->next_available_ip(requested_num => 10, excluded => ["10.0.0.1", "10.0.0.2"]);
Use this method to retrieve the next available network(s)
in the network. Note that to use this method, the object MUST be retrieved through a get or search call, or created with an add call.
The method accepts the following parameters:
cidr - (required) The CIDR of the requested networks. It must be a value between 1 and 32, inclusive. requested_num - (optional) The number of networks requested. It must be a value between 1 and 20, inclusive. excluded - (optional) A reference to an array of networks to be excluded from the results.
This method returns the next available network(s)
in the network. If requested_num is not specified, a string containing the next available network will be returned; otherwise, the method will return a reference to an array of networks.
A network cannot be returned as the next available network if it cannot be inserted; such as when any of the following conditions exist:
- It's parent network has a DHCP configuration assigned and therefore cannot be converted to a network container.
- It overlaps with an existing network or network container, regardless of whether the existing network has a greater or smaller CIDR than the requested CIDR.
- Its network address or broadcast address is used by a fixed address or a host configured for DHCP.
# Retrieve a particular network my @retrieved_objs = $session->get( object => "Infoblox::DHCP::Network", network => "10.0.0.0/8" );
$network = $retrieved_objs[0];
# Print the next available IPv6 network in the network container print $network->next_available_network(cidr => 12) . "\n";
# This will retrieve the next 10 available networks and print the first one my $addressesref = $network->next_available_network(requested_num => 10, cidr => 12); print @$addressesref[0] . "\n";
# This will retrieve the next 10 available networks and exclude two. my $addressesref = $network->next_available_network(cidr => 12, requested_num => 10, excluded => ['10.0.0.0/12']);
Use this method to set or retrieve the options value of a member DHCP server. DHCP options provide network configuration settings and various services available on the network for DHCP.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
The valid value is an array reference that contains Infoblox::DHCP::Option objects.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get options my $options = $network->options(); #Modify options my $option1 = Infoblox::DHCP::Option->new( name => "lease-time", value => 50 );
$network->options([$option1]);
The override_ddns_domainname attribute controls whether the ddns_domainname value in the DHCP Network is used, instead of the grid default.
The override_ddns_domainname attribute can be specified explicitly. It is also set implicitly when ddns_domainname is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the grid-level setting for ddns_domainname. Set the parameter to "false" to inherit the grid-level setting for ddns_domainname.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Getting override_ddns_domainname my $override_ddns_domainname=$network->override_ddns_domainname( ); #Modifying override_ddns_domainname $network->override_ddns_domainname("true");
The override_ddns_ttl attribute controls whether the ddns_ttl value in the DHCP Network is used, instead of the grid default.
The override_ddns_ttl attribute can be specified explicitly. It is also set implicitly when ddns_ttl is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the grid-level setting for ddns_ttl. Set the parameter to "false" to inherit the grid-level setting for ddns_ttl.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Getting override_ddns_ttl my $override_ddns_ttl=$network->override_ddns_ttl( ); #Modifying override_ddns_ttl $network->override_ddns_ttl("true");
The override_enable_ifmap_publishing controls whether the enable_ifmap_publishing in the DHCP Network is used, instead of the grid default.
The override_enable_ifmap_publishing can be specified explicitly. It is also set implicitly when enable_ifmap_publishing is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the grid-level setting for enable_ifmap_publishing. Set the parameter to "false" to inherit the grid-level setting for enable_ifmap_publishing.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Getting override_enable_ifmap_publishing my $override_enable_ifmap_publishing=$network->override_enable_ifmap_publishing( ); #Modifying override_enable_ifmap_publishing $network->override_enable_ifmap_publishing("true");
The override_blackout_setting attribute controls whether the discovery_blackout_setting and port_control_blackout_setting values in the object are used, instead of the grid default.
The override_blackout_setting attribute can be specified explicitly. It is also set implicitly when discovery_blackout_setting or port_control_blackout_setting is set to a defined value.
Specify "true" to set the override_blackout_setting flag or "false" to deactivate/unset it. The default value is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get attribute value my $value = $network->override_blackout_setting(); # Modify attribute value $network->override_blackout_setting('true');
The override_ignore_id controls whether the ignore_id in the DHCP network is used, instead of the upper-level default.
The override_ignore_id can be specified explicitly. It is also set implicitly when ignore_id is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the upper-level setting for ignore_id and ignore_mac_addresses. Set the parameter to "false" to inherit the upper-level setting for ignore_id and ignore_mac_addresses.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get attrubute value my $value=$network->override_ignore_id(); #Modifying attribute value $network->override_ignore_id('true');
The override_ipam_email_addresses controls whether the ipam_email_addresses in the DHCP network is used, instead of the upper-level default.
The override_ipam_email_addresses can be specified explicitly. It is also set implicitly when ipam_email_addresses is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the upper-level setting for ipam_email_addresses. Set the parameter to "false" to inherit the upper-level setting for ipam_email_addresses.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get attrubute value my $value=$network->override_ipam_email_addresses(); #Modifying attribute value $network->override_ipam_email_addresses('true');
The override_ipam_threshold_settings controls whether the ipam_threshold_settings in the DHCP network is used, instead of the upper-level default.
The override_ipam_threshold_settings can be specified explicitly. It is also set implicitly when ipam_threshold_settings is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the upper-level setting for ipam_threshold_settings. Set the parameter to "false" to inherit the upper-level setting for ipam_threshold_settings.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get attrubute value my $value=$network->override_ipam_threshold_settings(); #Modifying attribute value $network->override_ipam_threshold_settings('true');
The override_ipam_trap_settings controls whether the ipam_trap_settings in the DHCP network is used, instead of the upper-level default.
The override_ipam_trap_settings can be specified explicitly. It is also set implicitly when ipam_trap_settings is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the upper-level setting for ipam_trap_settings. Set the parameter to "false" to inherit the upper-level setting for ipam_trap_settings.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get attrubute value my $value=$network->override_ipam_trap_settings(); #Modifying attribute value $network->override_ipam_trap_settings('true');
The override_lease_scavenge_time attribute controls whether the lease_scavenge_time value in the DHCP network is used, instead of the upper-level default.
The override_lease_scavenge_time attribute can be specified explicitly. It is also set implicitly when lease_scavenge_time is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the upper-level setting for lease_scavenge_time. Set the parameter to "false" to inherit the setting for lease_scavenge_time from the upper level.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Getting override_lease_scavenge_time my $override_lease_scavenge_time=$network->override_lease_scavenge_time( ); #Modifying override_lease_scavenge_time $network->override_lease_scavenge_time("true");
The override_logic_filters attribute controls whether the logic_filters value of the DHCP Network is used, instead of the Grid default.
The override_logic_filters attribute can be specified explicitly. It is also set implicitly when logic_filters is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the Grid-level setting for logic_filters. Set the parameter to "false" to inherit the Grid-level setting for logic_filters.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Getting override_logic_filters my $override_logic_filters=$network->override_logic_filters( ); #Modifying override_logic_filters $network->override_logic_filters("true");
The override_mgm_private attribute controls whether the mgm_private value in the object is used, instead of the parent-level default.
The override_mgm_private attribute can be specified explicitly. It is also set implicitly when mgm_private is set to a defined value.
Note that setting override_mgm_private to 'false' sets the original 'mgm_private' value to 'false'.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to 'true' to override the parent-level setting for mgm_private. Set the parameter to 'false' to inherit the parent-level setting for mgm_private.
The default value of this parameter is 'false'.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
Note that this member is loaded on on-demand basis, so to retrieve the value the object must have been retrieved from the session first.
#Get override_mgm_private value my $value = $object->override_mgm_private( );
#Modify override_mgm_private value $object->override_mgm_private('true');
The override_subscribe_settings attribute controls whether the subscribe_settings method values of the member are used, instead of the Grid default.
The override_subscribe_settings attribute can be specified explicitly. It is also set implicitly when subscribe_settings is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the Grid-level setting for subscribe_settings. Set the parameter to "false" to inherit the Grid-level setting for subscribe_settings.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get override_subscribe_settings value my $override_subscribe_settings = $object->override_subscribe_settings( ); #Modify override_subscribe_settings value $object->override_subscribe_settings("true");
The override_update_dns_on_lease_renewal attribute controls whether the update_dns_on_lease_renewal value in the DHCP Network is used, instead of the grid default.
The override_update_dns_on_lease_renewal attribute can be specified explicitly. It is also set implicitly when update_dns_on_lease_renewal is set to a defined value.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Set the parameter to "true" to override the grid-level setting for update_dns_on_lease_renewal. Set the parameter to "false" to inherit the grid-level setting for update_dns_on_lease_renewal.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Getting override_update_dns_on_lease_renewal my $override_update_dns_on_lease_renewal=$network->override_update_dns_on_lease_renewal( ); #Modifying override_update_dns_on_lease_renewal $network->override_update_dns_on_lease_renewal("true");
Use this method to set or retrieve the port control blackout setting.
Setting this method to a defined value implicitly sets the override_blackout_setting method to "true". If discovery_blackout_setting is undefined, setting the parameter to undefined causes the appliance to use the grid default and automatically resets the override_blackout_setting attribute to "false".
Note that when port_control_blackout_setting is set to a defined value and override_blackout_setting is set to "false", the last operation takes precedence. Thus the sequence $network->port_control_blackout_setting($blackout); $network->override_blackout_setting("false"); will set override_blackout_setting to "false", and the sequence $network->override_blackout_setting("false"); $network->port_control_blackout_setting($blackout); will result in override_blackout_setting="true".
Valid value is an Infoblox::Grid::Discovery::Properties::BlackoutSetting object.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get port_control_blackout_setting my $port_control_blackout_setting = $network->port_control_blackout_setting(); #Modify port_control_blackout_setting $network->port_control_blackout_setting($blackout);
Use this method to set or retrieve the PXE lease time value of a DHCP Network object. Some hosts use PXE (Preboot Execution Environment) to boot remotely from a server. To better manage your IP resources, set a different lease time for PXE boot requests. You can configure the DHCP server to allocate an IP address with a shorter lease time to hosts that send PXE boot requests, so IP addresses are not leased longer than necessary. This setting overrides the upper-level settings. The default value is undefined, which indicates that this attribute inherits the upper-level setting.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
A 32-bit integer (range from 0 to 4294967295) that represents the duration, in seconds, that the update is cached. Zero indicates that the update is not cached. The default value is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get PXE Lease Time my $pxe_lease_time = $network->pxe_lease_time(); #Modify PXE Lease Time $network->pxe_lease_time(1100); #Un-override PXE Lease Time $network->pxe_lease_time(undef);
Use this method to set or retrieve the recycle_leases flag at the network level.
If the flag is enabled, the leases are kept in the recycle bin until one week after expiration. When the flag is disabled, the leases are irrecoverably deleted.
Specify "true" to enable the recycle_leases flag or "false" to disable it. The default value is undefined.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get recycle_leases my $recycle_leases = $network->recycle_leases(); #Modify recycle_leases $network->recycle_leases("false");
Use this method to resize a network. Note that to use this method, the object MUST be retrieved through a get or search call, or it must have been created with an add call.
prefix - Required. The bitmask prefix length after resizing.
auto_create_reversezone - Optional. Boolean flag indicating whether or not to automatically create the reverse zone.
reason - Optional. The reason for resizing the network in string format with a maximum of 256 bytes. Used when 'rir_organization' attribute has been defined.
send_rir_request - Optional. Boolean flag that indicates whether the appliance should send an API or email request for Regional Internet Registry (RIR). Used when 'rir_organization' attribute has been defined.
The method returns true when the operation succeeds, and returns false when the operation fails. When an operation fails, the error code and error message are reported in the Session object's status_code()
and status_detail()
attributes.
#Get Network through the session my @retrieved_objs = $session->get( object =>"Infoblox::DHCP::Network" , network => "20.0.0.0/8" ); my $network = $retrieved_objs[0];
# Expand a /24 network to a /16 network, inserting # a corresponding reverse zone in the process. my $response = $network->resize( prefix => "16" auto_create_reversezone => "true" ) or die("Resize Network failed: ", $session->status_code() . ":" . $session->status_detail());
Use this method to set the flag that indicates whether DHCP service should be restarted on a member that is serving DHCP for the changed object referenced in a cloud API request.
Specify true to restart the DHCP service.
None
# Modify $network->restart_if_needed('true');
Use this method to retrieve the name of the Regional Internet Registry (RIR) that allocated this address space. This is a read-only attribute.
None
The method returns the attribute value that can be 'RIPE' or 'NONE'.
#Get rir my $rir = $network->rir();
Use this method to set or retrieve the Regional Internet Registry (RIR) organization object.
An Infoblox::Grid::RIR::Organization object.
You must enable support for RIR/SWIP at the Grid level before you can set attribute values. See Infoblox::Grid->enable_rir_swip() method.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get rir_organization my $rir_organization = $network->rir_organization(); #Modify rir_organization $network->rir_organization($rir_org);
Use this method to set the registration action of Regional Internet Registry (RIR). This is a write-only attribute.
Valid values are 'NONE', 'CREATE', 'MODIFY' or 'DELETE'.
The method returns true when the modification succeeds, and returns false when the operation fails.
#Set rir_registration_action $network->rir_registration_action('CREATE');
Use this method to set or retrieve the registration status of Regional Internet Registry (RIR).
The registration status of Regional Internet Registry (RIR), which can be 'REGISTERED' or 'NOT_REGISTERED'.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get rir_registration_status my $rir_registration_status = $network->rir_registration_status(); #Modify rir_registration_status $network->rir_registration_status('NOT_REGISTERED');
Use this method to retrieve the last registration update timestamp of Regional Internet Registry (RIR). This is a read-only attribute.
None
The method returns the attribute value.
#Get last_rir_registration_update_sent my $last_rir_registration_update_sent = $network->last_rir_registration_update_sent();
Use this method to retrieve the last registration update status of Regional Internet Registry (RIR). This is a read-only attribute.
None
The method returns the attribute value.
#Get last_rir_registration_update_status my $last_rir_registration_update_status = $network->last_rir_registration_update_status();
Use this method to set or retrieve the flag that enables using the same discovery blackout for port control blackout.
Specify 'true' to use same discovery blackout for port control blackout or 'false' to disable it. The default value is 'false'.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get attribute value my $value = $network->same_port_control_discovery_blackout(); # Modify attribute value $network->same_port_control_discovery_blackout('true');
Use this method to set the flag that indicates whether the appliance should send an API or email request for Regional Internet Registry (RIR). This is a write-only attribute.
Specify "true" to set the send_rir_request flag or "false" to unset it.
The method returns true when the modification succeeds, and returns false when the operation fails.
#Set send_rir_request $network->send_rir_request('true');
Use this method to set or retrieve the Cisco ISE subscribe settings.
Setting this method to a defined value implicitly sets the override_subscribe_settings method to "true". Setting the parameter to undefined causes the appliance to use the Cisco ISE endpoint default and automatically resets the override_subscribe_settings method to "false".
Note that when subscribe_settings is set to a defined value and override_subscribe_settings is set to "false", the last operation takes precedence. Thus the sequence $object->subscribe_settings($value); $object->override_subscribe_settings("false"); will set override_subscribe_settings to "false", and the sequence $object->override_subscribe_settings("false"); $object->subscribe_settings($value); will result in override_subscribe_settings="true".
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
The valid value is an Infoblox::CiscoISE::SubscribeSetting object.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get subscribe_settings value my $subscribe_settings = $object->subscribe_settings(); #Modify subscribe_settings value $object->subscribe_settings($settings);
Use this method to specify the reason for deleting the Regional Internet Registry (RIR) registration request. This is a write-only attribute. This field is required only if 'rir_registration_action' is specified as 'DELETE'.
The reason for deleting the RIR registration request in string format with a maximum of 256 bytes.
The method returns true when the modification succeeds, and returns false when the operation fails.
#Set delete_reason $network->delete_reason('invalid');
Use this method to set or retrieve the network template name of a DHCP Network object.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
The valid name in string format.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get template my $template = $network->template(); #Modify template $network->template("Template_Name");
Use this method to set or retrieve the associated zone information. Use the is_default boolean field of the Infoblox::DNS::Zone object to determine or specify the default zone in zone associations of a DHCP network. If the value is 'true', the associated zone is the default zone. Otherwise, it is not the default zone. The default value is 'false'.
The valid value is an array reference that contains Infoblox::DNS::Zone object(s). The default value is an empty list. If the network has a parent, it is possible to use the zone associations of the parent by setting the parameter to undef.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails. If you did not specify a parameter, the method returns the attribute value.
#Getting zone associations my $zone_associations = $network->zone_associations(); #Modifying zone_associations, setting 'test1.com' as the default zone my $zone1 = Infoblox::DNS::Zone->new( name => "test1.com", is_default => "true", ); my $zone2 = Infoblox::DNS::Zone->new( name => "test2.com", is_default => "false", ); $network->zone_associations([$zone1, $zone2]); #Clear zone_assocations $network->zone_associations([]); ##Remove the override for zone_associations $network->zone_associations(undef)
Use this method to set or retrieve the network status, which indicates whether the network is unmanaged or not.
Specify true to mark the network as unmanaged or false as managed.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
# Get network status $unmanaged = $network->unmanaged(); # Modify network status $network->unmanaged('true');
The update_dns_on_lease_renewal attribute controls whether the DHCP server updates DNS when a DHCP lease is renewed.
Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.
Setting this method to a defined value implicitly sets the override_update_dns_on_lease_renewal method to "true". Setting the parameter to undefined causes the appliance to use the grid default and automatically resets the override_update_dns_on_lease_renewal attribute to "false".
Note that when update_dns_on_lease_renewal is set to a defined value and override_update_dns_on_lease_renewal is set to "false", the last operation takes precedence. Thus the sequence $object->update_dns_on_lease_renewal("true"); $object->override_update_dns_on_lease_renewal("false"); will set override_update_dns_on_lease_renewal to "false", and the sequence $object->override_update_dns_on_lease_renewal("false"); $object->update_dns_on_lease_renewal("true"); will result in override_update_dns_on_lease_renewal="true".
Specify "true" to set the update_dns_on_lease_renewal flag or "false" to deactivate/unset it.
The default value of this parameter is "false".
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get update_dns_on_lease_renewal my $update_dns_on_lease_renewal=$network->update_dns_on_lease_renewal( ); #Modify update_dns_on_lease_renewal $network->update_dns_on_lease_renewal("true");
The following sample code demonstrates the different functions that can be applied to an object such as add, search, modify, and remove. This sample also includes error handling for the operations.
#Preparation prior to a DHCP Network insertion
#PROGRAM STARTS: Include all the modules that will be used use strict; use Infoblox;
#Create a session to the Infoblox appliance
my $session = Infoblox::Session->new( master => "192.168.1.2", username => "admin", password => "infoblox" ); unless ($session) { die("Construct session failed: ", Infoblox::status_code() . ":" . Infoblox::status_detail()); } print "Session created successfully\n";
#Create a DHCP Network object
my $memberdhcp = Infoblox::DHCP::Member->new( name => "infoblox.localdomain", ipv4addr => "192.168.1.2" );
my $network = Infoblox::DHCP::Network->new( network => "10.0.0.0/8", comment => "add network", members => [$memberdhcp], );
my $response = $session->add($network) or die("Add Network failed: ", $session->status_code() . ":" . $session->status_detail());
print "Network added successfully\n";
#Search for a specific Network
#Search the network my @retrieved_objs = $session->search( object => "Infoblox::DHCP::Network", network => '10\.0\.0\..*' ); my $object = $retrieved_objs[0]; unless ($object) { die("Search Network failed: ", $session->status_code() . ":" . $session->status_detail()); } print "Search Network found at least 1 matching entry\n";
#Get and modify a Network attribute
#Get Network through the session my @retrieved_objs = $session->get( object =>"Infoblox::DHCP::Network" , network => "10.0.0.0" );
my $object = $retrieved_objs[0];
unless ($object) { die("Get Network object failed: ", $session->status_code() . ":" . $session->status_detail()); } print "Get Network found at least 1 matching entry\n";
#Modify attributes of the specified Network attribute
$object->enable_ddns("true"); #Apply the changes
#Un-override bootfile $object->bootfile(undef);
#Un-override bootserver $object->bootserver(undef);
#Un-override nextserver $object->nextserver(undef);
$session->modify($object) or die("Modify Network attribute failed: ", $session->status_code() . ":" . $session->status_detail());
print "Network object modified successfully \n";
#Resize a network
#Get Network through the session my @retrieved_objs = $session->get( object =>"Infoblox::DHCP::Network" , network => "10.0.0.0/8" ); my $object = $retrieved_objs[0];
#Resize my $response = $object->resize( prefix => "16" ) or die("Resize Network failed: ", $session->status_code() . ":" . $session->status_detail());
#Remove a Network Object
#Get Network object through the session my @retrieved_objs = $session->get( object => "Infoblox::DHCP::Network" , network => "10.0.0.0" );
my $object = $retrieved_objs[0];
unless ($object) {
die("Get Network object failed: ",
$session->status_code()
. ":" . $session->status_detail());
}
print "Get Network object found at least 1 matching entry\n";
#Submit the object for removal
$session->remove($object) or die("Remove Network failed: ", $session->status_code() . ":" . $session->status_detail());
print "Network removed successfully \n";
####PROGRAM ENDS####
Infoblox Inc. http://www.infoblox.com/
Infoblox::Session, Infoblox::DHCP::View, Infoblox::DHCP::Member, Infoblox::DHCP::Option, Infoblox::Session->get(), Infoblox::Session->search(), Infoblox::Session->add(), Infoblox::Session->remove(), Infoblox::Session->modify(), Infoblox::Grid::MSServer::AdUser::Data
Copyright (c) 2017 Infoblox Inc.