Infoblox::Grid::VDiscoveryTask - the vDiscovery task.


NAME

Infoblox::Grid::VDiscoveryTask - the vDiscovery task.


DESCRIPTION

The object provides information about the vDiscovery task.


CONSTRUCTOR

 my $object = Infoblox::Grid::VDiscoveryTask->new(
    'name'                               => $string,
    'member'                             => $string,
    'public_network_view_mapping_policy' => 'DIRECT' | 'AUTO_CREATE',
    'private_network_view_mapping_policy'=> 'DIRECT' | 'AUTO_CREATE',
    'driver_type'                        => 'AWS' | 'AZURE' | 'OPENSTACK' | 'VMWARE',
    'fqdn_or_ip'                         => $string,
    'protocol'                           => 'HTTP' | 'HTTPS',
    'port'                               => $uint,
    'username'                           => $string,
    'password'                           => $string,
    'update_metadata'                    => 'true' | 'false',
    'merge_data'                         => 'true' | 'false',
    'auto_consolidate_managed_tenant'    => 'true' | 'false',
    'auto_consolidate_managed_vm'        => 'true' | 'false',
    'auto_consolidate_cloud_ea '         => 'true' | 'false',
    'auto_create_dns_record'             => 'true' | 'false',
    'auto_create_dns_record_type'        => 'HOST_RECORD' | 'A_PTR_RECORD',
    'auto_create_dns_hostname_template'  => $string,
    'credentials_type'                   => 'DIRECT' | 'INDIRECT',
    'allow_unsecured_connection'         => 'true' | 'false',
    'update_dns_view_public_ip'          => 'true' | 'false',
    'dns_view_public_ip'                 => $string,
    'update_dns_view_private_ip'         => 'true' | 'false',
    'dns_view_private_ip'                => $string,
    'identity_version'                   => 'KEYSTONE_V2' | 'KEYSTONE_V3',
    'domain_name'                        => $string,
 );


SESSION METHODS

This section describes all the methods in Infoblox::Session that you can apply to a vDiscovery task object.

Infoblox::Session->add( )

Use this method to add an object to the Infoblox appliance. See Infoblox::Session->add() for parameters and return values.

Example
 #Construct an object
 my $task = Infoblox::Grid::VDiscoveryTask->new(
    name             => "taskname",
    comment          => "descriptive comment",
 );
 # Submit for addition
 my $response = $session->add( $task );

Infoblox::Session->get( )

Use this method to retrieve all the matching objects from the Infoblox appliance. See Infoblox::Session->get() for parameters and return values.

Key References
 Apply the following attributes to get a specific grid object:
  name                  - Optional. A name of the cloud discovery task in string format.
  member                - Optional. A host name of the member the cloud discovery task is assigned toin string format.
  fqdn_or_ip            - Optional. A FQDN or IP of the cloud management platform in string format.
  protocol              - Optional. A connection protocol used for connecting to the cloud management platform in string format.
  port                  - Optional. A connection port used for connecting to the cloud management platform in string format.
  public_network_view   - Optional. A network view name for public IPs in string format.
  private_network_view  - Optional. A network view name for private IPs in string format.
  extattrs              - Optional. A hash reference containing extensible attributes.
  extensible_attributes - Optional. A hash reference containing extensible attributes.
  comment               - Optional. A comment in string format.
Example
 my @retrieved_objs = $session->get(
     object => "Infoblox::Grid::VDiscoveryTask",
     name   => "taskname",
 );

Infoblox::Session->remove( )

Use this method to submit an object for removal 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 object, and then submit this object for removal.

Example
 # Get the objects with the same name
 my @retrieved_objs = $session->get(
     object => "Infoblox::Grid::VDiscoveryTask",
     name   => "taskname",
 );
 # Find the desired object on the retrieved list.
 my $desired_task = $retrieved_objs[0];
 # Submit for removal
 my $response = $session->remove( $desired_task );

Infoblox::Session->search( )

Use this method to search for objects in the Infoblox appliance. See Infoblox::Session->search() for parameters and return values.

