Skip to content

christian-hawk/pydoautomator

Repository files navigation

pydoautomator

Downloads codecov DeepSource Actions Status Python Versions

The Digital Ocean python automation lib

Install

pip install pydoautomator

Simple as that

from pydoautomator import Automator, Droplet
digital_ocean_token = 'my-digital-ocean-api-token'

aut = Automator(digital_ocean_token)

droplet_data = {
    "name" : "t1.techno24x7.com",
    "region" : "nyc1",
    "size" : "s-8vcpu-16gb",
    "image" : 68259296, # snapshot id
    "ssh_keys" : [27410347, 27608055, 27590881],
    "private_networking" : True,
    "vpc_uuid" : "47e5c00a-2b23-4dac-bed4-0e44659941f3",
    "monitoring" : True
    "tags" : ["tests"]
}

droplet = Droplet(**droplet_data)

aut.create_droplet_from_snapshot(droplet)

Assign floating ip to droplet

droplet_id = 152412424
floating_ip = '164.90.252.72'
action_status = aut.assign_floating_ip_to_droplet(floating_ip, droplet_id)

if action_status == 'completed':
    print('floating_ip assigned to droplet!')

Create droplet and assign floating ip as soon as droplet created

digital_ocean_token = 'my-super-cool-digital-ocean-api-token'

aut = Automator(digital_ocean_token)

droplet_data = {
    "name": "t1.techno24x7.com",
    "region": "nyc1",
    "size": "s-8vcpu-16gb",
    "image": 70649304, # snapshot id
    "ssh_keys": [27410347, 27608055, 27590881],
    "private_networking": True,
    "vpc_uuid": "47e5c00a-2b23-4dac-bed4-0e44659941f3",
    "monitoring": True
}

droplet = Droplet(**droplet_data)

droplet_id = aut.create_droplet_from_snapshot(droplet)


floating_ip = '164.90.252.72'
action_status = aut.assign_floating_ip_to_droplet(floating_ip, droplet_id)

if action_status == 'completed':
    print('floating_ip assigned to droplet!')

Shutdown / turnoff droplet

droplet_id = 123456
aut.turnoff_droplet(droplet_id)

Destroy droplet by id

droplet_id = 123456
aut.destroy_droplet(droplet_id)

Get all droplets

droplets_list = aut.get_all_droplets(droplet_id)