blob: aa2197972abf3ce42212df564b01a6c2aa4d07e1 [file]
from pprint import pprint
from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver
cls = get_driver(Provider.EXOSCALE)
driver = cls("api key", "api secret key")
# Allocate a public IP
# This returns a CloudStackAddress object
driver.ex_allocate_public_ip()
# You can now see this address when listing public IPs
ip = driver.ex_list_public_ips()[0]
node = driver.list_nodes()[0]
# Create a port forwarding rule for the node
# This returns a CloudStackPortForwardingRule object
rule = driver.ex_create_port_forwarding_rule(ip, 22, 22, "TCP", node)
pprint(rule)
# The node now has a public IP and a rule associated to it
print(node)
print(node.extra)