/usr/share/perl5/VM/EC2/ELB/ParmParser.pm is in libvm-ec2-perl 1.28-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | package VM::EC2::ELB::ParmParser;
=head1 NAME
VM::EC2::ELB::ParmParser - Format parameters for passing to the ELB API
Inherits from and augments VM::EC2::ParmParser with ELB specific parameter
building functions
=head1 SYNOPSIS
=head1 METHODS
=cut
use base 'VM::EC2::ParmParser';
sub elb_instance_id_list {
my $self = shift;
my ($parm,$values) = @_;
return unless defined $values;
my @param;
my $c = 1;
for my $i (ref $values eq 'ARRAY' ? @$values : $values) {
push @param, ("$parm.member.$c.InstanceId" => $i);
$c++;
}
return @param;
}
sub elb_attr_name_value_parm {
my $self = shift;
my ($parm,$values) = @_;
my @param;
my $i = 1;
for my $policy (ref $values && ref $values eq 'ARRAY' ? @$values : $values) {
if (ref $policy eq 'HASH') {
next unless (grep(/^AttributeName$/,keys %$policy) && grep(/^AttributeValue$/,keys %$policy));
push @param,("$parm.member.$i.AttributeName"=> $policy->{AttributeName});
push @param,("$parm.member.$i.AttributeValue"=> $policy->{AttributeValue});
$i++;
} elsif (ref $policy eq 'VM::EC2::ELB::PolicyAttribute') {
push @param,("$parm.member.$i.AttributeName"=> $policy->AttributeName);
push @param,("$parm.member.$i.AttributeValue"=> $policy->AttributeValue);
$i++;
}
}
return @param;
}
sub elb_attr_parm {
my $self = shift;
my ($parm,$values) = @_;
my @params;
return unless ref $values eq 'HASH';
foreach my $setting (keys %$values) {
push @params, ("LoadBalancerAttributes.$parm.$setting" => $values->{$setting});
}
return @params;
}
sub elb_listeners_parm {
my $self = shift;
my ($parm,$values) = @_;
my @param;
my $i = 1;
my @p = qw(Protocol LoadBalancerPort InstancePort InstanceProtocol SSLCertificateId);
for my $lsnr (ref $values eq 'ARRAY' ? @$values : $values) {
if (ref $lsnr eq 'HASH') {
foreach my $p (@p) {
push @param,("$parm.member.$i.$p"=> $lsnr->{$p}) if $lsnr->{$p};
}
$i++;
} elsif (ref $lsnr eq 'VM::EC2::ELB::Listener') {
foreach my $p (@p) {
push @param,("$parm.member.$i.$p"=> $lsnr->$p) if $lsnr->$p;
}
$i++;
}
}
return @param;
}
1;
|