Infoblox::DHCP::Network - DHCP Network object


NAME

Infoblox::DHCP::Network - DHCP Network object


DESCRIPTION

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.


CONSTRUCTOR

  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.


SESSION METHODS

This section describes all the methods in an Infoblox::Session module that can apply to a DHCP Network object.

Infoblox::Session->add( )

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.

Example
 #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 );

Infoblox::Session->get( )

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.

Key References
 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.
Examples
  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",
  );

Infoblox::Session->modify( )

Use this method to modify a network object in the Infoblox appliance. See Infoblox::Session->modify() for parameters and return values.

Example
 #Use method to modify enable_ddns method.
 $object->enable_ddns("true");
 # Submit modification
 my $response = $session->modify( $object );

Infoblox::Session->remove( )

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.

Key References
 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.            |
 +------------------------------------------------------------------------------------------+
Example
 # 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'} );

Infoblox::Session->search( )

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.

Key References
 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.

Examples
 # 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.*",
  );


METHODS

This section describes all the methods that can be used to configure and retrieve the attribute values of a DHCP Network object

authority( )

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.

Parameter

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.

Returns

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.

Example
 # Get authority
 my $authority = $network->authority()
 # Modify authority
 $network->authority("true");

auto_create_reversezone( )

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.

Parameter

Specify "true" to set the auto_create_reversezone flag or "false" to deactivate/unset it. The default value for this field is "false".

Returns

If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.

Example
 # Modify auto_create_reversezone
 $network_container->auto_create_reversezone("true");

bootfile( )

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().

Parameter

The name, in string format, of the file that the client must download. The default value is undefined.

Returns

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.

Example
 # Get bootfile
 my $bootfile = $network->bootfile();
 # Modify bootfile
 $network->bootfile("bootfile1");
 #Un-override bootfile
 $network->bootfile(undef);

bootserver( )

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().

Parameter

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.

Returns

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.

Example
 # Get bootserver
 my $bootserver = $network->bootserver();
 # Modify bootserver
 $network->bootserver("abc.domain.com");
 #Un-override bootserver
 $network->bootserver(undef);

comment( )

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.

Parameter

Enter a descriptive comment for the network in string format with a maximum of 256 bytes.

Returns

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.

Example
 # Get comment
 my $comment = $network->comment();
 # Modify comment
 $network->comment("add a network");

cloud_info( )

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.

Parameter

The valid value is a Infoblox::Grid::CloudAPI::Info object.

Returns

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.

Example
 # Get cloud_info
 my $cloud_info = $network_view->cloud_info();
 # Modify cloud_info
 $network_view->cloud_info($cloud_info_object);

ddns_domainname( )

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".

Parameter

The dynamic DNS domain name in string format.

Returns

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.

Example
 #Get ddns_domainname
 my $ddns_domainname = $network->ddns_domainname();
 #Modify ddns_domainname
 $network->ddns_domainname("test_domain.com");

ddns_generate_hostname( )

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.

Parameter

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.

Returns

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.

Example
 # 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);

ddns_server_always_updates( )

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.

Parameter

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".

Returns

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.

Example
 # 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");

ddns_ttl( )

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".

Parameter

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.

Returns

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.

Example
 #Get DNS Update ttl
 my $dns_ttl = $network->ddns_ttl();
 #Modify DNS Update ttl
 $network->ddns_ttl(1200);

ddns_update_fixed_addresses( )

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.

Parameter

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.

Returns

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.

Example
 # 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);

ddns_use_option81( )

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.

Parameter

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.

Returns

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.

Example
 # 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);

deny_bootp( )

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.

Parameter

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.

Returns

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.

Example
 #Get deny_bootp
 my $deny_bootp = $network->deny_bootp();
 #Modify deny_bootp
 $network->deny_bootp("true");

disable( )

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.

Parameter

Specify "true" to set the disable flag or "false" to deactivate/unset it. The default value for this field is "false".

