Sha256: 498c1046666b304fd576d1cf314a97b8a091973e90f1a229c188b0ca518cac35

Contents?: true

Size: 832 Bytes

Versions: 2

Compression:

Stored size: 832 Bytes

Contents

module Opsicle
  class CloneableLayer
    attr_accessor :name, :layer_id, :instances, :opsworks, :cli, :agent_version, :ami_id

    def initialize(name, layer_id, opsworks, cli)
      self.name = name
      self.layer_id = layer_id
      self.opsworks = opsworks
      self.cli = cli
      self.instances = []
    end

    def get_cloneable_instances
      ops_instances = @opsworks.describe_instances({ :layer_id => layer_id }).instances
      ops_instances.each do |instance|
        self.instances << CloneableInstance.new(instance, self, @opsworks, @cli)
      end
      self.instances
    end

    def add_new_instance(instance_id)
      instance = @opsworks.describe_instances({ :instance_ids => [instance_id] }).instances.first
      self.instances << CloneableInstance.new(instance, self, @opsworks, @cli)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
opsicle-2.5.0 lib/opsicle/cloneable_layer.rb
opsicle-2.4.1 lib/opsicle/cloneable_layer.rb