Class: Aerosol::Instance
- Inherits:
-
Object
show all
- Includes:
- AWSModel
- Defined in:
- lib/aerosol/instance.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from AWSModel
#create, #default_identifier, #destroy, #exists?, included, #initialize, #namespaced_name
Class Method Details
.request_all ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/aerosol/instance.rb', line 48
def self.request_all
next_token = nil
instances = []
begin
new_instances = request_all_for_token(next_token)
instances.concat(new_instances.auto_scaling_instances)
next_token = new_instances.next_token
end until next_token.nil?
instances
end
|
.request_all_for_token(next_token) ⇒ Object
43
44
45
46
|
# File 'lib/aerosol/instance.rb', line 43
def self.request_all_for_token(next_token)
options = next_token.nil? ? {} : { next_token: next_token }
Aerosol::AWS.auto_scaling.describe_auto_scaling_instances(options)
end
|
Instance Method Details
#address ⇒ Object
27
28
29
30
31
32
33
|
# File 'lib/aerosol/instance.rb', line 27
def address
if public_hostname.blank?
private_ip_address
else
public_hostname
end
end
|
#description ⇒ Object
39
40
41
|
# File 'lib/aerosol/instance.rb', line 39
def description
@description ||= describe!
end
|
#image_id ⇒ Object
35
36
37
|
# File 'lib/aerosol/instance.rb', line 35
def image_id
description[:image_id]
end
|
#instance_state_name ⇒ Object
15
16
17
|
# File 'lib/aerosol/instance.rb', line 15
def instance_state_name
description[:state][:name]
end
|
#live? ⇒ Boolean
10
11
12
13
|
# File 'lib/aerosol/instance.rb', line 10
def live?
describe_again
instance_state_name == 'running'
end
|
#private_ip_address ⇒ Object
23
24
25
|
# File 'lib/aerosol/instance.rb', line 23
def private_ip_address
description[:private_ip_address]
end
|
#public_hostname ⇒ Object
19
20
21
|
# File 'lib/aerosol/instance.rb', line 19
def public_hostname
description[:public_dns_name]
end
|