def _connect(cred): try: client = skiff.rig(cred['digitalocean']['token']) except Exception as e: logger.error("Error connecting to digitalocean: %s" % (e)) exit(1) return client
def dropletname_to_ip(name): #Authenticate with Digital Ocean s = skiff.rig('3461da98023e93f0a40e1058092314fbbd5cf057ceb1f1ae1e4d2d6d0d6e2209'); for droplet in s.Droplet.all(): if droplet.name == name: return droplet.v4[1].ip_address;
def __init__(self, country, mode): self.country = country self.mode = mode self.do_token = modes[self.mode]['token'] self.master_node = modes[self.mode]['master'] self.regions = cycle(['nyc1', 'nyc2', 'nyc3']) self.image ='ubuntu-14-04-x64' self.skiffer = skiff.rig(self.do_token) self.count_drops = 0 self.backup = False
def _connect(domain, cred): try: client = skiff.rig(cred["digitalocean"]["token"]) except Exception as e: logger.error("Error connecting to digitalocean: %s" % (e)) exit(1) try: dom = client.Domain.get(domain) except ValueError as e: logger.error(" Error while locating DNS [%s]: %s" % (e, domain)) return None return dom
def create_revelator(name,size,version): #Authenticate s = skiff.rig('3461da98023e93f0a40e1058092314fbbd5cf057ceb1f1ae1e4d2d6d0d6e2209'); #Try to find the image ID for the version specified images= s.Image.all(); for image in images: if image.name == 'Revelator v'+str(version): image_id = image.id; break; #Create the droplet s.Droplet.create(name='rev.'+name,region='ams2',size=size,image=image_id,private_networking=True,ssh_keys=s.Key.all());
def __init__(self, token): self.token = token self.s = skiff.rig(token)
import skiff from time import sleep from info import api_key s = skiff.rig(api_key) my_droplet = s.Droplet.create({ "name": "Viking", "region": "ams2", "size": "512mb", "image": "ubuntu-14-04-x64", "ssh_keys": [s.Key.get('my public key')], "backups": False, "ipv6": False, }) print("Created, Waiting...") sleep(2) my_droplet.wait_till_done(5) my_droplet = my_droplet.reload() print my_droplet.networks["v4"][0]["ip_address"]
def _getClient(self): # get digitalocean connection return skiff.rig(self.scalator.config.provider_token)
import skiff import os import pytest import time token = os.getenv("DO_TOKEN") assert token is not None s = skiff.rig(token) assert s is not None # I just want to test stuff, don't judge this code # pytest assures me that this droplet function is called only once, but I don't believe it; this test suite # takes forever @pytest.fixture def droplet(request): # for simplicity, this requires that you already have an ssh key uploaded # mostly because I don't want any emails my_droplet = s.Droplet.create(name="skiff.test", region="nyc1", size="512mb", image=5141286, ssh_keys=[s.Key.all()[0]]) my_droplet.wait_till_done() my_droplet = my_droplet.reload() def fin(): my_droplet.destroy() my_droplet.wait_till_done() # assert that it's deleted with pytest.raises(ValueError): s.Droplet.get(my_droplet.id)
import skiff # Token thebig = skiff.rig("9cc0208709c43e877b89986a585df7eb2c4050fafc07469680812e3706608a40")
import skiff # Token thebig = skiff.rig( "9cc0208709c43e877b89986a585df7eb2c4050fafc07469680812e3706608a40")