def modify_image_attribute(image_id, attributes)
raise ArgumentError.new("image_id is required") unless image_id
params = {}
params.merge!(Fog::AWS.indexed_param('LaunchPermission.Add.%d.Group', attributes['Add.Group'] || []))
params.merge!(Fog::AWS.indexed_param('LaunchPermission.Add.%d.UserId', attributes['Add.UserId'] || []))
params.merge!(Fog::AWS.indexed_param('LaunchPermission.Remove.%d.Group', attributes['Remove.Group'] || []))
params.merge!(Fog::AWS.indexed_param('LaunchPermission.Remove.%d.UserId', attributes['Remove.UserId'] || []))
params.merge!(Fog::AWS.indexed_param('ProductCode', attributes['ProductCode'] || []))
request({
'Action' => 'ModifyImageAttribute',
'ImageId' => image_id,
:idempotent => true,
:parser => Fog::Parsers::Compute::AWS::Basic.new
}.merge!(params))
end