Table of Contents

Configuration File

The standard General Configuration file that can be reached under the Configuration menu may host parameters for TeemIp. If any, these will be grouped within the “Modules specific settings” part, under the teemip-ip-mgmt block. This block hosts different set of parameters dedicated to different TeemIps features.

	'teemip-ip-mgmt' => array (
		'feature_1' => array (
		  ...
		),
		...
		'feature_n' => array (
		  ...
		),
	),

The following chapters describe the different features available.

Default Global IP Settings

This block is used to overwrite the default TeemIp parameters defined in the data model. It contains sub-blocks of parameters dedicated to the different TeemIp extensions and a general attribute to enable or disable the whole block. All the parameters defined here above can be reset but only the ones that need to be overwritten should sit here.

The structure of the block is as follows:

Name Type Allowed values Description
enabled Boolean true, false
core_parameters
All attributes that do not belong to a Teemip extension
ip_request_parameters
All attributes defined in TeemIp Request Management
zone_parameters
All attributes defined in DNS Zone Management

In the following example, only parameter 'request_creation_ipv4_offset' will be changed to 5 where its defaults value is 0.

		'default_global_ip_settings' => array (
		  'enabled' => true,
		  'ip_request_parameters' => 
		  array (
		    'request_creation_ipv4_offset' => 5,
		  ),
		),

IP Address Navigation

This block defines how one can navigate between adjacent IPs, a feature described in the IP Address chapter. It holds the following parameter:

Name Type Allowed values Description
enabled Boolean true, false Enable the block
within_subnet_only Boolean true, false Limit the navigation within the subnet the IP belongs to

Example:

		'ip_navigation' => array (
		  'enabled' => true,
		  'within_subnet_only' => true,
		),

Automatic IP Release

TeemIp may periodically look for IPs that are attached to obsolete CIs and make sure they are in the “released” status. The behaviour of that feature is defined in the specific 'ip_release_on_ci_status' configuration block and is driven by the following parameters:

Name Type Allowed values Description
enabled Boolean true, false Enable the process
debug Boolean true, false Activate verbosity within the process
periodicity Number Any integer Defines the periodicity of the task
status_list Array List of valid statuses for the CIs Defines the CI statuses under which the IP should be considered as released
		'ip_release_on_ci_status' => array (
		  'enabled' => false,
		  'debug' => false,
		  'periodicity' => 3600,
		  'status_list' => 
		  array (
		    0 => 'obsolete',
		  ),
		),
By default, the process is disabled both globally and at the Global IP settings level !

Automatic IP Allocation

TeemIp may periodically look for IPs that are attached to implementation or production CIs and make sure they are in the “allocated” status. The behaviour of that feature is defined in the specific 'ip_allocate_on_ci_status' configuration block and is driven by the following parameters:

Name Type Allowed values Description
enabled Boolean true, false Enable the process
debug Boolean true, false Activate verbosity within the process
periodicity Number Any integer Defines the periodicity of the task
status_list Array List of valid statuses for the CIs Defines the CI statuses under which the IP should be considered as allocated
		'ip_allocate_on_ci_status' => array (
		  'enabled' => false,
		  'debug' => false,
		  'periodicity' => 3600,
		  'status_list' => 
		  array (
		    0 => 'implementation',
		    1 => 'production',
		  ),
		),

Automatic IP Un-assignment

TeemIp may periodically look for IPs that are not attached to any CIs and make sure they are in the “unassigned” status. The behaviour of that feature is defined in the specific 'ip_unassign_on_no_ci' configuration block and is driven by the following parameters:

Name Type Allowed values Description
enabled Boolean true, false Enable the process
debug Boolean true, false Activate verbosity within the process
periodicity Number Any integer Defines the periodicity of the task
target_status Array Any IP address status Defines the status that an IP must have when not attached to a CI
		'ip_unassign_on_no_ci' => array (
		  'enabled' => false,
		  'debug' => false,
		  'periodicity' => 3600,
		  'target_status' => 'unassigned',
		),

IP Watermarks

Capacity planning in TeemIp is done on the fly i.e. when an IP address is added or removed to or from an IP Range or subnet. It can be done as well through a background task which behaviour is defined in the specific 'handle_ip_watermarks' configuration block and is driven by the following parameters:

Name Type Allowed values Description
enabled Boolean true, false Enable the process
debug Boolean true, false Activate verbosity within the process
periodicity Number Any integer Defines the periodicity of the task
target_classes Array List of IP classes Defines the list of IP classes which the capacity planning applies to
		'handle_ip_watermarks' => array (
		  'enabled' => false,
		  'debug' => false,
		  'periodicity' => 86400,
		  'target_classes' => 
		  array (
		    0 => 'IPv4Subnet',
		    1 => 'IPv4Range',
		  ),
		),