Infoblox::DXL::Endpoint - A Data Exchange Layer (DXL) endpoint object.
The DXL endpoint object provides configuration for third party DXL server integration.
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.
This section describes all the methods in an Infoblox::Session module that you can apply to a DXL endpoint object.
Use this method to add the object to the Infoblox appliance. See Infoblox::Session->add() for parameters and return values.
#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);
Use this method to retrieve all the matching objects from the Infoblox appliance. See Infoblox::Session->get() for parameters and return values.
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.
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'}, );
Use this method to modify the object in the Infoblox appliance. See Infoblox::Session->modify() for parameters and return values.
#Modify comment value $object->comment('this is a modified comment');
#Submit modification my $response = $session->modify($object);
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.
#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);
Use this method to search for objects in the Infoblox appliance. See Infoblox::Session->search() for parameters and return values.
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.
# 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'}, );
This section describes all the methods that you can use to configure and retrieve the attribute values of a DXL endpoint.
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.
The valid value is an array reference that contains Infoblox::DXL::Endpoint::Broker objects.
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.
#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]);
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.
The valid value is a path to a certificate in string format.
If you have specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
#Modify client_certificate value $object->client_certificate('/path/to/cert.pem');
Use this method to retrieve the client certificate subject. This is a read-only attrbiute.
Omit the parameter to retrieve the attribute value.
None
The method returns the attribute value.
#Get client_certificate_subject value my $client_certificate_subject = $object->client_certificate_subject();
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.
None
The method returns the attribute value. The number of seconds that have elapsed since January 1st, 1970 UTC.
#Get client_certificate_valid_from value my $client_certificate_valid_from = $object->client_certificate_valid_from();
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.
None
The method returns the attribute value. The number of seconds that have elapsed since January 1st, 1970 UTC.
#Get client_certificate_valid_to value my $client_certificate_valid_to = $object->client_certificate_valid_to();
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.
The valid value is a desired comment in string format.
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.
#Get comment value my $comment = $object->comment();
#Modify comment value $object->comment('modified comment');
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.
Specify 'true' to disable the DXL endpoint or 'false' to enable it. The default value is 'true'.
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.
#Get disable value my $disable = $object->disable();
#Modify disable value $object->disable('false');
Use this method to set or retrieve the extensible attributes associated with a DXL endpoint object.
Valid value is a hash reference that contains the names of extensible attributes and their associated values (Infoblox::Grid::Extattr objects).
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.
#Get extattrs value my $extattrs = $object->extattrs();
#Modify extattrs value $object->extattrs({'Site' => $extattr1, 'Administrator' => $extattr2});
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.
For valid values for extensible attributes, see Infoblox::Grid::ExtensibleAttributeDef/Extensible Attribute Values.
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.
#Get extensible attributes value my $extensible_attributes = $object->extensible_attributes(); #Modify extensible attributes $object->extensible_attributes({'Site' => 'Santa Clara', 'Administrator' => ['Peter', 'Tom']});
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.
The valid value is a desired name in string format.
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.
#Get name value my $name = $object->name();
#Modify name value $object->name('modified_name');
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.
The valid value is an array that contains Grid member names in string format.
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.
#Get outbound_members value my $outbound_members = $object->outbound_members();
#Modify outbound_members value $object->outbound_members(['member1', 'member2']);
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.
The valid values are 'GM' and 'MEMBER'.
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.
#Get outbound_member_type value my $outbound_member_type = $object->outbound_member_type();
#Modify outbound_member_type value $object->outbound_member_type('MEMBER');
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.
The valid values are 'DEBUG', 'ERROR', 'INFO', and 'WARNING'.
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.
#Get log_level value my $value = $object->log_level();
#Modify log_level value $object->log_level('INFO');
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.
The valid value is an Infoblox::Notification::REST::TemplateInstance object.
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.
#Get template_instance value my $value = $object->template_instance();
#Modify template_instance value $object->template_instance($instance);
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.
The valid value is a desired vendor identifier in string format.
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.
#Get vendor_identifier value my $vendor_identifier = $object->vendor_identifier();
#Modify vendor_identifier value $object->vendor_identifier('CarbonBlack');
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.
The valid value is a desired user name in string format.
If you specified a parameter, the method returns true when the modification succeeds, and returns false when the operation fails.
If you did not specify a parameter, the method returns the attribute value.
#Get wapi_user_name value my $value = $object->wapi_user_name();
#Modify wapi_user_name value $object->wapi_user_name('admin');
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.
The valid value is a desired user password in string format.
The method returns true when the modification succeeds, and returns false when the operation fails.
#Modify wapi_user_password value $object->wapi_user_password('infoblox');
Infoblox Inc. http://www.infoblox.com/
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 (c) 2017 Infoblox Inc.