Sha256: 1cf1486eaf4f11d924dd8422d0bb21668d4825737296ba2f2e297a60e0746b17
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
class Aerosol::Instance include Aerosol::AWSModel aws_attribute :availability_zone, :health_status, :instance_id, :lifecycle_state aws_class_attribute :launch_configuration, Aerosol::LaunchConfiguration primary_key :instance_id def live? describe_again instance_state_name == 'running' end def instance_state_name description[:state][:name] end def public_hostname description[:public_dns_name] end def private_ip_address description[:private_ip_address] end def address if public_hostname.blank? private_ip_address else public_hostname end end def image_id description[:image_id] end def description @description ||= describe! end def self.request_all Aerosol::AWS.auto_scaling .describe_auto_scaling_instances .auto_scaling_instances end private def describe! ensure_present! :instance_id result = Aerosol::AWS.compute.describe_instances(instance_ids: [instance_id]) result.reservations.first.instances.first.to_h rescue nil end def describe_again @description = nil description end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
aerosol-1.1.0 | lib/aerosol/instance.rb |
aerosol-1.0.2 | lib/aerosol/instance.rb |
aerosol-1.0.1 | lib/aerosol/instance.rb |