Returns

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.

Example
 # Get disable
 my $disable = $network->disable()
 # Modify disable
 $network->disable("true");

discovered_bridge_domain( )

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.

Parameter

The desired bridge domain name in a string format.

Returns

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.

Example
 #Get bridge domain
 my $bridge_domain = $network->discovered_bridge_domain();
 #Modify bridge domain
 $network->discovered_bridge_domain("Domain");

discovered_tenant( )

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.

Parameter

The desired tenant name in a string format.

Returns

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.

Example
 #Get tenant
 my $tenant = $network->discovered_tenant();
 #Modify tenant
 $network->discovered_tenant("Tenant");

discovery_basic_poll_setting( )

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.

Parameter

The valid value is object of the Infoblox::Grid::Discovery::BasicPollSettings manpage.

Returns

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.

Example
 #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);

discovery_exclusion_range( )

Use this method to set or retrieve the discovery_exclusion_range value of a DHCP Network object.

Parameter

The valid value is an array of the Infoblox::DHCP::ExclusionRange manpage objects.

Returns

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.

Example
 #Get discovery_exclusion_range
 my $discovery_exclusion_range = $network->discovery_exclusion_range();
 #Modify discovery_exclusion_range
 $network->discovery_exclusion_range( [ $exclusion1, $exclusion2 ]);

discovery_member( )

Use this method to set or retrieve the discovery_member value of a DHCP Network object.

Parameter

The discovery member name in string format.

Returns

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.

Example
 #Get discovery_member
 my $discovery_member = $network->discovery_member();
 #Modify discovery_member
 $network->discovery_member("test.localdomain");

discover_now_status( )

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.

Parameter

None.

Returns

The method returns the attribute value that can be 'COMPLETE', 'FAILED', 'NONE', 'PENDING' or 'RUNNING'.

Example
 #Get discover_now_status
 my $discover_now_status = $network->discover_now_status();

discovery_blackout_setting( )

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".

Parameter

Valid value is an Infoblox::Grid::Discovery::Properties::BlackoutSetting object.

Returns

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.

Example
 #Get discovery_blackout_setting
 my $discovery_blackout_setting = $network->discovery_blackout_setting();
 #Modify discovery_blackout_setting
 $network->discovery_blackout_setting($blackout);

discovery_engine_type( )

Use this method to retrieve the DHCP Network discovery engine type. This attribute is read-only.

Parameter

None.

Returns

The method returns the attribute value that can be 'NETMRI', 'NETWORK_INSIGHT', 'VDISCOVERY', 'UNKNOWN' or 'NONE'.

Example
 #Get discovery_engine_type
 my $discovery_engine_type = $network->discovery_engine_type();

email_list( )

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.

Parameter

The valid value is an array reference that contains string objects.

Returns

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.

Example
 #Get email_list
 my @email_list = $network->email_list();
 #Modify email_list
 $network->email_list( [ "admin\@test.com" ] );

enable_ddns( )

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.

Parameter

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.

Returns

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.

Example
 # Get enable_ddns
 my $enable_ddns = $network->enable_ddns()
 # Modify enable_ddns
 $network->enable_ddns("true");
 # Un-override enable_ddns
 $network->enable_ddns(undef);

enable_dhcp_thresholds( )

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.

Parameter

Specify "true" to set the enable_dhcp_thresholds flag or "false" to deactivate/unset it. The default value is undefined.

Returns

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.

Example
 #Get enable_dhcp_thresholds
 my $enable_dhcp_thresholds = $network->enable_dhcp_thresholds();
 #Modify enable_dhcp_thresholds
 $network->enable_dhcp_thresholds("false");

enable_email_warnings( )

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.

Parameter

Specify "true" to set the enable_email_warnings flag or "false" to deactivate/unset it. The default value is undefined.

Returns

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.

Example
 #Get enable_email_warnings
 my $enable_email_warnings = $network->enable_email_warnings();
 #Modify enable_email_warnings
 $network->enable_email_warnings("false");

