Class: Fog::AWS::Mock

Inherits:
Object
  • Object
show all
Defined in:
lib/fog/aws.rb

Class Method Summary collapse

Class Method Details

.arn(vendor, account_id, path, region = nil) ⇒ Object



110
111
112
# File 'lib/fog/aws.rb', line 110

def self.arn(vendor, , path, region = nil)
  "arn:aws:#{vendor}:#{region}:#{}:#{path}"
end

.availability_zone(region) ⇒ Object



114
115
116
# File 'lib/fog/aws.rb', line 114

def self.availability_zone(region)
  "#{region}#{Fog::Mock.random_selection('abcd', 1)}"
end

.box_usageObject



118
119
120
# File 'lib/fog/aws.rb', line 118

def self.box_usage
  sprintf("%0.10f", rand / 100).to_f
end

.console_outputObject



122
123
124
125
# File 'lib/fog/aws.rb', line 122

def self.console_output
  # "[ 0.000000] Linux version 2.6.18-xenU-ec2-v1.2 (root@domU-12-31-39-07-51-82) (gcc version 4.1.2 20070626 (Red Hat 4.1.2-13)) #2 SMP Wed Aug 19 09:04:38 EDT 2009"
  Base64.decode64("WyAwLjAwMDAwMF0gTGludXggdmVyc2lvbiAyLjYuMTgteGVuVS1lYzItdjEu\nMiAocm9vdEBkb21VLTEyLTMxLTM5LTA3LTUxLTgyKSAoZ2NjIHZlcnNpb24g\nNC4xLjIgMjAwNzA2MjYgKFJlZCBIYXQgNC4xLjItMTMpKSAjMiBTTVAgV2Vk\nIEF1ZyAxOSAwOTowNDozOCBFRFQgMjAwOQ==\n")
end

.dns_name_for(ip_address) ⇒ Object



127
128
129
# File 'lib/fog/aws.rb', line 127

def self.dns_name_for(ip_address)
  "ec2-#{ip_address.gsub('.','-')}.compute-1.amazonaws.com"
end

.imageObject



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/fog/aws.rb', line 135

def self.image
  path = []
  (rand(3) + 2).times do
    path << Fog::Mock.random_letters(rand(9) + 8)
  end
  {
    "imageOwnerId"   => Fog::Mock.random_letters(rand(5) + 4),
    "blockDeviceMapping" => [],
    "productCodes"   => [],
    "kernelId"       => kernel_id,
    "ramdiskId"      => ramdisk_id,
    "imageState"     => "available",
    "imageId"        => image_id,
    "architecture"   => "i386",
    "isPublic"       => true,
    "imageLocation"  => path.join('/'),
    "imageType"      => "machine",
    "rootDeviceType" => ["ebs","instance-store"][rand(2)],
    "rootDeviceName" => "/dev/sda1"
  }
end

.image_idObject



157
158
159
# File 'lib/fog/aws.rb', line 157

def self.image_id
  "ami-#{Fog::Mock.random_hex(8)}"
end

.instance_idObject



169
170
171
# File 'lib/fog/aws.rb', line 169

def self.instance_id
  "i-#{Fog::Mock.random_hex(8)}"
end

.ip_addressObject



173
174
175
176
177
178
179
# File 'lib/fog/aws.rb', line 173

def self.ip_address
  ip = []
  4.times do
    ip << Fog::Mock.random_numbers(rand(3) + 1).to_i.to_s # remove leading 0
  end
  ip.join('.')
end

.kernel_idObject



181
182
183
# File 'lib/fog/aws.rb', line 181

def self.kernel_id
  "aki-#{Fog::Mock.random_hex(8)}"
end

.key_fingerprintObject



161
162
163
164
165
166
167
# File 'lib/fog/aws.rb', line 161

def self.key_fingerprint
  fingerprint = []
  20.times do
    fingerprint << Fog::Mock.random_hex(2)
  end
  fingerprint.join(':')
end

.key_id(length = 21) ⇒ Object



229
230
231
232
# File 'lib/fog/aws.rb', line 229

def self.key_id(length=21)
  #Probably close enough
  Fog::Mock.random_selection('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',length)
end

.key_materialObject



185
186
187
# File 'lib/fog/aws.rb', line 185

def self.key_material
  OpenSSL::PKey::RSA.generate(1024).to_s
end

.owner_idObject



189
190
191
# File 'lib/fog/aws.rb', line 189

def self.owner_id
  Fog::Mock.random_numbers(12)
end

.private_dns_name_for(ip_address) ⇒ Object



131
132
133
# File 'lib/fog/aws.rb', line 131

def self.private_dns_name_for(ip_address)
  "ip-#{ip_address.gsub('.','-')}.ec2.internal"
end

.ramdisk_idObject



193
194
195
# File 'lib/fog/aws.rb', line 193

def self.ramdisk_id
  "ari-#{Fog::Mock.random_hex(8)}"
end

.rds_address(db_name, region) ⇒ Object



234
235
236
# File 'lib/fog/aws.rb', line 234

def self.rds_address(db_name,region)
  "#{db_name}.#{Fog::Mock.random_letters(rand(12) + 4)}.#{region}.rds.amazonaws.com"
end

.request_idObject Also known as: reserved_instances_id, reserved_instances_offering_id, sqs_message_id, sqs_sender_id



197
198
199
200
201
202
203
204
205
# File 'lib/fog/aws.rb', line 197

def self.request_id
  request_id = []
  request_id << Fog::Mock.random_hex(8)
  3.times do
    request_id << Fog::Mock.random_hex(4)
  end
  request_id << Fog::Mock.random_hex(12)
  request_id.join('-')
end

.reservation_idObject



213
214
215
# File 'lib/fog/aws.rb', line 213

def self.reservation_id
  "r-#{Fog::Mock.random_hex(8)}"
end

.security_group_idObject



225
226
227
# File 'lib/fog/aws.rb', line 225

def self.security_group_id
  "sg-#{Fog::Mock.random_hex(8)}"
end

.snapshot_idObject



217
218
219
# File 'lib/fog/aws.rb', line 217

def self.snapshot_id
  "snap-#{Fog::Mock.random_hex(8)}"
end

.volume_idObject



221
222
223
# File 'lib/fog/aws.rb', line 221

def self.volume_id
  "vol-#{Fog::Mock.random_hex(8)}"
end