~cbehrens/nova/lp844160-build-works-with-zones

« back to all changes in this revision

Viewing changes to vendor/boto/bin/bundle_image

  • Committer: Jesse Andrews
  • Date: 2010-05-28 06:05:26 UTC
  • Revision ID: git-v1:bf6e6e718cdc7488e2da87b21e258ccc065fe499
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
from boto.manage.server import Server
 
3
if __name__ == "__main__":
 
4
    from optparse import OptionParser
 
5
    parser = OptionParser(version="%prog 1.0", usage="Usage: %prog [options] instance-id [instance-id-2]")
 
6
 
 
7
    # Commands
 
8
    parser.add_option("-b", "--bucket", help="Destination Bucket", dest="bucket", default=None)
 
9
    parser.add_option("-p", "--prefix", help="AMI Prefix", dest="prefix", default=None)
 
10
    parser.add_option("-k", "--key", help="Private Key File", dest="key_file", default=None)
 
11
    parser.add_option("-c", "--cert", help="Public Certificate File", dest="cert_file", default=None)
 
12
    parser.add_option("-s", "--size", help="AMI Size", dest="size", default=None)
 
13
    parser.add_option("-i", "--ssh-key", help="SSH Keyfile", dest="ssh_key", default=None)
 
14
    parser.add_option("-u", "--user-name", help="SSH Username", dest="uname", default="root")
 
15
    parser.add_option("-n", "--name", help="Name of Image", dest="name")
 
16
    (options, args) = parser.parse_args()
 
17
 
 
18
    for instance_id in args:
 
19
        try:
 
20
            s = Server.find(instance_id=instance_id).next()
 
21
            print "Found old server object"
 
22
        except StopIteration:
 
23
            print "New Server Object Created"
 
24
            s = Server.create_from_instance_id(instance_id, options.name)
 
25
        assert(s.hostname is not None)
 
26
        b = s.get_bundler(uname=options.uname)
 
27
        b.bundle(bucket=options.bucket,prefix=options.prefix,key_file=options.key_file,cert_file=options.cert_file,size=int(options.size),ssh_key=options.ssh_key)