enable_discovery( )

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.

Parameter

Specify "true" to set the enable_discovery flag or "false" to deactivate/unset it. The default value is undefined.

Returns

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.

Example
 #Get enable_discovery
 my $enable_discovery = $network->enable_discovery();
 #Modify enable_discovery
 $network->enable_discovery("false");

enable_ifmap_publishing( )

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.

Parameter

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.

Returns

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.

Example
 # 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);

enable_immediate_discovery( )

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.

Parameter

Specify "true" to set the enable_immediate_discovery flag or "false" to deactivate/unset it. The default value is undefined.

Returns

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.

Example
 #Get enable_immediate_discovery
 my $enable_immediate_discovery = $network->enable_immediate_discovery();
 #Modify enable_immediate_discovery
 $network->enable_immediate_discovery("false");

enable_snmp_warnings( )

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.

Parameter

Specify "true" to set the enable_snmp_warnings flag or "false" to deactivate/unset it. The default value is undefined.

Returns

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.

Example
 #Get enable_snmp_warnings
 my $enable_snmp_warnings = $network->enable_snmp_warnings();
 #Modify enable_snmp_warnings
 $network->enable_snmp_warnings("false");

endpoint_sources( )

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.

Parameter

None

Returns

The valid return value is an array of Infoblox::CiscoISE::Endpoint objects.

Example
 #Get endpoint_sources value
 my $endpoint_sources = $object->endpoint_sources();

extattrs( )

Use this method to set or retrieve the extensible attributes associated with a DHCP network object.

Parameter

Valid value is a hash reference containing the names of extensible attributes and their associated values ( Infoblox::Grid::Extattr objects ).

Returns

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.

Example
 #Get extattrs
 my $ref_extattrs = $network->extattrs();
 #Modify extattrs
 $network->extattrs({ 'Site' => $extattr1, 'Administrator' => $extattr2 });

extensible_attributes( )

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.

Parameter

For valid values for extensible attributes, see Infoblox::Grid::ExtensibleAttributeDef/Extensible Attribute Values.

Returns

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.

Example
 #Get extensible attributes
 my $ref_extensible_attributes = $network->extensible_attributes();
 #Modify extensible attributes
 $network->extensible_attributes({ 'Site' => 'Santa Clara', 'Administrator' => [ 'Peter', 'Tom' ] });

high_water_mark( )

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.

Parameter

The valid value is in string format.

Returns

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.

Example
 #Get high_water_mark
 my $high_water_mark = $network->high_water_mark();
 #Modify high_water_mark
 $network->high_water_mark("80");

high_water_mark_reset( )

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.

Parameter

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.

Returns

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.

Example
 #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);

ignore_id( )

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.

Parameter

Valid values are 'NONE', 'CLIENT', or 'MACADDR'. The default is 'NONE'.

Returns

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.

Example
 # Get attribute value
 $value = $network->ignore_id();
 # Modify attribute value
 $network->ignore_id('CLIENT');
 #Un-override ignore_id
 $network->ignore_id(undef);

ignore_mac_addresses( )

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.

Parameter

The valid value is an array reference that contains string objects.

Returns

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.

Example
 # Get attribute value
 $value = $network->ignore_mac_addresses();
 # Modify attribute value
 $network->ignore_mac_addresses(["11::11::11::11::11::11"]);

ignore_dhcp_option_list_request( )

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.

Parameter

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.

Returns

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.

Example
 # 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);

ipam_email_addresses( )

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".

Parameter

Valid value is an array reference that contains email addresses in string format.

Returns

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.

Example
 #Get ipam_email_addresses
 my $ipam_email_addresses = $network->ipam_email_addresses();
 #Modify ipam_email_addresses
 $network->ipam_email_addresses($ipam_email_addresses);

ipam_trap_settings( )

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".

Parameter

Valid value is an Infoblox::Grid::SNMP::IPAMTrap object.

