Infoblox::Grid::Discovery - Grid discovery functions.
The object provides access to the Grid discovery and Network Insight functions.
my $discovery = Infoblox::Grid::Discovery->new( 'session' => $session, # Required );
The object does not support any session methods.
Use this method to clear network provision information on given router or switch-router device interfaces for given networks.
Note that this function is always executed as part of scheduled task. Also the function goes through approval process if it is applicable.
network_deprovision_info - Required. An array reference that contains Infoblox::Grid::Discovery::NetworkDeprovisionInfo objects. scheduled_at - Required. Scheduled time in ISO 8601 extended format for date and time (e.g. 2008-10-21T10:56:00Z or 2008-10-21T10:56:00.001Z) or 'now' which will set scheduled date and time to the current date and time.
The method returns true when a scheduled task has been created successfully, and returns false when the operation fails.
my $res = $discovery->clear_network_port_assignment('scheduled_at' => $scheduled_time, 'network_deprovision_info' => [$deprovision_info1, $deprovision_info2]);
Use this method to control multiple IP addresses.
addresses - Required. An array reference that contains IP addresses. network_view - Optional. The network view name. exclude - Optional. The flag for exclude. Valid value is 'true' or 'false'.
The method returns true when the modification succeeds, and returns false when the operation fails.
my $res = $discovery->control_ip_address('addresses' => ['10.0.0.1', '10.0.0.2']);
Use this method to configure the interface of a given switch device.
Note that this function is always executed as part of scheduled task. Also the function goes through approval process if it is applicable. This function is used for both IPAM IP address object port configuration and device interface port control.
port_config - Required. An array reference that contains Infoblox::Grid::Discovery::Port::Control objects. scheduled_at - Required. Scheduled time in ISO 8601 extended format for date and time (e.g. 2008-10-21T10:56:00Z or 2008-10-21T10:56:00.001Z) or 'now' which will set scheduled date and time to the current date and time.
The method returns "true" when a scheduled task has been created successfully, and returns "false" when the operation fails.
my $res = $discovery->control_switch_port('scheduled_at' => $scheduled_time, 'port_configs' => [$config1, $config2]);
Use this method to execute discovery diagnostics for the IP address.
address - Required. The IP address. community_string - Optional. The communitry string. force_test - Optional. The flag for force test. Valid value is 'true' or 'false'. discovery_member - Optional. The discovery member name. network_view - Optional. The network view name. debug_snmp - Optional. The flag for enable/disable SNMP debug (enabled by default). Valid value is 'true' or 'false'.
The method returns a discovery diagnostic status ID in string format when the operations succeeds, and returns false when teh operation fails.
my $id = $discovery->diagnostics('address' => '10.0.0.1');
Use this method to retrieve the discovery diagnostic status.
id - Required. The discovery diagnostic status ID. start - Optional. The start position of the text.
The method returns an Infoblox::Grid::Discovery::DiagnosticsStatus object when the operation succeeds, and returns false when the operation fails.
my $object = $discovery->diagnostics_status('id' => $id);
Use this method to convert discovery data to specified objects.
type - Required. The object type of the converted object. Valid value is one of the following object types: A_RECORD, AAAA_RECORD, PTR_RECORD, HOST_RECORD, FIXED_ADDRESS, IPV6_FIXED_ADDRESS. addresses - Required. An array reference that contains Infoblox::IPAM::Address objects retrieved from the appliance. attributes - Optional. An Infoblox::Grid::Discovery::ConversionAttributes object. extensible_attributes - Optional. The list of extensible attributes associated with the created objects. Valid value is a hash reference containing the names of extensible attributes and their associated values (Infoblox::Grid::Extattr objects).
The method returns an array reference that contains Infoblox::Grid::Discovery::DiscoveryDataConversionResult objects if the operation succeeds.
my $address = $discovery->get('object' => 'Infoblox::IPAM::Address', 'ip_address' => '10.0.0.31'); my $zone = $discovery->get('object' => 'Infoblox::DNS::Zone', 'name' => 'papi.com'); my $attrs = Infoblox::Grid::Discovery::ConversionAttributes->new( 'configure_for_dns' => 'true', 'configure_for_dhcp' => 'true', 'comment' => 'convert', 'disabled' => 'false', 'zone' => $zone); my $results = $discovery->discovery_data_conversion( 'type' => 'HOST_RECORD', 'attributes' => $attrs, 'addresses' => [$address], 'extensible_attributes' => {'Site' => Infoblox::Grid::Extattr->new('value' => 'test.com')});
Use this method to retrieve such information about device as device support statuses and device support info.
device - Required. An Infoblox::Grid::Discovery::Device object.
The method returns an Infoblox::Grid::Discovery::DeviceSupportInfoResponse object.
my $res = $discovery->get_device_support_info('device' => $device);
Use this method to get the list of devices on wich the network insight job is processing.
This function should be called only if the task is related to network insight port control job.
task - Required. An Infoblox::Grid::ScheduledTask object or a task ID.
The method returns an array reference that contains Infoblox::Grid::Discovery::Device object if operation succeeds, and returns "false" when the operation fails.
# Get value by task_id my $devices = $discovery->get_job_devices('task' => $task_id);
# Get value by scheduled_task object my $devices = $discovery->get_job_devices('task' => $scheduled_task);
Use this method to get a network insight job processing logs related to a given task.
This function should be called only if the task is related to network insight port control job.
device - Required. An Infoblox::Grid::Discovery::Device object. task - Required. An Infoblox::Grid::ScheduledTask object or a task ID. start_line - Optional. Valid value is unsigned integer representing starting line of a log stream. Default value is 0.
The method returns a Infoblox::Grid::Discovery::JobProcessDetails object if operation succeeds, and returns "false" if operation fails.
# Get job prcess details my $job_process_details = $discovery->get_job_process_details('device' => $device, 'task' => $scheduled_task, 'start_line' => 10);
Use this method to provision only DHCP relay information for given devices.
Note that this function is always executed as part of scheduled task. Also the function goes through approval process if it is applicable.
interfaces - Required. An array reference that contains Infoblox::Grid::Discovery::DeviceInterface objects. network - Required. The IP address and netmask of a network in CIDR format. scheduled_at - Required. Scheduled time in ISO 8601 extended format for date and time (e.g. 2008-10-21T10:56:00Z or 2008-10-21T10:56:00.001Z) or 'now' which will set scheduled date and time to the current date and time. enable_dhcp_relay - Optional. Enables DHCP relay. Valid value is 'true' and 'false'. Default value is 'false'. network_view - Optional. The network view name.
The method returns 'true' when a scheduled task has been created successfully, and returns 'false' when the operation fails.
my $res = $discovery->provision_network_dhcp_relay('scheduled_at' => 'now', 'interfaces' => \@interfaces, 'network' => $network);
Use this method to provision the network with interface and assign default router ip address on a device.
Note that this function is always executed as part of scheduled task. Also the function goes through approval process if it is applicable.
device - Optional. An Infoblox::Grid::Discovery::Device object. At least one of device or interface is required. interface - Optional. An Infoblox::Grid::Discovery::DeviceInterface object. At least one of device or interface is required. network - Required. The IP address and netmask of a network in CIDR format to operate on. router_ip - Required. Router IP address to operate on. scheduled_at - Required. Scheduled time in ISO 8601 extended format for date and time (e.g. 2008-10-21T10:56:00Z or 2008-10-21T10:56:00.001Z) or 'now' which will set scheduled date and time to the current date and time. enable_dhcp_relay - Optional. Enables DHCP relay. Valid value is 'true' and 'false'. Default value is 'false'. network_view - Optional. An Infoblox::DHCP::View object. vlan_info - Optional. An Infoblox::Grid::Discovery::VLANInfo object.
The method returns 'true' when a scheduled task has been created successfully, and returns 'false' when the operation fails.
my $res = $discovery->provision_network_port('scheduled_at' => '2008-10-21T10:56:00Z', 'device' => $device, 'network' => '10.0.0.0/8', router_ip => '10.0.0.1');
Use this method to start discovery on specified objects.
objects - Required. An array reference that contains Infoblox::IPAM::Address, Infoblox::DHCP::Network, Infoblox::DHCP::IPv6Network, Infoblox::DHCP::NetworkContainer and Infoblox::DHCP::IPv6NetworkContainer objects that have been retrieved from the appliance.
The method returns true when the modification succeeds, and returns false when the operation fails.
my @networks = $discovery->get('object' => 'Infoblox::DHCP::Network'); my $res = $discovery->start_discovery('objects' => \@networks);
Infoblox::Grid::Discovery::DiagnosticsStatus, Infoblox::IPAM::Address, Infoblox::DHCP::Network, Infoblox::DHCP::IPv6Network, Infoblox::DHCP::NetworkContainer, Infoblox::DHCP::IPv6NetworkContainer, Infoblox::Grid::Discovery::NetworkDeprovisionInfo, Infoblox::Grid::Discovery::Port::Control, Infoblox::Grid::Discovery::Device, Infoblox::Grid::Discovery::JobProcessDetails, Infoblox::Grid::Discovery::DeviceInterface, Infoblox::Grid::Discovery::VLANInfo, Infoblox::Grid::Discovery::DiscoveryDataConversionResult, Infoblox::Grid::Discovery::ConversionAttributes, Infoblox::Grid::Discovery::DeviceSupportInfoResponse.
Infoblox Inc. http://www.infoblox.com/
Copyright (c) 2017 Infoblox Inc.