====== 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 [[2_x:datamodel:ip-settings#global_ip_settings_properties|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 [[extensions:teemip-request-mgmt|TeemIp Request Management]] ||| | **zone_parameters** ||| | ... | All attributes defined in [[extensions:teemip-zone-mgmt|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 [[2_x:datamodel:ip-addresses#navigating_between_adjacent_ips|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', ), ),