Returns

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.

Example
 #Get ipam_trap_settings
 my $ipam_trap_settings = $network->ipam_trap_settings();
 #Modify ipam_trap_settings
 $network->ipam_trap_settings($ipam_trap_settings);

ipam_threshold_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".

Parameter

Valid value is an Infoblox::Grid::SNMP::IPAMThreashold object.

Returns

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.

Example
 #Get ipam_threshold_settings
 my $ipam_threshold_settings = $network->ipam_threshold_settings();
 #Modify ipam_threshold_settings
 $network->ipam_threshold_settings($ipam_threshold_settings);

lease_scavenge_time( )

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".

Parameter

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.

Returns

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.

Example
 #Get lease_scavenge_time
 my $lease_scavenge = $network->lease_scavenge_time();
 #Modify lease_scavenge_time
 $network->lease_scavenge_time(30 * 24 * 60 * 60);

logic_filters( )

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.

Parameter

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:

Filter name must be globally unique.
Filters without expressions must be at the end of the list.
The filters should not be disabled.

The default value of the parameter is undefined.

Returns

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.

Example
 #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.

low_water_mark( )

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.

Parameter

The valid value is in string format.

Returns

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.

Example
 #Get low_water_mark
 my $low_water_mark = $network->low_water_mark();
 #Modify low_water_mark
 $network->low_water_mark("10");

low_water_mark_reset( )

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.

Parameter

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.

Returns

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.

Example
 #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);

members( )

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.

Parameter

The valid value is an array reference that contains Infoblox::DHCP::Member or Infoblox::DHCP::MSServer objects.

Returns

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.

Example
 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],
 );

mgm_private( )

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.

Parameter

Specify 'true' to enable synchronization of the managed Grid with the MGM or 'false' to forbid it. The default value is 'false'.

Returns

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.

Example
 #Get mgm_private value
 my $value = $object->mgm_private();
 #Modify mgm_private value
 $object->mgm_private('true');

mgm_private_overridable( )

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.

Parameter

None

Returns

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.

Example
 #Get mgm_private_overridable value
 my $value = $object->mgm_private_overridable();

ms_ad_user_data( )

Use this method to retrieve Microsoft Active Directory users related information. This is a read-only attribute.

Parameter

None

Returns

The valid return value is an Infoblox::Grid::MSServer::AdUser::Data object.

Example
 #Get ms_ad_user_data
 my $ms_ad_user_data = $network->ms_ad_user_data();

network( )

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.

Parameter

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).

Returns

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.

Example
 #Get network
 my $network = $network->network();

network_container( )

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.

Parameter

Specify the IP address and netmask of a network in CIDR format.

Returns

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.

Example
 #Get network container
 my $network_container = $network->network_container();
 #Modify network container
 $network->network_container("50.0.0.0/8");

network_view( )

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.

Parameter

Valid value is a defined Infoblox::DHCP::View object. The default network view value is the system-defined default network view object.

Returns

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.

Example
 #Get network view
 my $nview = $network->network_view();
 #Modify network view, with an Infoblox::DHCP::View object
 $network->network_view($nview);

nextserver( )

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().

Parameter

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.

Returns

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.

Example
 # Get nextserver
 my $nextserver = $network->nextserver();
 # Modify nextserver
 $network->nextserver("blue.domain.com");
 #Un-override nextserver
 $network->nextserver(undef);

next_available_ip( )

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.

Parameter

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.
Returns

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)
Example
 # 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"]);

next_available_network( )

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.

Parameter

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.
Returns

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.

Example
 # 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']);

options( )

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.

Parameter

The valid value is an array reference that contains Infoblox::DHCP::Option objects.

Returns

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.

Example
 #Get options
 my $options = $network->options();
 #Modify options
 my $option1 = Infoblox::DHCP::Option->new(
     name => "lease-time",
     value => 50
 );
 $network->options([$option1]);

