Class: AWS::Image

Inherits:
Object
  • Object
show all
Includes:
AWS
Defined in:
lib/aws_cloud_map.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from AWS

connect, ec2

Constructor Details

#initialize(attributes) ⇒ Image

Returns a new instance of Image.



15
16
17
# File 'lib/aws_cloud_map.rb', line 15

def initialize(attributes)
  @attributes = attributes
end

Class Method Details

.allObject



69
70
71
# File 'lib/aws_cloud_map.rb', line 69

def self.all
  @@ec2.describe_images_by_owner('self').map { |image| new(image) }
end

.find(image_id) ⇒ Object



73
74
75
# File 'lib/aws_cloud_map.rb', line 73

def self.find(image_id)
  new(@@ec2.describe_images([image_id]).first)
end

Instance Method Details

#aws_architectureObject



19
20
21
# File 'lib/aws_cloud_map.rb', line 19

def aws_architecture 
  @attributes[:aws_architecture] 
end

#aws_idObject Also known as: id



27
28
29
# File 'lib/aws_cloud_map.rb', line 27

def aws_id 
  @attributes[:aws_id] 
end

#aws_image_typeObject



31
32
33
# File 'lib/aws_cloud_map.rb', line 31

def aws_image_type 
  @attributes[:aws_image_type] 
end

#aws_is_publicObject Also known as: public?



51
52
53
# File 'lib/aws_cloud_map.rb', line 51

def aws_is_public 
  @attributes[:aws_is_public] 
end

#aws_kernel_idObject



39
40
41
# File 'lib/aws_cloud_map.rb', line 39

def aws_kernel_id 
  @attributes[:aws_kernel_id] 
end

#aws_locationObject



35
36
37
# File 'lib/aws_cloud_map.rb', line 35

def aws_location 
  @attributes[:aws_location] 
end

#aws_ownerObject



23
24
25
# File 'lib/aws_cloud_map.rb', line 23

def aws_owner 
  @attributes[:aws_owner] 
end

#aws_ramdisk_idObject



47
48
49
# File 'lib/aws_cloud_map.rb', line 47

def aws_ramdisk_id 
  @attributes[:aws_ramdisk_id] 
end

#aws_stateObject



43
44
45
# File 'lib/aws_cloud_map.rb', line 43

def aws_state 
  @attributes[:aws_state] 
end

#create_instance(security_groups, key, user_data, size, region) ⇒ Object

TODO add all params TODO test



64
65
66
67
# File 'lib/aws_cloud_map.rb', line 64

def create_instance(security_groups, key, user_data, size, region)
  @instances = nil
  Instance.new(@@ec2.run_instances(id, 1, 1, security_groups, key, user_data, nil, size, nil, nil, region).first)
end

#instancesObject



58
59
60
# File 'lib/aws_cloud_map.rb', line 58

def instances
  @instances ||= @@ec2.describe_instances.select { |instance| instance[:aws_image_id] == id }.map { |instance| Instance.new(instance) }
end