OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python3
/
dist-packages
/
digitalocean
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
03/17/2025 09:32:20 AM
rwxr-xr-x
📄
Account.py
904 bytes
12/17/2017 06:12:21 PM
rw-r--r--
📄
Action.py
2.03 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Certificate.py
2.94 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Domain.py
3.17 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Droplet.py
19.87 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Firewall.py
8.26 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
FloatingIP.py
3.02 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Image.py
2.8 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Kernel.py
328 bytes
12/17/2017 06:12:21 PM
rw-r--r--
📄
LoadBalancer.py
12.87 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Manager.py
11.62 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Metadata.py
1.3 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Record.py
3.92 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Region.py
386 bytes
12/17/2017 06:12:21 PM
rw-r--r--
📄
SSHKey.py
2.55 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Size.py
453 bytes
12/17/2017 06:12:21 PM
rw-r--r--
📄
Snapshot.py
1.17 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Tag.py
3.83 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
Volume.py
4.2 KB
12/17/2017 06:12:21 PM
rw-r--r--
📄
__init__.py
1.02 KB
12/17/2017 06:12:21 PM
rw-r--r--
📁
__pycache__
-
05/25/2021 01:14:28 PM
rwxr-xr-x
📄
baseapi.py
6.16 KB
12/17/2017 06:12:21 PM
rw-r--r--
Editing: FloatingIP.py
Close
# -*- coding: utf-8 -*- from .baseapi import BaseAPI, GET, POST, DELETE class FloatingIP(BaseAPI): def __init__(self, *args, **kwargs): self.ip = None self.droplet = [] self.region = [] super(FloatingIP, self).__init__(*args, **kwargs) @classmethod def get_object(cls, api_token, ip): """ Class method that will return a FloatingIP object by its IP. Args: api_token: str - token ip: str - floating ip address """ floating_ip = cls(token=api_token, ip=ip) floating_ip.load() return floating_ip def load(self): """ Load the FloatingIP object from DigitalOcean. Requires self.ip to be set. """ data = self.get_data('floating_ips/%s' % self.ip, type=GET) floating_ip = data['floating_ip'] # Setting the attribute values for attr in floating_ip.keys(): setattr(self, attr, floating_ip[attr]) return self def create(self, *args, **kwargs): """ Creates a FloatingIP and assigns it to a Droplet. Note: Every argument and parameter given to this method will be assigned to the object. Args: droplet_id: int - droplet id """ data = self.get_data('floating_ips/', type=POST, params={'droplet_id': self.droplet_id}) if data: self.ip = data['floating_ip']['ip'] self.region = data['floating_ip']['region'] return self def reserve(self, *args, **kwargs): """ Creates a FloatingIP in a region without assigning it to a specific Droplet. Note: Every argument and parameter given to this method will be assigned to the object. Args: region_slug: str - region's slug (e.g. 'nyc3') """ data = self.get_data('floating_ips/', type=POST, params={'region': self.region_slug}) if data: self.ip = data['floating_ip']['ip'] self.region = data['floating_ip']['region'] return self def destroy(self): """ Destroy the FloatingIP """ return self.get_data('floating_ips/%s/' % self.ip, type=DELETE) def assign(self, droplet_id): """ Assign a FloatingIP to a Droplet. Args: droplet_id: int - droplet id """ return self.get_data( "floating_ips/%s/actions/" % self.ip, type=POST, params={"type": "assign", "droplet_id": droplet_id} ) def unassign(self): """ Unassign a FloatingIP. """ return self.get_data( "floating_ips/%s/actions/" % self.ip, type=POST, params={"type": "unassign"} ) def __str__(self): return "%s" % (self.ip)