class Aws::Api::Docs::ParamFormatter

def ref_value(ref, i, visited)

def ref_value(ref, i, visited)
  if visited.include?(ref.shape)
    return "{\n#{i}  # recursive #{ref.shape.name}\n#{i}}"
  else
    visited  = visited + [ref.shape]
  end
  case ref.shape
  when StructureShape
    if ref.shape.name == 'AttributeValue'
      '"value"'
    else
      struct(ref, i, visited)
    end
  when BlobShape
    if ref[:response_target]
      '"/path/to/file"'
    elsif ref[:streaming]
      'source_file'
    else
      '"data"'
    end
  when ListShape then list(ref, i, visited)
  when MapShape then map(ref, i, visited)
  when BooleanShape then "false"
  when IntegerShape then '1'
  when FloatShape then '1.0'
  when StringShape then string(ref)
  when TimestampShape then 'Time.now'
  else raise "unsupported shape #{ref.shape.class.name}"
  end
end