Key References
 Apply the following attributes to search for a task object:
  name                  - Optional. A name of the cloud discovery task in string format.
  member                - Optional. A host name of the member the cloud discovery task is assigned toin string format.
  fqdn_or_ip            - Optional. A FQDN or IP of the cloud management platform in string format.
  protocol              - Optional. A connection protocol used for connecting to the cloud management platform in string format.
  port                  - Optional. A connection port used for connecting to the cloud management platform in string format.
  public_network_view   - Optional. A network view name for public IPs in string format.
  private_network_view  - Optional. A network view name for private IPs in string format.
  extattrs              - Optional. A hash reference containing extensible attributes.
  extensible_attributes - Optional. A hash reference containing extensible attributes.
  comment               - Optional. A comment in string format.

For more information about searching extensible attributes, see Infoblox::MasterGrid::ExtensibleAttributeDef/Searching Extensible Attributes.

Example
 # search for all map objects objects that have "sub" in their name
 my @retrieved_objs = $session->search(
     object => "Infoblox::Grid::VDiscoveryTask",
     name   => "sub.*",
 );

Infoblox::Session->modify( )

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

Example
 # Use this method to modify the name
 $task->comment("some other comment");
 # Submit modification
 my $response = $session->modify( $task );


METHODS

This section describes all the methods that you can use to set or retrieve the attribute values of the discovered data object.

name( )

Use this method to set or retrieve the name of the vDiscovery task.

Parameter

The the name of the vDiscovery task in string format. The name uniquely identify a vDiscovery task.

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 = $object->name();
 # Modify attribute value
 $object->name('name');

member( )

Use this method to set or retrieve the host name of the member to which the vDiscovery task is assigned.

Parameter

The host name of the member (in string format) to which the vDiscovery task is assigned.

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 = $object->member();
 # Modify attribute value
 $object->member('member');

scheduled_run( )

Use this method to set or retrieve the schedule setting for the vDiscovery task.

Parameter

Valid value is an Infoblox::Grid::ScheduleSetting 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 attribute value
 my $value = $object->scheduled_run();
 # Modify attribute value
 $object->scheduled_run($schedule);

state( )

Use this method to retrieve the current state of the vDiscovery task. This is a read-only attribute.

Parameter

None

Returns

Valid values are 'IDLE' (waiting), 'READY' (ready run), 'RUNNING' (the task is running), 'COMPLETE' (successfully completes discovery), 'COLLECTION_COMPLETE' (successfully completed collection), 'WARNING' (discovery completed with errors), 'ERROR' (fails to discover), 'CANCEL_PENDING' (cancelling equals pending). The default value is 'IDLE'.

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

enabled( )

Use this method to set or retrieve the flag used to control whether the vDiscovery task is running or not.

Parameter

Specify "true" to enable port scanning or "false" to disable it.

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 = $object->enabled();
 # Modify attribute value
 $object->enabled('true');

comment( )

Use this method to set or retrieve the comment of the task.

Parameter

The comment of the task 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 attribute value
 my $value = $object->comment();
 # Modify attribute value
 $object->comment('comment');

public_network_view_mapping_policy( )

Use this method to set or retrieve the mapping policy for the network view for public IPs in discovered data.

Parameter

Map the policy using a specified network view ('DIRECT') or map the policy using the network view resolved from the tenant ID ('AUTO_CREATE').

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 = $object->public_network_view_mapping_policy();
 # Modify attribute value
 $object->public_network_view_mapping_policy('DIRECT');

public_network_view( )

Use this method to set or retrieve the name of the network view for public IPs.

Parameter

The name of the network view for public IPs 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 attribute value
 my $value = $object->public_network_view();
 # Modify attribute value
 $object->public_network_view('public_network_view');

private_network_view_mapping_policy( )

Use this method to set or retrieve the mapping policy for the network view for private IPs in discovered data.

Parameter

Map the policy using a specified network view ('DIRECT') or map the policy using the network view resolved from the tenant ID ('AUTO_CREATE').

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 = $object->private_network_view_mapping_policy();
 # Modify attribute value
 $object->private_network_view_mapping_policy('DIRECT');

private_network_view( )

Use this method to set or retrieve the name of the network view for private IPs.

Parameter

The name of the network view for private IPs 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 attribute value
 my $value = $object->private_network_view();
 # Modify attribute value
 $object->private_network_view('private_network_view');

driver_type( )

Use this method to set or retrieve the type of discovery driver that applies to the vDiscovery task.

Parameter

