Class: Akashi::Ec2::Instance
- Defined in:
- lib/akashi/ec2/instance.rb
Class Method Summary collapse
Methods inherited from Base
Methods inherited from Base
all, base_class, collection, find, find_by, #initialize, object_class, where
Constructor Details
This class inherits a constructor from Akashi::Base
Class Method Details
.create(ami:, instance_class:, security_group:, subnet:) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/akashi/ec2/instance.rb', line 9 def create(ami:, instance_class:, security_group:, subnet:) name = "#{subnet.name}-#{next_number(subnet: subnet)}" response = Akashi::Aws.ec2.instances.create( image_id: ami.id, key_name: Akashi.name, security_group_ids: [ security_group.id ], subnet_id: subnet.id, instance_type: instance_class, associate_public_ip_address: true, ) new(response.id).tap do |instance| instance.name = name puts "Created an EC2 Instance (#{instance.id}) on a Subnet (#{subnet.id})." end end |
.next_number(subnet:) ⇒ Object
27 28 29 |
# File 'lib/akashi/ec2/instance.rb', line 27 def next_number(subnet:) "%03d" % (where(subnet_id: subnet.id).count + 1) end |