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