The type of discovery driver that applies to the vDiscovery task in string format. Valid value is 'AWS' (Amazon Web Service), 'AZURE'(Microsoft Azure), OPENSTACK' (OpenStack) or 'VMWARE' (VMWare).

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 = $object->driver_type();
 # Modify attribute value
 $object->driver_type('VMWARE');

fqdn_or_ip( )

Use this method to set or retrieve the FQDN or IP of the Cloud Management Platform.

Parameter

The FQDN or IP of the Cloud Management Platform 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 attribute value
 my $value = $object->fqdn_or_ip();
 # Modify attribute value
 $object->fqdn_or_ip('fqdn_or_ip');

protocol( )

Use this method to set or retrieve the connection protocol used for connecting to the Cloud Management Platform.

Parameter

The connection protocol used for connecting to the Cloud Management Platform in string format. Valid value is 'HTTP' or 'HTTPS'.

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 = $object->protocol();
 # Modify attribute value
 $object->protocol('HTTP');

port( )

Use this method to set or retrieve the connection port used for connecting to the Cloud Management Platform.

Parameter

The connection port used for connecting to the Cloud Management Platform 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 attribute value
 my $value = $object->port();
 # Modify attribute value
 $object->port('port');

username( )

Use this method to set or retrieve the username used for connecting to the Cloud Management Platform. This attribute is mandatory if credentials_type is "DIRECT".

Parameter

The username used for connecting to the Cloud Management Platform 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 attribute value
 my $value = $object->username();
 # Modify attribute value
 $object->username('username');

password( )

Use this method to set the password used for connecting to the Cloud Management Platform. This is a write-only attribute. This attribute is mandatory if credentials_type is "DIRECT".

Parameter

The password used for connecting to the Cloud Management Platform in string format.

Returns

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

Example
 # Modify attribute value
 $object->password('password');

state_msg( )

Use this method to retrieve the state message of the complete discovery process. This is a read-only attribute.

Parameter

None

Returns

The method returns the attribute value.

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

last_run_time( )

Use this method to set or retrieve the timestamp of the last vDiscovery task.

Parameter

None

Returns

The method returns the attribute value.

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

update_metadata( )

Use this method to control whether to update the metadata as a result of the vDiscovery or not.

Parameter

Specify "true" to update the metadata as a result of the vDiscovery or "false" to not update it.

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 = $object->update_metadata();
 # Modify attribute value
 $object->update_metadata('true');

merge_data( )

Use this method to control whether to replace the old data with the new one or not.

Parameter

Specify "true" to replace the old data with the new one or "false" to not replace it.

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 = $object->merge_data();
 # Modify attribute value
 $object->merge_data('true');

auto_consolidate_managed_tenant( )

Use this method to control whether to replace managed tenant with discovered tenant data.

Parameter

Specify "true" to replace managed tenant with discovered tenant data or "false" to not replace it.

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 = $object->auto_consolidate_managed_tenant();
 # Modify attribute value
 $object->auto_consolidate_managed_tenant('true');

auto_consolidate_managed_vm( )

Use this method to control whether to replace managed virtual machine with discovered virtual machine data.

Parameter

Specify "true" to replace managed virtual machine with discovered virtual machine data or "false" to not replace it.

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 = $object->auto_consolidate_managed_vm();
 # Modify attribute value
 $object->auto_consolidate_managed_vm('true');

auto_consolidate_cloud_ea( )

Use this method to control whether to insert or update cloud EAs with discovered data.

Parameter

Specify "true" to insert or update cloud EAs with discovered data or "false" to not do it.

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 = $object->auto_consolidate_cloud_ea();
 # Modify attribute value
 $object->auto_consolidate_cloud_ea('true');

auto_create_dns_record( )

Use this method to set or retrieve the flag that indicates whether the automatic creation and update of DNS records using discovered data is enabled or disabled.

Parameter

Specify 'true' to enable automatic creation and update of DNS records with discovered data 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 = $object->auto_create_dns_record();
 # Modify attribute value
 $object->auto_create_dns_record('false');

auto_create_dns_record_type( )

Use this method to set or retrieve the type of record to create if the auto-creation of DNS records is enabled.

Parameter

The type of record to create if the auto-creation of DNS records is enabled. Valid values are 'HOST_RECORD' (host record) or 'A_PTR_RECORD' (A (AAAA) record and ptr record combination). Default is 'HOST_RECORD'.

