+ if ($cluster->{servers})
+ {
+ $cluster->{bandwidth} = 0;
+
+ foreach my $server (@{$cluster->{servers}})
+ {
+ $server->{cluster} = $cluster;
+ $cluster->{bandwidth} = $cluster->{bandwidth} + $server->{bandwidth};
+
+ push @servers, $server;
+ }
+ }
+ else
+ {
+ my $server = {
+ cluster => $cluster,
+ pingdom => $cluster->{pingdom},
+ bandwidth => $cluster->{bandwidth},
+ ipv4 => $cluster->{ipv4},
+ ipv6 => $cluster->{ipv6}
+ };
+
+ $cluster->{servers} = [ $server ];
+
+ push @servers, $server;
+ }
+
+ $cluster->{name} = $name;
+
+ if ($ENV{PINGDOM_USERNAME} && $ENV{PINGDOM_PASSWORD})
+ {
+ $cluster->{status} = "down";
+ }
+ else
+ {
+ $cluster->{status} = "up";
+ }
+}