2010-03-17 21:02:11 -07:00
require 'fog/aws/ec2.rb'
2010-03-14 20:11:43 -07:00
require 'fog/aws/s3'
require 'fog/aws/simpledb'
2010-03-13 13:37:24 -08:00
2009-08-10 08:30:28 -07:00
module Fog
module AWS
2010-01-31 14:07:26 -08:00
def self . indexed_param ( key , values )
params = { }
[ * values ] . each_with_index do | value , index |
params [ " #{ key } . #{ index } " ] = value
end
params
end
2010-03-17 21:02:11 -07:00
class Mock
2009-08-21 22:04:12 -07:00
2010-03-17 21:02:11 -07:00
def self . availability_zone
" us-east-1 " << random_selection ( 'abcd' , 1 )
end
2009-09-07 21:25:50 -07:00
2010-03-17 21:02:11 -07:00
def self . box_usage
sprintf ( " %0.10f " , rand / 100 ) . to_f
end
2009-09-11 20:47:32 -07:00
2010-03-17 21:02:11 -07:00
def self . console_output
'This is my console. There are many like it, but this one is mine. My console is my best friend. It is my life. I must master it as I master my life. My console, without me, is useless. Without my console, I am useless.'
end
2009-08-14 10:35:16 -07:00
2010-03-17 21:02:11 -07:00
def self . etag
hex ( 32 )
end
2009-09-12 11:58:05 -07:00
2010-03-17 21:02:11 -07:00
def self . image
path = [ ]
( rand ( 3 ) + 2 ) . times do
path << letters ( rand ( 9 ) + 8 )
end
{
" imageOwnerId " = > letters ( rand ( 5 ) + 4 ) ,
" productCodes " = > [ ] ,
" kernelId " = > kernel_id ,
" ramdiskId " = > ramdisk_id ,
" imageState " = > " available " ,
" imageId " = > image_id ,
" architecture " = > " i386 " ,
" isPublic " = > true ,
" imageLocation " = > path . join ( '/' ) ,
" imageType " = > " machine "
}
end
2009-09-12 11:58:05 -07:00
2010-03-17 21:02:11 -07:00
def self . image_id
" ami- #{ hex ( 8 ) } "
end
2009-08-16 22:19:35 -07:00
2010-03-17 21:02:11 -07:00
def self . key_fingerprint
fingerprint = [ ]
20 . times do
fingerprint << hex ( 2 )
2009-08-21 22:04:12 -07:00
end
2010-03-17 21:02:11 -07:00
fingerprint . join ( ':' )
end
2009-08-21 22:04:12 -07:00
2010-03-17 21:02:11 -07:00
def self . image_id
" ami- #{ hex ( 8 ) } "
end
2009-08-14 10:35:16 -07:00
2010-03-17 21:02:11 -07:00
def self . instance_id
" i- #{ hex ( 8 ) } "
end
2009-08-14 10:35:16 -07:00
2010-03-17 21:02:11 -07:00
def self . ip_address
ip = [ ]
4 . times do
ip << numbers ( rand ( 3 ) + 1 ) . to_i . to_s # remove leading 0
2009-08-21 22:04:12 -07:00
end
2010-03-17 21:02:11 -07:00
ip . join ( '.' )
end
2009-08-21 22:04:12 -07:00
2010-03-17 21:02:11 -07:00
def self . kernel_id
" aki- #{ hex ( 8 ) } "
end
2009-08-16 22:19:35 -07:00
2010-03-17 21:02:11 -07:00
def self . key_material
key_material = [ '-----BEGIN RSA PRIVATE KEY-----' ]
20 . times do
key_material << base64 ( 76 )
2009-08-17 09:45:00 -07:00
end
2010-03-17 21:02:11 -07:00
key_material << base64 ( 67 ) + '='
key_material << '-----END RSA PRIVATE KEY-----'
key_material . join ( " \n " )
end
2009-08-17 09:45:00 -07:00
2010-03-17 21:02:11 -07:00
def self . owner_id
numbers ( 12 )
end
2009-09-12 11:58:05 -07:00
2010-03-17 21:02:11 -07:00
def self . ramdisk_id
" ari- #{ hex ( 8 ) } "
end
2009-08-14 10:35:16 -07:00
2010-03-17 21:02:11 -07:00
def self . request_id
request_id = [ ]
request_id << hex ( 8 )
3 . times do
request_id << hex ( 4 )
2009-08-21 22:04:12 -07:00
end
2010-03-17 21:02:11 -07:00
request_id << hex ( 12 )
request_id . join ( '-' )
end
2009-08-21 22:04:12 -07:00
2010-03-17 21:02:11 -07:00
def self . reservation_id
" r- #{ hex ( 8 ) } "
end
2009-08-15 15:19:07 -07:00
2010-03-17 21:02:11 -07:00
def self . snapshot_id
" snap- #{ hex ( 8 ) } "
end
2009-08-14 10:35:16 -07:00
2010-03-17 21:02:11 -07:00
def self . volume_id
" vol- #{ hex ( 8 ) } "
end
2009-08-14 10:35:16 -07:00
2010-03-17 21:02:11 -07:00
private
2009-08-14 10:35:16 -07:00
2010-03-17 21:02:11 -07:00
def self . random_selection ( characters , length )
selection = ''
length . times do
position = rand ( characters . length )
selection << characters [ position .. position ]
2009-08-14 09:18:55 -07:00
end
2010-03-17 21:02:11 -07:00
selection
end
2009-08-14 09:18:55 -07:00
2010-03-17 21:02:11 -07:00
def self . letters ( length )
random_selection (
'abcdefghijklmnopqrstuvwxyz' ,
length
)
end
2009-08-14 09:18:55 -07:00
2010-03-17 21:02:11 -07:00
def self . numbers ( length )
random_selection (
'0123456789' ,
length
)
end
2009-08-14 09:18:55 -07:00
2010-03-17 21:02:11 -07:00
def self . hex ( length )
random_selection (
'0123456789abcdef' ,
length
)
end
2009-08-16 22:19:35 -07:00
2010-03-17 21:02:11 -07:00
def self . base64 ( length )
random_selection (
" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ " ,
length
)
2009-08-14 09:18:55 -07:00
end
2010-03-17 21:02:11 -07:00
end
2009-08-10 08:30:28 -07:00
end
end