Puppet Function: nomad_cni::cni_ingress_v4

Defined in:
lib/puppet/functions/nomad_cni/cni_ingress_v4.rb
Function type:
Ruby 4.x API

Overview

nomad_cni::cni_ingress_v4(Stdlib::IP::Address::V4::CIDR $network_address)Array[Stdlib::IP::Address::V4::Nosubnet]

returns [“192.168.0.0”, “192.168.0.1”]

Parameters:

  • network_address (Stdlib::IP::Address::V4::CIDR)

Returns:

  • (Array[Stdlib::IP::Address::V4::Nosubnet])


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/puppet/functions/nomad_cni/cni_ingress_v4.rb', line 11

Puppet::Functions.create_function(:'nomad_cni::cni_ingress_v4') do
  dispatch :calculate_cni_ingress_v4 do
    param 'Stdlib::IP::Address::V4::CIDR', :network_address
    return_type 'Array[Stdlib::IP::Address::V4::Nosubnet]'
  end

  def calculate_cni_ingress_v4(network_address)
    first_ip = IPAddr.new(network_address).to_range.first.to_s
    second_ip_int = IPAddr.new(network_address).to_range.first.to_i + 1
    second_ip = IPAddr.new(second_ip_int, Socket::AF_INET).to_s
    [
      first_ip,
      second_ip,
    ]
  end
end