Infoblox::DXL::Endpoint - A Data Exchange Layer endpoint object.


NAME

Infoblox::DXL::Endpoint - A Data Exchange Layer (DXL) endpoint object.


DESCRIPTION

The DXL endpoint object provides configuration for third party DXL server integration.


CONSTRUCTOR

 my $endpoint = Infoblox::DXL::Endpoint->new(
     name                   => $string,                                                              # Required
     outbound_member_type   => 'GM' | 'MEMBER',                                                      # Required
     brokers                => [$endpoint_dxl_broker1, ...],                                         # Required
     client_certificate     => $path,                                                                # Required
     comment                => $string,                                                              # Optional / Default is undefined
     disable                => 'true' | 'false',                                                     # Optional / Default is 'false'
     extattrs               => { $string => $extattr, ... },                                         # Optional / Default is undefined
     extensible_attributes  => {$string => $string | $num, $string => [ $string | $num, ... ], ... } # Optional / Default is undefined
     log_level              => 'WARNING' | 'DEBUG' | 'INFO' | 'ERROR',                               # Optional / Default is 'WARNING'
     outbound_members       => [$string, $string, ...],                                              # Optional / Default is empty list
     template_instance      => $template_instance                                                    # Optional / Default is undefined
     vendor_identifier      => $string,                                                              # Optional / Default is undefined
     wapi_user_name         => $string,                                                              # Optional / Default is undefined
     wapi_user_password     => $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 you can apply to a DXL endpoint object.

Infoblox::Session->add( )

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

Example
 #Construct Infoblox::DXL::Endpoint::Broker object
 my $broker = Infoblox::DXL::Endpoint::Broker->new(
     host_name => 'dxl-br.localdomain',
 );
 #Construct an object
 my $object = Infoblox::DXL::Endpoint->new(
     name                 => 'dxl_ep',
     outbound_member_type => 'GM',
     brokers              => [$broker],
     client_certificate   => '/path/to/certificate.pem',
 );
 #Submit for addition
 my $response = $session->add($object);

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 DXL endpoint object:
  comment                    - Optional. The DXL endpoint comment in string format.
  name                       - Optional. The DXL endpoint name in string format.
  vendor_identifier          - Optional. The DXL endpoint vendor identifier in string format.
  outbound_member_type       - Optional. The DXL endpoint outbound member type.
  extattrs                   - Optional. A hash reference containing Infoblox::Grid::Extattr object.
  extensible_attributes      - Optional. A hash reference containing extensible attributes.
Examples
 my @retrieved_objs = $session->get(
     object => 'Infoblox::DXL::Endpoint',
     name   => 'dxl_ep',
 );
 my @retrieved_objs = $session->get(
     object                => 'Infoblox::DXL::Endpoint',
     extensible_attributes => {'Site' => 'Santa Clara'},
 );

Infoblox::Session->modify( )

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

Example
 #Modify comment value
 $object->comment('this is a modified comment');
 #Submit modification
 my $response = $session->modify($object);

Infoblox::Session->remove( )

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

Example
 #Get the objects
 my @retrieved_objs = $session->get(
     object => 'Infoblox::DXL::Endpoint',
     name   => 'dxl_ep',
 );
 #Find the desired object from the retrieved list
 my $desired_object = $retrieved_objs[0];
 #Submit for removal
 my $response = $session->remove($desired_object);

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 the DXL endpoint object:
  comment                    - Optional. The DXL endpoint comment in string format (regexp).
  name                       - Optional. The DXL endpoint name in string format (regexp).
  vendor_identifier          - Optional. The DXL endpoint vendor identifier in string format (regexp).
  outbound_member_type       - Optional. The DXL endpoint outbound member type.
  extattrs                   - Optional. A hash reference containing Infoblox::Grid::Extattr object.
  extensible_attributes      - Optional. A hash reference containing extensible attributes.

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

Examples
 # search for objects
 my @retrieved_objs = $session->search(
     object            => 'Infoblox::DXL::Endpoint',
     name              => 'dxl_.*',
     vendor_identifier => 'Carbon',
 );
 # search for objects defining 'Santa Clara' for 'Site' extensible attribute
 my @retrieved_objs = $session->search(
     object                => 'Infoblox::DHCP::Range',
     extensible_attributes => {'Site' => 'Santa Clara'},
 );


METHODS

This section describes all the methods that you can use to configure and retrieve the attribute values of a DXL endpoint.

brokers( )

Use this method to set or retrieve the list of DXL brokers for the DXL endpoint.

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::DXL::Endpoint::Broker objects.

Returns

If you have 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 brokers value
 my $brokers = $object->brokers();
 #Construct Infoblox::DXL::Endpoint::Broker object
 my $broker = Infoblox::DXL::Endpoint::Broker->new(
     host_name => 'dxl-br.localdomain',
 );
 #Modify brokers value
 $object->brokers([$broker]);

client_certificate( )

Use this method to set the path to a client certificate file. This is a write-only attribute.

Include the specified parameter to set the attribute value.

Parameter

The valid value is a path to a certificate in string format.

Returns

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

Example
 #Modify client_certificate value
 $object->client_certificate('/path/to/cert.pem');

client_certificate_subject( )

Use this method to retrieve the client certificate subject. This is a read-only attrbiute.

Omit the parameter to retrieve the attribute value.

Parameter

None

Returns

The method returns the attribute value.

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

client_certificate_valid_from( )

Use this method to retrieve the time from which the client certificate is valid. This is a read-only attrbiute.

Omit the parameter to retrieve the attribute value.

Parameter

None

Returns

The method returns the attribute value. The number of seconds that have elapsed since January 1st, 1970 UTC.

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

client_certificate_valid_to( )

Use this method to retrieve the expiration time for the client certificate. This is a read-only attrbiute.

Omit the parameter to retrieve the attribute value.

Parameter

None

Returns

The method returns the attribute value. The number of seconds that have elapsed since January 1st, 1970 UTC.

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

comment( )

Use this method to set or retrieve the DXL endpoint comment.

Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.

Parameter

The valid value is a desired comment in string format.

Returns

If you have 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 value
 my $comment = $object->comment();
 #Modify comment value
 $object->comment('modified comment');

disable( )

Use this method to set or retrieve the flag that indicates whether the DXL endpoint is enabled or disabled.

Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.

Parameter

Specify 'true' to disable the DXL endpoint or 'false' to enable it. The default value is 'true'.

Returns

If you have 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 value
 my $disable = $object->disable();
 #Modify disable value
 $object->disable('false');

extattrs( )

Use this method to set or retrieve the extensible attributes associated with a DXL endpoint object.

Parameter

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

Returns

If you have 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 value
 my $extattrs = $object->extattrs();
 #Modify extattrs value
 $object->extattrs({'Site' => $extattr1, 'Administrator' => $extattr2});

extensible_attributes( )

Use this method to set or retrieve the extensible attributes associated with a DXL endpoint 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 have 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 value
 my $extensible_attributes = $object->extensible_attributes();
 #Modify extensible attributes
 $object->extensible_attributes({'Site' => 'Santa Clara', 'Administrator' => ['Peter', 'Tom']});

name( )

Use this method to set or retrieve the DXL endpoint name.

Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.

Parameter

The valid value is a desired name in string format.

Returns

If you have 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 name value
 my $name = $object->name();
 #Modify name value
 $object->name('modified_name');

outbound_members( )

Use this method to set or retrieve the list of DXL endpoint members that are responsible for event generation.

Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.

Parameter

The valid value is an array that contains Grid member names in string format.

Returns

If you have 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 outbound_members value
 my $outbound_members = $object->outbound_members();
 #Modify outbound_members value
 $object->outbound_members(['member1', 'member2']);

outbound_member_type( )

Use this method to set or retrieve the DXL endpoint member that is responsible for event generation.

Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.

Parameter

The valid values are 'GM' and 'MEMBER'.

Returns

If you have 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 outbound_member_type value
 my $outbound_member_type = $object->outbound_member_type();
 #Modify outbound_member_type value
 $object->outbound_member_type('MEMBER');

log_level( )

Use this method to set or retrieve the DXL endpoint logging level.

Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.

Parameter

The valid values are 'DEBUG', 'ERROR', 'INFO', and 'WARNING'.

Returns

If you have 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 log_level value
 my $value = $object->log_level();
 #Modify log_level value
 $object->log_level('INFO');

template_instance( )

Use this method to set or retrieve the DXL endpoint template instance.

Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.

Note that you cannot change the 'parameters' value of the template instance object for a DXL endpoint.

Parameter

The valid value is an Infoblox::Notification::REST::TemplateInstance object.

Returns

If you have 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_instance value
 my $value = $object->template_instance();
 #Modify template_instance value
 $object->template_instance($instance);

vendor_identifier( )

Use this method to set or retrieve the DXL endpoint vendor identifier.

Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.

Parameter

The valid value is a desired vendor identifier in string format.

Returns

If you have 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 vendor_identifier value
 my $vendor_identifier = $object->vendor_identifier();
 #Modify vendor_identifier value
 $object->vendor_identifier('CarbonBlack');

wapi_user_name( )

Use this method to set or retrieve the user name for WAPI integration.

Include the specified parameter to set the attribute value. Omit the parameter to retrieve the attribute value.

Parameter

The valid value is a desired user 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 wapi_user_name value
 my $value = $object->wapi_user_name();
 #Modify wapi_user_name value
 $object->wapi_user_name('admin');

wapi_user_password( )

Use this method to set the user password for WAPI integration. This is a write-only attribute.

Include the specified parameter to set the attribute value.

Parameter

The valid value is a desired user password in string format.

Returns

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

Example
 #Modify wapi_user_password value
 $object->wapi_user_password('infoblox');


AUTHOR

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


SEE ALSO

Infoblox::Session, Infoblox::Session->add(), Infoblox::Session->get(), Infoblox::Session->modify(), Infoblox::Session->remove(), Infoblox::Session->search(), Infoblox::Grid::Extattr, Infoblox::Grid::ExtensibleAttributeDef/Searching Extensible Attributes, Infoblox::Notification::REST::TemplateInstance, Infoblox::DXL::Endpoint::Broker.


COPYRIGHT

Copyright (c) 2017 Infoblox Inc.