class Bcome::Node::Server::Dynamic::Ec2

Public Class Methods

dynamic_server_type() click to toggle source
# File lib/objects/node/server/dynamic/ec2.rb, line 6
def dynamic_server_type
  :ec2
end
new_from_fog_instance(fog_instance, parent) click to toggle source
# File lib/objects/node/server/dynamic/ec2.rb, line 10
def new_from_fog_instance(fog_instance, parent)
  identifier = fog_instance.tags['Name']

  params = {
    identifier: identifier,
    internal_ip_address: fog_instance.private_ip_address,
    public_ip_address: fog_instance.public_ip_address,
    role: fog_instance.tags['function'],
    description: "EC2 server - #{identifier}",
    ec2_server: fog_instance
  }

  new(parent: parent, views: params)
end

Public Instance Methods

cloud_server() click to toggle source
# File lib/objects/node/server/dynamic/ec2.rb, line 35
def cloud_server
  views[:ec2_server]
end
do_generate_cloud_tags() click to toggle source
# File lib/objects/node/server/dynamic/ec2.rb, line 30
def do_generate_cloud_tags
  raw_tags = cloud_server ? cloud_server.tags.deep_symbolize_keys : {}
  ::Bcome::Node::Meta::Cloud.new(raw_tags)
end
host() click to toggle source
# File lib/objects/node/server/dynamic/ec2.rb, line 26
def host
  'EC2'
end