override_ddns_domainname( )

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.

Parameter

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".

Returns

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.

Example
    #Getting override_ddns_domainname
    my $override_ddns_domainname=$network->override_ddns_domainname( );
    #Modifying override_ddns_domainname
    $network->override_ddns_domainname("true");

override_ddns_ttl( )

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.

Parameter

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".

Returns

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.

Example
    #Getting override_ddns_ttl
    my $override_ddns_ttl=$network->override_ddns_ttl( );
    #Modifying override_ddns_ttl
    $network->override_ddns_ttl("true");

override_enable_ifmap_publishing( )

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.

Parameter

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".

Returns

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.

Example
    #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");

override_blackout_setting( )

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.

Parameter

Specify "true" to set the override_blackout_setting flag or "false" to deactivate/unset it. The default value is "false".

Returns

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.

Example
 # Get attribute value
 my $value = $network->override_blackout_setting();
 # Modify attribute value
 $network->override_blackout_setting('true');

override_ignore_id( )

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.

Parameter

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".

Returns

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.

Example
    #Get attrubute value
    my $value=$network->override_ignore_id();
    #Modifying attribute value
    $network->override_ignore_id('true');

override_ipam_email_addresses( )

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.

Parameter

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".

Returns

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.

Example
    #Get attrubute value
    my $value=$network->override_ipam_email_addresses();
    #Modifying attribute value
    $network->override_ipam_email_addresses('true');

override_ipam_threshold_settings( )

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.

Parameter

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".

Returns

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.

Example
    #Get attrubute value
    my $value=$network->override_ipam_threshold_settings();
    #Modifying attribute value
    $network->override_ipam_threshold_settings('true');

override_ipam_trap_settings( )

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.

Parameter

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".

Returns

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.

Example
    #Get attrubute value
    my $value=$network->override_ipam_trap_settings();
    #Modifying attribute value
    $network->override_ipam_trap_settings('true');

override_lease_scavenge_time( )

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.

Parameter

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".

Returns

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.

Example
    #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");

override_logic_filters( )

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.

Parameter

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".

Returns

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.

Example
 #Getting override_logic_filters
 my $override_logic_filters=$network->override_logic_filters( );
 #Modifying override_logic_filters
 $network->override_logic_filters("true");

override_mgm_private( )

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.

Parameter

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'.

Returns

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.

Example
 #Get override_mgm_private value
 my $value = $object->override_mgm_private( );
 #Modify override_mgm_private value
 $object->override_mgm_private('true');

override_subscribe_settings( )

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.

Parameter

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".

Returns

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.

Example
 #Get override_subscribe_settings value
 my $override_subscribe_settings = $object->override_subscribe_settings( );
 #Modify override_subscribe_settings value
 $object->override_subscribe_settings("true");

override_update_dns_on_lease_renewal( )

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.

Parameter

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".

Returns

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.

Example

#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");

port_control_blackout_setting

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".

Parameter

Valid value is an Infoblox::Grid::Discovery::Properties::BlackoutSetting object.

Returns

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.

Example
 #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);

pxe_lease_time( )

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.

Parameter

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.

Returns

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.

Example
 #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);

recycle_leases( )

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.

Parameter

Specify "true" to enable the recycle_leases flag or "false" to disable it. The default value is undefined.

Returns

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.

Example
 #Get recycle_leases
 my $recycle_leases = $network->recycle_leases();
 #Modify recycle_leases
 $network->recycle_leases("false");

resize( )

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.

Parameter

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.

Returns

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.

Example
 #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());

restart_if_needed( )

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.

Parameter

Specify true to restart the DHCP service.

Returns

None

Example
 # Modify
 $network->restart_if_needed('true');

rir( )

Use this method to retrieve the name of the Regional Internet Registry (RIR) that allocated this address space. This is a read-only attribute.

Parameter

None

Returns

The method returns the attribute value that can be 'RIPE' or 'NONE'.

