-@def $HOST_DB_V6 = (<%=
- dbs = []
- localinfo.keys.sort.each do |node|
- if localinfo[node]['dbmaster']
- keyinfo[node]['ipHostNumber'].each do |ip|
- next if ip =~ /\./
- dbs << ip
- end
- end
- end
-
- dbs.join(' ')
-%>);
-
-@def $HOST_DB_V4 = (<%=
- dbs = []
- localinfo.keys.sort.each do |node|
- if localinfo[node]['dbmaster']
- keyinfo[node]['ipHostNumber'].each do |ip|
- next if ip =~ /:/
- dbs << ip
- end
- end
- end
-
- dbs.join(' ')
-%>);
-
-@def $HOST_DB = ($HOST_DB_V4 $HOST_DB_V6);
-
-@def $HOST_DEBIAN_V4 = (<%=
- dbs = []
- keyinfo.keys.sort.each do |node|
- next unless keyinfo[node].has_key?('ipHostNumber')
- keyinfo[node]['ipHostNumber'].each do |ip|
- next if ip =~ /:/
- dbs << ip
- end
- end
-
- dbs.join(' ')
-%>);
-
-@def $HOST_DEBIAN_V6 = (<%=
- dbs = []
- keyinfo.keys.sort.each do |node|
- next unless keyinfo[node].has_key?('ipHostNumber')
- keyinfo[node]['ipHostNumber'].each do |ip|
- next if ip =~ /\./
- dbs << ip
- end
- end
-
- dbs.join(' ')
-%>);
-
+@def $HOST_DB_V4 = (<%= scope.function_filter_ipv4([rolehost['dbmaster']]).uniq.join(' ') %>);
+@def $HOST_DB_V6 = (<%= scope.function_filter_ipv6([rolehost['dbmaster']]).uniq.join(' ') %>);
+@def $HOST_DB = ( $HOST_DB_V4 $HOST_DB_V6 );
+
+@def $HOST_PGBACKUPHOST_V4 = (<%= scope.function_filter_ipv4([rolehost['postgres_backup_server']]).uniq.join(' ') %>);
+@def $HOST_PGBACKUPHOST_V6 = (<%= scope.function_filter_ipv6([rolehost['postgres_backup_server']]).uniq.join(' ') %>);
+@def $HOST_PGBACKUPHOST = ( $HOST_PGBACKUPHOST_V4 $HOST_PGBACKUPHOST_V6 );
+
+@def $HOST_STATICMASTER_V4 = (<%= scope.function_filter_ipv4([rolehost['static_master']]).uniq.join(' ') %>);
+@def $HOST_STATICMASTER_V6 = (<%= scope.function_filter_ipv6([rolehost['static_master']]).uniq.join(' ') %>);
+@def $HOST_STATIC_V4 = (<%= scope.function_filter_ipv4([rolehost['static_mirror'] + rolehost['static_source'] + rolehost['static_master']]).uniq.join(' ') %>);
+@def $HOST_STATIC_V6 = (<%= scope.function_filter_ipv6([rolehost['static_mirror'] + rolehost['static_source'] + rolehost['static_master']]).uniq.join(' ') %>);
+
+@def $HOST_DNS_GEO_V4 = (<%= scope.function_filter_ipv4([rolehost['dns_geo']]).uniq.join(' ') %>);
+@def $HOST_DNS_GEO_V6 = (<%= scope.function_filter_ipv6([rolehost['dns_geo']]).uniq.join(' ') %>);
+@def $HOST_EASYDNS_V4 = (64.68.200.91);
+@def $HOST_RCODE0_V4 = (83.136.34.0/27);
+@def $HOST_RCODE0_V6 = (2A02:850:8::/47);
+@def $HOST_NETNOD_V4 = (192.71.80.0/24 192.36.144.222 192.36.144.218);
+
+<%
+def getfastlyranges()
+ begin
+ data = YAML.safe_load(File.open("/srv/puppet.debian.org/puppet-facts/fastly_ranges.yaml").read)
+ return data['addresses']
+ rescue
+ return []
+ end
+end
+%>
+@def $HOST_FASTLY = (<%= getfastlyranges().join(' ') %>);
+
+@def $HOST_DEBIAN_V4 = (<%= scope.function_filter_ipv4([dbs]).uniq.join(' ') %>);
+@def $HOST_DEBIAN_V6 = (<%= scope.function_filter_ipv6([dbs]).uniq.join(' ') %>);