ip_in_range
A Puppet function to determine if an IPv4 address is within the given IPv4 CIDR
Version information
released May 12th 2022
This version is compatible with:
- RedHat, Ubuntu, Debian, Fedora, CentOS
Start using this module
Add this module to your Puppetfile:
mod 'deanwilson-ip_in_range', '0.0.7'
Learn more about managing modules with a PuppetfileDocumentation
deanwilson/ip_in_range — version 0.0.7 May 12th 2022
puppet-ip_in_range
A Puppet function to determine if an IPv4 address is within the IPv4 CIDR
ip_in_range
returns true if the ipaddress is within the given CIDRs
usage: ip_in_range(<IPv4 Address>, <IPv4 CIDR>)
or when you want to check against more than one CIDR and return true if the IP address is contained in any of them.
$ranges = ['192.168.0.0/24', '10.10.10.0/24']
$valid_ip = ip_in_range('10.10.10.53', $ranges) # $valid_ip == true
There are a couple of commonly used patterns -
$valid_ip = ip_in_range('10.10.10.53', '10.10.10.0/24') # $valid_ip == true
or using the check as part of a conditional -
if ip_in_range($ipaddress, '10.10.200.0/24') == true {
notify { 'Do subnet based resources here': }
}
This module has a dependency on puppetlabs-stdlib
.
Installation
You can install this module from PuppetForge:
puppet module install deanwilson-ip_in_range
License
Apache 2.0 - Dean Wilson
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.0.7] 2020-01-04 Dean Wilson dean.wilson@gmail.com
- Loosened stdlib version to allow v8
- Lots of dependencies have had version bumps
- Rubocop now runs cleanly - including on the tests
- the changelog is badly maintained
[0.0.6] 2020-01-04 Dean Wilson dean.wilson@gmail.com
Changed
- Loosened stdlib version to allow v6 thanks to PR#16 from @ltning
- Closes issue #15
[Before changelog] 2017-07-28 Dean Wilson dean.wilson@gmail.com
Added
- You can now pass an array of ranges as the second argument.
If the IP address is present in any of them
true
is returned. https://github.com/deanwilson/puppet-ip_in_range/pull/8
Dependencies
- puppetlabs/stdlib (>= 4.2.2 <9.0.0)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.