Sha256: dd7feccf28a4173f2bda1bc8eabde8a58ea47cfd91dbab9512bb2b8c33791dfb
Contents?: true
Size: 1.68 KB
Versions: 4
Compression:
Stored size: 1.68 KB
Contents
require 'leeroy' require 'leeroy/types/dash' require 'leeroy/types/mash' require 'leeroy/types/phase' require 'leeroy/types/userdata' require 'leeroy/helpers/dumpable' require 'leeroy/helpers/logging' module Leeroy module Types class Instance < Leeroy::Types::Dash include Leeroy::Helpers::Dumpable include Leeroy::Helpers::Logging property :phase, required: true, coerce: lambda {|x| Leeroy::Types::Phase.from_s(x.to_s)} property :aws_params # AWS-specific params property :iam_instance_profile, required: true property :image_id, required: true property :instance_type, required: true property :key_name, required: true property :max_count, required: true property :min_count, required: true property :security_group_ids, required: true property :subnet_id, required: true property :user_data, default: '', coerce: Leeroy::Types::UserData def initialize(*args, &block) self.aws_params = [ :iam_instance_profile, :image_id, :instance_type, :key_name, :max_count, :min_count, :security_group_ids, :subnet_id, :user_data, ] self.dump_properties = self.aws_params super end def run_params begin params_hash = Leeroy::Types::Mash.new self.aws_params.each {|param| params_hash.store(param.to_s, self.fetch(param.to_s))} # UserData is special! params_hash.store('user_data', self.fetch('user_data').encoded_for_ec2) params_hash rescue StandardError => e raise e end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
leeroy_app-0.5.4 | lib/leeroy/types/instance.rb |
leeroy_app-0.4.0 | lib/leeroy/types/instance.rb |
leeroy_app-0.3.1 | lib/leeroy/types/instance.rb |
leeroy_app-0.3.0 | lib/leeroy/types/instance.rb |