Example
 #Get rir
 my $rir = $network->rir();

rir_organization( )

Use this method to set or retrieve the Regional Internet Registry (RIR) organization object.

Parameter

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.

Returns

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.

Example
 #Get rir_organization
 my $rir_organization = $network->rir_organization();
 #Modify rir_organization
 $network->rir_organization($rir_org);

rir_registration_action( )

Use this method to set the registration action of Regional Internet Registry (RIR). This is a write-only attribute.

Parameter

Valid values are 'NONE', 'CREATE', 'MODIFY' or 'DELETE'.

Returns

The method returns true when the modification succeeds, and returns false when the operation fails.

Example
 #Set rir_registration_action
 $network->rir_registration_action('CREATE');

rir_registration_status( )

Use this method to set or retrieve the registration status of Regional Internet Registry (RIR).

Parameter

The registration status of Regional Internet Registry (RIR), which can be 'REGISTERED' or 'NOT_REGISTERED'.

Returns

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.

Example
 #Get rir_registration_status
 my $rir_registration_status = $network->rir_registration_status();
 #Modify rir_registration_status
 $network->rir_registration_status('NOT_REGISTERED');

last_rir_registration_update_sent( )

Use this method to retrieve the last registration update timestamp of Regional Internet Registry (RIR). This is a read-only attribute.

Parameter

None

Returns

The method returns the attribute value.

Example
 #Get last_rir_registration_update_sent
 my $last_rir_registration_update_sent = $network->last_rir_registration_update_sent();

last_rir_registration_update_status( )

Use this method to retrieve the last registration update status of Regional Internet Registry (RIR). This is a read-only attribute.

Parameter

None

Returns

The method returns the attribute value.

Example
 #Get last_rir_registration_update_status
 my $last_rir_registration_update_status = $network->last_rir_registration_update_status();

same_port_control_discovery_blackout( )

Use this method to set or retrieve the flag that enables using the same discovery blackout for port control blackout.

Parameter

Specify 'true' to use same discovery blackout for port control blackout or 'false' to disable it. The default value is 'false'.

Returns

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.

Example
 # Get attribute value
 my $value = $network->same_port_control_discovery_blackout();
 # Modify attribute value
 $network->same_port_control_discovery_blackout('true');

send_rir_request( )

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.

Parameter

Specify "true" to set the send_rir_request flag or "false" to unset it.

Returns

The method returns true when the modification succeeds, and returns false when the operation fails.

Example
 #Set send_rir_request
 $network->send_rir_request('true');

subscribe_settings( )

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.

Parameter

The valid value is an Infoblox::CiscoISE::SubscribeSetting object.

Returns

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.

Example
 #Get subscribe_settings value
 my $subscribe_settings = $object->subscribe_settings();
 #Modify subscribe_settings value
 $object->subscribe_settings($settings);

delete_reason( )

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'.

Parameter

The reason for deleting the RIR registration request in string format with a maximum of 256 bytes.

Returns

The method returns true when the modification succeeds, and returns false when the operation fails.

Example
 #Set delete_reason
 $network->delete_reason('invalid');

template( )

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.

Parameter

The valid name in string format.

Returns

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.

Example
 #Get template
 my $template = $network->template();
 #Modify template
 $network->template("Template_Name");

zone_associations( )

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'.

Parameter

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.

Returns

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.

Examples
 #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)

unmanaged( )

Use this method to set or retrieve the network status, which indicates whether the network is unmanaged or not.

Parameter

Specify true to mark the network as unmanaged or false as managed.

Returns

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.

Example
 # Get network status
 $unmanaged = $network->unmanaged();
 # Modify network status
 $network->unmanaged('true');

update_dns_on_lease_renewal( )

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".

Parameter

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".

Returns

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.

Example

#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");


SAMPLE CODE

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####


AUTHOR

Infoblox Inc. http://www.infoblox.com/


SEE ALSO

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

Copyright (c) 2017 Infoblox Inc.