vpn.email.client
Version:
Vpn.Email client IMAP core
103 lines (102 loc) • 3.14 kB
TypeScript
declare module "nodejs-wrapper-digitalocean-v2-api" {
interface IPages {
last:string;
next:string;
}
interface ILink {
pages:IPages
}
interface iaccount {
droplet_limit:number;
email:string;
uuid:string;
email_verified:boolean;
status:string;
status_message:string;
}
interface IAccount {
account:iaccount;
}
interface iMeta {
total:number;
}
interface IDomain extends Iresult{
domains:Array<string>;
}
interface IImage {
id:number;
name:string;
distribution:string;
slug:string;
public:boolean;
regions:Array<string>;
created_at:Date;
min_disk_size:number;
type:string;
}
interface IDroplet {
id:number;
name:string;
memory:number;
vcpus:number;
disk:number;
locked:boolean;
status:string;
kernel:string;
created_at:Date;
features:Array<string>;
backup_ids:Array<Object>;
next_backup_window:any;
snapshot_ids:Array<any>;
image:IImage;
size:Array<Object>;
size_slug:string;
networks:Array<any>;
region:Array<Object>;
}
interface Iresult {
links:ILink;
meta:iMeta;
}
interface IDropletsData extends Iresult{
droplets:Array<IDroplet>;
}
interface IRegion {
name:string;
slug:string;
sizes:Array<string>;
features:Array<string>;
available:boolean;
}
interface IRegions extends Iresult{
regions:Array<IRegion>;
}
interface IImages extends Iresult {
images:IImage;
}
function connect(ApiKey:string, cb:(err, data:IAccount)=>void):void;
function getUserInfo (cb:(err, data:IAccount)=>void):void;
function getDomains (cb:(err, data:IDomain)=>void):void;
function getDroplets (cb:(err, data:IDropletsData)=>void):void;
/**
* Creates a new Droplet
*
* @param {string} name Required, if set to a managed domain name, a PTR record will be configured
* @param {string} region Required, unique slug identifier for region to deploy in (nyc3)
* @param {string} size Required, unique slug identifier for disk size (512mb)
* @param {string} image Required, unique image ID or the unique slug identifier (ubuntu-14-04-x64)
* @param {Array} ssh_keys Contains IDs or fingerprints of SSH keys embedded upon creation
* @param {boolean} backups Indicates whether automated backups should be enabled
* @param {boolean} ipv6 Indicates whether IPv6 should be enabled
* @param {string} userData Currently only available in regions with metadata features
* @param {boolean} privateNetworking Indicates whether private networking should be enabled
* @param {Function} callback Complete
*/
function setDroplet (mame:string, region:string, size:string, image:string, ssh_keys:Array<string>, backups:boolean,
ipv6:boolean, userData:string, privateNetworking:boolean, cb:(err, data)=>void):void;
function getAllSshKey (cb:(err, data)=>void):void;
function getAllRegions (cb:(err, data:IRegions)=>void):void;
function getAllDropletNeighbors (cb:(err, data)=>void):void;
function getAllImages (cb:(err, data:IImages)=>void):void;
function getAllImages_next (next:string, cb:(err, data:IImages)=>void):void;
}