Parameter

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 = $object->auto_create_dns_record_type();
 # Modify attribute value
 $object->auto_create_dns_record_type('HOST_RECORD');

auto_create_dns_hostname_template( )

Use this method to set or retrieve the template string used to generate host names.

Parameter

Template string used to generate host names.

Note that using double quotes may lead to interpolation of variables. Instead, use single quotes or encapsulated '$' characters.

Parameter

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 = $object->auto_create_dns_hostname_template();
 # Modify attribute value
 $object->auto_create_dns_hostname_template('${vm_name}.test.com');

vdiscovery_control( )

Use this method to start a task or to cancel a task.

Parameter

action - Action being requested in string format. Support starting ('START') an IDLE vDiscovery task or cancelling ('CANCEL') a RUNNING vDiscovery task. Valid value is 'START' or 'CANCEL'.

Returns

The method returns "true" if the action has been performed successfully , and returns "false" when the actions fails.

Example
 my $res = $cdiscovery->vdiscovery_control('action' => 'START');

credentials_type( )

Use this method to set or retrieve the type of credentials used for connecting to the Cloud Management Platform.

Parameter

The credentials type used for connecting to the Cloud Management Platform in string format. Valid values are 'DIRECT' or 'INDIRECT'. Default is 'DIRECT'.

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 = $object->credentials_type();
 # Modify attribute value
 $object->credentials_type('INDIRECT');

allow_unsecured_connection( )

Use this method to set or retrieve the flag that indicates whether the remote SSL certificate is validated or not. If set to 'true', the certificate will not be validated.

Parameter

Specify 'true' to disable the validation of the remote SSL certificate or 'false' to enable 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 = $object->allow_unsecured_connection();
 # Modify attribute value
 $object->allow_unsecured_connection('false');

update_dns_view_public_ip( )

Use this method to set or retrieve the flag that indicates whether the appliance should use a specific DNS view for public IPs.

Parameter

Specify 'true' to use a specific DNS view for public IPs or 'false' to not use.

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 = $object->update_dns_view_public_ip();
 # Modify attribute value
 $object->update_dns_view_public_ip('false');

dns_view_public_ip( )

The DNS view name for public IPs. If you configure this option, you must also set update_dns_view_public_ip to true. Otherwise, set update_dns_view_public_ip to false.

Parameter

The valid value is DNS view 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 attribute value
 my $value = $object->dns_view_public_ip();
 # Modify attribute value
 $object->dns_view_public_ip('public_dns_view');

update_dns_view_private_ip( )

Use this method to set or retrieve the flag that indicates whether the appliance should use a specific DNS view for private IPs.

Parameter

Specify 'true' to use a specific DNS view for private IPs or 'false' to not use.

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 = $object->update_dns_view_private_ip();
 # Modify attribute value
 $object->update_dns_view_private_ip('false');

dns_view_private_ip( )

The DNS view name for private IPs. If you configure this option, you must also set update_dns_view_private_ip to true. Otherwise, set update_dns_view_private_ip to false.

Parameter

The valid value is DNS view 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 attribute value
 my $value = $object->dns_view_private_ip();
 # Modify attribute value
 $object->dns_view_private_ip('private_dns_view');

identity_version( )

Use this method to set or retrieve the OpenStack identity service version.

Parameter

The OpenStack identity service version in string format. Valid value is 'KEYSTONE_V2', 'KEYSTONE_V3'. Default value is 'KEYSTONE_V2'.

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 = $object->identity_version();
 # Modify attribute value
 $object->identity_version('KEYSTONE_V3');

domain_name( )

Use this method to set or retrieve the name of the domain to use with Keystone v3.

Parameter

The name of the domain to use with Keystone v3. Must be set if 'identity_version' set to 'KEYSTONE_V3'.

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 = $object->domain_name();
 # Modify attribute value
 $object->domain_name('Default');


AUTHOR

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


SEE ALSO

Infoblox::IPAM::DiscoveryTask::VServer,Infoblox::DHCP::Member,Infoblox::DHCP::Network,Infoblox::IPAM::TCPPort,Infoblox::Grid::ScheduleSetting


COPYRIGHT

Copyright (c) 2017 Infoblox Inc.