mirror of
				https://github.com/fog/fog.git
				synced 2022-11-09 13:51:43 -05:00 
			
		
		
		
	[ec2] fix some leftovers from mocking/dependency cleanup
This commit is contained in:
		
							parent
							
								
									f08f98f6bf
								
							
						
					
					
						commit
						860da961f0
					
				
					 1 changed files with 147 additions and 163 deletions
				
			
		
							
								
								
									
										310
									
								
								lib/fog/aws.rb
									
										
									
									
									
								
							
							
						
						
									
										310
									
								
								lib/fog/aws.rb
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,19 +1,10 @@
 | 
			
		|||
require 'fog/aws/ec2.rb'
 | 
			
		||||
require 'fog/aws/s3'
 | 
			
		||||
require 'fog/aws/simpledb'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module AWS
 | 
			
		||||
 | 
			
		||||
    def self.dependencies
 | 
			
		||||
      [
 | 
			
		||||
        'fog/aws/ec2.rb'
 | 
			
		||||
      ]
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def self.reload
 | 
			
		||||
      self.dependencies.each {|dependency| load(dependency)}
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def self.indexed_param(key, values)
 | 
			
		||||
      params = {}
 | 
			
		||||
      [*values].each_with_index do |value, index|
 | 
			
		||||
| 
						 | 
				
			
			@ -22,161 +13,154 @@ module Fog
 | 
			
		|||
      params
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    if Fog.mocking?
 | 
			
		||||
      srand(Time.now.to_i)
 | 
			
		||||
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def self.availability_zone
 | 
			
		||||
          "us-east-1" << random_selection('abcd', 1)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.box_usage
 | 
			
		||||
          sprintf("%0.10f", rand / 100).to_f
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        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
 | 
			
		||||
 | 
			
		||||
        def self.etag
 | 
			
		||||
          hex(32)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        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
 | 
			
		||||
 | 
			
		||||
        def self.image_id
 | 
			
		||||
          "ami-#{hex(8)}"
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.key_fingerprint
 | 
			
		||||
          fingerprint = []
 | 
			
		||||
          20.times do
 | 
			
		||||
            fingerprint << hex(2)
 | 
			
		||||
          end
 | 
			
		||||
          fingerprint.join(':')
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.image_id
 | 
			
		||||
          "ami-#{hex(8)}"
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.instance_id
 | 
			
		||||
          "i-#{hex(8)}"
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.ip_address
 | 
			
		||||
          ip = []
 | 
			
		||||
          4.times do
 | 
			
		||||
            ip << numbers(rand(3) + 1).to_i.to_s # remove leading 0
 | 
			
		||||
          end
 | 
			
		||||
          ip.join('.')
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.kernel_id
 | 
			
		||||
          "aki-#{hex(8)}"
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        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
 | 
			
		||||
 | 
			
		||||
        def self.owner_id
 | 
			
		||||
          numbers(12)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.ramdisk_id
 | 
			
		||||
          "ari-#{hex(8)}"
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        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
 | 
			
		||||
 | 
			
		||||
        def self.reservation_id
 | 
			
		||||
          "r-#{hex(8)}"
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.snapshot_id
 | 
			
		||||
          "snap-#{hex(8)}"
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.volume_id
 | 
			
		||||
          "vol-#{hex(8)}"
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        private
 | 
			
		||||
 | 
			
		||||
        def self.random_selection(characters, length)
 | 
			
		||||
          selection = ''
 | 
			
		||||
          length.times do
 | 
			
		||||
            position = rand(characters.length)
 | 
			
		||||
            selection << characters[position..position]
 | 
			
		||||
          end
 | 
			
		||||
          selection
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.letters(length)
 | 
			
		||||
          random_selection(
 | 
			
		||||
            'abcdefghijklmnopqrstuvwxyz',
 | 
			
		||||
            length
 | 
			
		||||
          )
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.numbers(length)
 | 
			
		||||
          random_selection(
 | 
			
		||||
            '0123456789',
 | 
			
		||||
            length
 | 
			
		||||
          )
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.hex(length)
 | 
			
		||||
          random_selection(
 | 
			
		||||
            '0123456789abcdef',
 | 
			
		||||
            length
 | 
			
		||||
          )
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def self.base64(length)
 | 
			
		||||
          random_selection(
 | 
			
		||||
            "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
 | 
			
		||||
            length
 | 
			
		||||
          )
 | 
			
		||||
        end
 | 
			
		||||
    class Mock
 | 
			
		||||
 | 
			
		||||
      def self.availability_zone
 | 
			
		||||
        "us-east-1" << random_selection('abcd', 1)
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
      def self.box_usage
 | 
			
		||||
        sprintf("%0.10f", rand / 100).to_f
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      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
 | 
			
		||||
 | 
			
		||||
      def self.etag
 | 
			
		||||
        hex(32)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      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
 | 
			
		||||
 | 
			
		||||
      def self.image_id
 | 
			
		||||
        "ami-#{hex(8)}"
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.key_fingerprint
 | 
			
		||||
        fingerprint = []
 | 
			
		||||
        20.times do
 | 
			
		||||
          fingerprint << hex(2)
 | 
			
		||||
        end
 | 
			
		||||
        fingerprint.join(':')
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.image_id
 | 
			
		||||
        "ami-#{hex(8)}"
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.instance_id
 | 
			
		||||
        "i-#{hex(8)}"
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.ip_address
 | 
			
		||||
        ip = []
 | 
			
		||||
        4.times do
 | 
			
		||||
          ip << numbers(rand(3) + 1).to_i.to_s # remove leading 0
 | 
			
		||||
        end
 | 
			
		||||
        ip.join('.')
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.kernel_id
 | 
			
		||||
        "aki-#{hex(8)}"
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      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
 | 
			
		||||
 | 
			
		||||
      def self.owner_id
 | 
			
		||||
        numbers(12)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.ramdisk_id
 | 
			
		||||
        "ari-#{hex(8)}"
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      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
 | 
			
		||||
 | 
			
		||||
      def self.reservation_id
 | 
			
		||||
        "r-#{hex(8)}"
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.snapshot_id
 | 
			
		||||
        "snap-#{hex(8)}"
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.volume_id
 | 
			
		||||
        "vol-#{hex(8)}"
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      private
 | 
			
		||||
 | 
			
		||||
      def self.random_selection(characters, length)
 | 
			
		||||
        selection = ''
 | 
			
		||||
        length.times do
 | 
			
		||||
          position = rand(characters.length)
 | 
			
		||||
          selection << characters[position..position]
 | 
			
		||||
        end
 | 
			
		||||
        selection
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.letters(length)
 | 
			
		||||
        random_selection(
 | 
			
		||||
          'abcdefghijklmnopqrstuvwxyz',
 | 
			
		||||
          length
 | 
			
		||||
        )
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.numbers(length)
 | 
			
		||||
        random_selection(
 | 
			
		||||
          '0123456789',
 | 
			
		||||
          length
 | 
			
		||||
        )
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.hex(length)
 | 
			
		||||
        random_selection(
 | 
			
		||||
          '0123456789abcdef',
 | 
			
		||||
          length
 | 
			
		||||
        )
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.base64(length)
 | 
			
		||||
        random_selection(
 | 
			
		||||
          "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
 | 
			
		||||
          length
 | 
			
		||||
        )
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
Fog::AWS.reload
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue