blob: 216a3e2170cde0757f6f128f5c99fcf969fe5942 [file] [log] [blame]
from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver
#
# Instantiate driver
#
username = 'your account username'
password = 'your account password'
host = 'onapp.test'
cls = get_driver(Provider.ONAPP)
driver = cls(
key=username,
secret=password,
host=host
)
#
# Create node
#
name = 'virtual_servers_name' # user-friendly VS description
memory = 2 * 1024 # amount of RAM assigned to the VS in MB
cpus = 2 # number of CPUs assigned to the VS
cpu_shares = 100
# For KVM hypervisor the CPU priority value is always 100. For XEN, set a
# custom value. The default value for XEN is 1
hostname = 'vshostname' # set the host name for this VS
template_id = 8 # the ID of a template from which a VS should be built
primary_disk_size = 100 # set the disk space for this VS
swap_disk_size = None # set swap space
# optional parameter, but recommended
rate_limit = None
# set max port speed. If none set, the system sets port speed to unlimited
node = driver.create_node(
name=name,
ex_memory=memory,
ex_cpus=cpus,
ex_cpu_shares=cpu_shares,
ex_hostname=hostname,
ex_template_id=template_id,
ex_primary_disk_size=primary_disk_size,
ex_swap_disk_size=swap_disk_size,
ex_rate_limit=rate_limit
)
#
# List nodes
#
for node in driver.list_nodes():
print(node)
#
# Destroy node
#
identifier = 'nodesidentifier'
node, = [n for n in driver.list_nodes() if n.id == identifier]
driver.destroy_node(node)
#
# List images
#
for image in driver.list_images():
print(image)
#
# List key pairs
#
for key_pair in driver.list_key_pairs():
print(key_pair)
#
# Get key pair
#
id = 2 # ID of key pair
key_pair = driver.get_key_pair(id)
print(key_pair)
#
# Import key pair from string
#
name = 'example' # this param is unused
key = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8uuUq...'
key_pair = driver.import_key_pair_from_string(name, key)
#
# Import key pair from file
#
driver.import_key_pair_from_file('example', '~/.ssh/id_rsa.pub')
#
# Delete key pair
#
key_pair = driver.list_key_pairs()[0]
driver.delete_key_pair(key_pair)