Sha256: 96fe151539e05e3e9acfc8867b301c856b5756b2b1c1bf2118bc51dbab72d2e4

Contents?: true

Size: 1.64 KB

Versions: 16

Compression:

Stored size: 1.64 KB

Contents

module Mccloud::Provider
  module Aws
    module VmCommand

      def package(options=nil)

        #f=Fog::Compute.new({ :region => "eu-west-1", :provider => "AWS"})
        # i=f.create_image("i-c1ac2bb7","name","description")
        # f.images.all({ "Owner" => "self"})
        # f.deregister_image("ami-796d5b0d")

        time=Time.new
        strtime=time.strftime("%Y-%m-%d-%H-%M-%S")
        name=""

        if options["name"].nil?
          name="#{@name}-#{strtime}"
        else
          name=options["name"]
        end

        description=""
        if options["description"].nil?
          description="Autogenerated snapshot from machine #{@name}"
        else
          description=options["description"]
        end

        begin
          puts raw.id
          result=@provider.raw.create_image(raw.id,name,description)
          imageId=result.body["imageId"]
          env.ui.info "[#{@name}] image #{imageId} with #{description} being created"
          unless options["dontwait"]
            sleep 3
            counter=0
            max_tries=5
            #Pending
            state="pending"
            until state!="pending" do
              print "."
              sleep 2
              image=@provider.raw.images.get(imageId)

              if image.nil?
                sleep 3
                print "."
              else
                state=image.state
              end
            end
            env.ui.info ""
            env.ui.info "[#{@name}] creation done!"
          end
        rescue Fog::Service::Error => fogerror
          env.ui.error "[Error] #{fogerror}"

        end
      end

    end #module
  end #module
end #module

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
mccloud-0.1.1 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.28 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.27 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.26 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.25 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.24 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.23 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.22 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.21 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.20 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.19 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.18 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.17 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.16 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.15 lib/mccloud/provider/aws/vm/package.rb
mccloud-0.0.14 lib/mccloud/provider/aws/vm/package.rb