def put_metric_data(namespace, metric_data)
options = {'Namespace' => namespace}
metric_data.collect! do |metric_datum|
if dimensions = metric_datum.delete('Dimensions')
metric_datum.merge!(AWS.indexed_param('Dimensions.member.%d.Name', dimensions.collect {|dimension| dimension['Name']}))
metric_datum.merge!(AWS.indexed_param('Dimensions.member.%d.Value', dimensions.collect {|dimension| dimension['Value']}))
end
metric_datum
end
metric_data.collect! { |metric_datum| flatten_hash(metric_datum) }
options.merge!(AWS.indexed_param('MetricData.member.%d', [*metric_data]))
options = flatten_hash(options)
request({
'Action' => 'PutMetricData',
:parser => Fog::Parsers::AWS::CloudWatch::PutMetricData.new
}.merge(options))
end