Puppet Function: wmflib::service::get_ipport_for_ipip_services

Defined in:
modules/wmflib/functions/service/get_ipport_for_ipip_services.pp
Function type:
Puppet Language

Overview

wmflib::service::get_ipport_for_ipip_services(Hash[String, Wmflib::Service] $services, String $site)Array[String]

SPDX-License-Identifier: Apache-2.0

Parameters:

Returns:



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'modules/wmflib/functions/service/get_ipport_for_ipip_services.pp', line 2

function wmflib::service::get_ipport_for_ipip_services(
    Hash[String, Wmflib::Service] $services,
    String $site,
) >> Array[String] {
    $services.filter |$lvs_name, $svc| {
        $site in $svc['ip'] and $svc['lvs'] and $svc['lvs']['ipip_encapsulation']
    }
    .map |$lvs_name, $svc| {
        $svc['ip'][$site].values().map|Stdlib::IP::Address $ip| {
          $ip_port = $ip? {
            Stdlib::IP::Address::V4 => "${ip}:${svc['port']}",
            Stdlib::IP::Address::V6 => "[${ip}]:${svc['port']}",
          }
        }
    }
    .flatten()
    .unique()
    .sort()
}