Class: Fog::AWS::Mock
- Inherits:
-
Object
- Object
- Fog::AWS::Mock
- Defined in:
- lib/fog/aws/mock.rb
Class Method Summary collapse
- .arn(vendor, account_id, path, region = nil) ⇒ Object
- .availability_zone(region) ⇒ Object
- .box_usage ⇒ Object
- .change_id ⇒ Object
- .console_output ⇒ Object
- .data_pipeline_id ⇒ Object
- .default_vpc_for(region) ⇒ Object
- .dhcp_options_id ⇒ Object
- .dns_name_for(ip_address) ⇒ Object
- .image ⇒ Object
- .image_id ⇒ Object
- .instance_id ⇒ Object
- .internet_gateway_id ⇒ Object
- .ip_address ⇒ Object
- .kernel_id ⇒ Object
- .key_fingerprint ⇒ Object
- .key_id(length = 21) ⇒ Object
- .key_material ⇒ Object
- .nameservers ⇒ Object
- .network_acl_association_id ⇒ Object
- .network_acl_id ⇒ Object
- .network_interface_id ⇒ Object
- .owner_id ⇒ Object
- .private_dns_name_for(ip_address) ⇒ Object
- .private_ip_address ⇒ Object
- .ramdisk_id ⇒ Object
- .rds_address(db_name, region) ⇒ Object
- .request_id ⇒ Object (also: reserved_instances_id, reserved_instances_offering_id, sqs_message_id, sqs_sender_id)
- .reservation_id ⇒ Object
- .route_table_id ⇒ Object
- .security_group_id ⇒ Object
- .snapshot_id ⇒ Object
- .spot_instance_request_id ⇒ Object
- .spot_product_descriptions ⇒ Object
- .subnet_id ⇒ Object
- .volume_id ⇒ Object
- .vpc_id ⇒ Object
- .zone_id ⇒ Object
Class Method Details
.arn(vendor, account_id, path, region = nil) ⇒ Object
4 5 6 |
# File 'lib/fog/aws/mock.rb', line 4 def self.arn(vendor, account_id, path, region = nil) "arn:aws:#{vendor}:#{region}:#{account_id}:#{path}" end |
.availability_zone(region) ⇒ Object
8 9 10 |
# File 'lib/fog/aws/mock.rb', line 8 def self.availability_zone(region) "#{region}#{Fog::Mock.random_selection('abcd', 1)}" end |
.box_usage ⇒ Object
12 13 14 |
# File 'lib/fog/aws/mock.rb', line 12 def self.box_usage sprintf("%0.10f", rand / 100).to_f end |
.change_id ⇒ Object
151 152 153 |
# File 'lib/fog/aws/mock.rb', line 151 def self.change_id Fog::Mock.random_letters_and_numbers(14) end |
.console_output ⇒ Object
16 17 18 19 |
# File 'lib/fog/aws/mock.rb', line 16 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 |
.data_pipeline_id ⇒ Object
176 177 178 |
# File 'lib/fog/aws/mock.rb', line 176 def self.data_pipeline_id "df-#{Fog::Mock.random_letters_and_numbers(19).capitalize}" end |
.default_vpc_for(region) ⇒ Object
188 189 190 191 |
# File 'lib/fog/aws/mock.rb', line 188 def self.default_vpc_for(region) @default_vpcs ||= {} @default_vpcs[region] ||= vpc_id end |
.dhcp_options_id ⇒ Object
136 137 138 |
# File 'lib/fog/aws/mock.rb', line 136 def self. "dopt-#{Fog::Mock.random_hex(8)}" end |
.dns_name_for(ip_address) ⇒ Object
21 22 23 |
# File 'lib/fog/aws/mock.rb', line 21 def self.dns_name_for(ip_address) "ec2-#{ip_address.gsub('.','-')}.compute-1.amazonaws.com" end |
.image ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/fog/aws/mock.rb', line 29 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_id ⇒ Object
51 52 53 |
# File 'lib/fog/aws/mock.rb', line 51 def self.image_id "ami-#{Fog::Mock.random_hex(8)}" end |
.instance_id ⇒ Object
63 64 65 |
# File 'lib/fog/aws/mock.rb', line 63 def self.instance_id "i-#{Fog::Mock.random_hex(8)}" end |
.internet_gateway_id ⇒ Object
133 134 135 |
# File 'lib/fog/aws/mock.rb', line 133 def self.internet_gateway_id "igw-#{Fog::Mock.random_hex(8)}" end |
.ip_address ⇒ Object
67 68 69 |
# File 'lib/fog/aws/mock.rb', line 67 def self.ip_address Fog::Mock.random_ip end |
.kernel_id ⇒ Object
75 76 77 |
# File 'lib/fog/aws/mock.rb', line 75 def self.kernel_id "aki-#{Fog::Mock.random_hex(8)}" end |
.key_fingerprint ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/fog/aws/mock.rb', line 55 def self.key_fingerprint fingerprint = [] 20.times do fingerprint << Fog::Mock.random_hex(2) end fingerprint.join(':') end |
.key_id(length = 21) ⇒ Object
163 164 165 166 |
# File 'lib/fog/aws/mock.rb', line 163 def self.key_id(length=21) #Probably close enough Fog::Mock.random_selection('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',length) end |
.key_material ⇒ Object
79 80 81 |
# File 'lib/fog/aws/mock.rb', line 79 def self.key_material OpenSSL::PKey::RSA.generate(1024).to_s end |
.nameservers ⇒ Object
154 155 156 157 158 159 160 161 |
# File 'lib/fog/aws/mock.rb', line 154 def self.nameservers [ 'ns-2048.awsdns-64.com', 'ns-2049.awsdns-65.net', 'ns-2050.awsdns-66.org', 'ns-2051.awsdns-67.co.uk' ] end |
.network_acl_association_id ⇒ Object
127 128 129 |
# File 'lib/fog/aws/mock.rb', line 127 def self.network_acl_association_id "aclassoc-#{Fog::Mock.random_hex(8)}" end |
.network_acl_id ⇒ Object
124 125 126 |
# File 'lib/fog/aws/mock.rb', line 124 def self.network_acl_id "acl-#{Fog::Mock.random_hex(8)}" end |
.network_interface_id ⇒ Object
130 131 132 |
# File 'lib/fog/aws/mock.rb', line 130 def self.network_interface_id "eni-#{Fog::Mock.random_hex(8)}" end |
.owner_id ⇒ Object
83 84 85 |
# File 'lib/fog/aws/mock.rb', line 83 def self.owner_id Fog::Mock.random_numbers(12) end |
.private_dns_name_for(ip_address) ⇒ Object
25 26 27 |
# File 'lib/fog/aws/mock.rb', line 25 def self.private_dns_name_for(ip_address) "ip-#{ip_address.gsub('.','-')}.ec2.internal" end |
.private_ip_address ⇒ Object
71 72 73 |
# File 'lib/fog/aws/mock.rb', line 71 def self.private_ip_address ip_address.gsub(/^\d{1,3}\./,"10.") end |
.ramdisk_id ⇒ Object
87 88 89 |
# File 'lib/fog/aws/mock.rb', line 87 def self.ramdisk_id "ari-#{Fog::Mock.random_hex(8)}" end |
.rds_address(db_name, region) ⇒ Object
168 169 170 |
# File 'lib/fog/aws/mock.rb', line 168 def self.rds_address(db_name,region) "#{db_name}.#{Fog::Mock.random_letters(rand(12) + 4)}.#{region}.rds.amazonaws.com" end |
.request_id ⇒ Object Also known as: reserved_instances_id, reserved_instances_offering_id, sqs_message_id, sqs_sender_id
91 92 93 94 95 96 97 98 99 |
# File 'lib/fog/aws/mock.rb', line 91 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_id ⇒ Object
108 109 110 |
# File 'lib/fog/aws/mock.rb', line 108 def self.reservation_id "r-#{Fog::Mock.random_hex(8)}" end |
.route_table_id ⇒ Object
148 149 150 |
# File 'lib/fog/aws/mock.rb', line 148 def self.route_table_id "rtb-#{Fog::Mock.random_hex(8)}" end |
.security_group_id ⇒ Object
120 121 122 |
# File 'lib/fog/aws/mock.rb', line 120 def self.security_group_id "sg-#{Fog::Mock.random_hex(8)}" end |
.snapshot_id ⇒ Object
112 113 114 |
# File 'lib/fog/aws/mock.rb', line 112 def self.snapshot_id "snap-#{Fog::Mock.random_hex(8)}" end |
.spot_instance_request_id ⇒ Object
172 173 174 |
# File 'lib/fog/aws/mock.rb', line 172 def self.spot_instance_request_id "sir-#{Fog::Mock.random_letters_and_numbers(8)}" end |
.spot_product_descriptions ⇒ Object
180 181 182 183 184 185 186 |
# File 'lib/fog/aws/mock.rb', line 180 def self.spot_product_descriptions [ 'Linux/UNIX', 'Windows', 'SUSE Linux' ] end |
.subnet_id ⇒ Object
142 143 144 |
# File 'lib/fog/aws/mock.rb', line 142 def self.subnet_id "subnet-#{Fog::Mock.random_hex(8)}" end |
.volume_id ⇒ Object
116 117 118 |
# File 'lib/fog/aws/mock.rb', line 116 def self.volume_id "vol-#{Fog::Mock.random_hex(8)}" end |
.vpc_id ⇒ Object
139 140 141 |
# File 'lib/fog/aws/mock.rb', line 139 def self.vpc_id "vpc-#{Fog::Mock.random_hex(8)}" end |
.zone_id ⇒ Object
145 146 147 |
# File 'lib/fog/aws/mock.rb', line 145 def self.zone_id "zone-#{Fog::Mock.random_hex(8)}" end |