1package VM::EC2::ReservedInstance::ParmParser;
2
3use base 'VM::EC2::ParmParser';
4
5sub ri_target_config_parm {
6    my $self = shift;
7    my ($argname,$val) = @_;
8    my @param;
9
10    my @config = ref $val eq 'ARRAY' ? @$val : ( $val );
11    for (my $i=0; $i<@config; $i++) {
12        my $config = $config[$i];
13        my $n = $i+1;
14        foreach my $p (qw(AvailabilityZone Platform
15                          InstanceCount InstanceType)) {
16            push @param, ("ReservedInstancesConfigurationSetItemType.$n.$p" =>
17                              $config->{$p}) if $config->{$p};
18        }
19    }
20    return @param;
21}
22
23sub ri_price_sched_parm {
24    my $self = shift;
25    my ($argname,$val) = @_;
26    return unless $val && ref $val eq 'HASH';
27    my @param;
28
29    my $i = 0;
30    foreach my $month (keys %$val) {
31        push @param, "$argname.$i.Price" => $val->{$month};
32        push @param, "$argname.$i.Term" => $month;
33        $i++;
34    }
35    return @param;
36}
37
381;
39