Class: Fog::AWS::Mock

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

Class Method Summary collapse

Class Method Details

.availability_zoneObject



44
45
46
# File 'lib/fog/aws.rb', line 44

def self.availability_zone
  "us-east-1" << random_selection('abcd', 1)
end

.box_usageObject



48
49
50
# File 'lib/fog/aws.rb', line 48

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

.dns_name_for(ip_address) ⇒ Object



52
53
54
# File 'lib/fog/aws.rb', line 52

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

.etagObject



60
61
62
# File 'lib/fog/aws.rb', line 60

def self.etag
  hex(32)
end

.imageObject



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/fog/aws.rb', line 64

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

.image_idObject



83
84
85
# File 'lib/fog/aws.rb', line 83

def self.image_id
  "ami-#{hex(8)}"
end

.instance_idObject



99
100
101
# File 'lib/fog/aws.rb', line 99

def self.instance_id
  "i-#{hex(8)}"
end

.ip_addressObject



103
104
105
106
107
108
109
# File 'lib/fog/aws.rb', line 103

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

.kernel_idObject



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

def self.kernel_id
  "aki-#{hex(8)}"
end

.key_fingerprintObject



87
88
89
90
91
92
93
# File 'lib/fog/aws.rb', line 87

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

.key_materialObject



115
116
117
118
119
120
121
122
123
# File 'lib/fog/aws.rb', line 115

def self.key_material
  key_material = ['-----BEGIN RSA PRIVATE KEY-----']
  20.times do
    key_material << base64(76)
  end
  key_material << base64(67) + '='
  key_material << '-----END RSA PRIVATE KEY-----'
  key_material.join("\n")
end

.owner_idObject



125
126
127
# File 'lib/fog/aws.rb', line 125

def self.owner_id
  numbers(12)
end

.private_dns_name_for(ip_address) ⇒ Object



56
57
58
# File 'lib/fog/aws.rb', line 56

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

.ramdisk_idObject



129
130
131
# File 'lib/fog/aws.rb', line 129

def self.ramdisk_id
  "ari-#{hex(8)}"
end

.request_idObject



133
134
135
136
137
138
139
140
141
# File 'lib/fog/aws.rb', line 133

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

.reservation_idObject



143
144
145
# File 'lib/fog/aws.rb', line 143

def self.reservation_id
  "r-#{hex(8)}"
end

.snapshot_idObject



147
148
149
# File 'lib/fog/aws.rb', line 147

def self.snapshot_id
  "snap-#{hex(8)}"
end

.volume_idObject



151
152
153
# File 'lib/fog/aws.rb', line 151

def self.volume_id
  "vol-#{hex(8)}"
end