Home Reference Source
import {CloudlinkApi} from 's9s-cloudlink-api/src/CloudlinkApi.js'
public class | source

CloudlinkApi

CloudlinkApi class

Static Member Summary

Static Public Members
public static get

A list of supported cloud (Cloud providers) codes

Constructor Summary

Public Constructor
public

constructor(config: {})

CloudlinkApi constructor

Member Summary

Public Members
public

config: *

Method Summary

Public Methods
public

addInstance(names: Array, region: string, image: string, disk: number, size: string, sshKeys: string, subnet: number | string, securityGroups: Array, vpc: number | string, tags: Array, sshUser: string): Promise

Adds a new instance (Virtual machine)

public

Creates a new internet gateway

public

addKey(name: string, publicKey: string): Promise

Registers a new public key on cloud provider

public

addRoute(routesTableId: *, cidr: *, gatewayId: *): Promise

Adds a new route to a routes table and links it to an Internet gateway

public

addSecurityGroup(vpcId: *, name: *, description: *): Promise

Creates a new security group under a vpcId

public

addSecurityGroupInboundRules(groupId: *, rules: *): Promise

Creates a set of inbound security group rules

public

addSecurityGroupOutboundRules(groupId: *, rules: *): Promise

Creates a set of outbound security group rules

public

addSubNet(cidr: *, vpcId: *): Promise

Creates a new subnet within a VPC

public

addVpc(name: *, cidr: *, tenancy: *): Promise

Creates a new VPC (Virtual private network)

public

addVpcAttribute(vpcId: *, attributes: *): Promise

Sets/adds vpc attribute

public

attachInternetGateway(vpcId: *, gatewayId: *): Promise

Attaches internet gateway to VPC

public

deleteInstance(instanceIds: *): Promise

Deletes an instance/list of instances

public

Deletes a key from cloud provider

public

Returns the status of an instance (Virtual machine)

public

getVpcAttribute(vpcId: *, attribute: *): Promise

Returns vpc attribute value

public

listDistributions(filters: {}): Promise

Returns a list of distributions available on cloud provider

public

Returns a list of instances (Virtual machines)

public

Returns a list of SSH keys registered on cloud provider

public

Returns a list of regions available on cloud provider

public

listRouteTables(filters: *): Promise

Lists all routes tables, may apply filters

public

Returns a list of sizes available on cloud provider

public

listSubNets(ids: *, filters: *): Promise

Returns a list of subnets

public

Returns a list of volumes (Virtual/disks)

public

listVpcs(filters: {}, ids: Array): Promise

Returns a list of VPCs (Virtual private network)

public

setSubNetAttribute(subNetId: *, assignPublicIp: *): Promise

Sets "assignPublicIp" property for a subNet

Static Public Members

public static get supportedClouds: string[]: * source

A list of supported cloud (Cloud providers) codes

Return:

string[]

Public Constructors

public constructor(config: {}) source

CloudlinkApi constructor

Params:

NameTypeAttributeDescription
config {}

Configurations object (must include "auth" and "server" properties)

Throw:

CloudlinkApiError

Public Members

public config: * source

Public Methods

public addInstance(names: Array, region: string, image: string, disk: number, size: string, sshKeys: string, subnet: number | string, securityGroups: Array, vpc: number | string, tags: Array, sshUser: string): Promise source

Adds a new instance (Virtual machine)

Params:

NameTypeAttributeDescription
names Array

New instance/s names

region string

Region to create the instance/s at

image string

Image/ami to create the instance/s from

disk number

Disk size in GB

size string

Diskspace size

sshKeys string

SSH key to deploy to the new instance/s

subnet number | string
  • optional

Subnet id

securityGroups Array
  • optional

List of security groups ids

vpc number | string
  • optional

Vpc id/address to provision to

tags Array
  • optional

Tags list

sshUser string
  • optional

SSH user

Return:

Promise

public addInternetGateway(): Promise source

Creates a new internet gateway

Return:

Promise

public addKey(name: string, publicKey: string): Promise source

Registers a new public key on cloud provider

Params:

NameTypeAttributeDescription
name string

Name of the new key

publicKey string

Public key contents

Return:

Promise

public addRoute(routesTableId: *, cidr: *, gatewayId: *): Promise source

Adds a new route to a routes table and links it to an Internet gateway

Params:

NameTypeAttributeDescription
routesTableId *
cidr *
gatewayId *

Return:

Promise

public addSecurityGroup(vpcId: *, name: *, description: *): Promise source

Creates a new security group under a vpcId

Params:

NameTypeAttributeDescription
vpcId *
name *
description *

Return:

Promise

public addSecurityGroupInboundRules(groupId: *, rules: *): Promise source

Creates a set of inbound security group rules

Params:

NameTypeAttributeDescription
groupId *
rules *

Return:

Promise

public addSecurityGroupOutboundRules(groupId: *, rules: *): Promise source

Creates a set of outbound security group rules

Params:

NameTypeAttributeDescription
groupId *
rules *

Return:

Promise

public addSubNet(cidr: *, vpcId: *): Promise source

Creates a new subnet within a VPC

Params:

NameTypeAttributeDescription
cidr *

CIDR block, network range

vpcId *

VPC id

Return:

Promise

public addVpc(name: *, cidr: *, tenancy: *): Promise source

Creates a new VPC (Virtual private network)

Params:

NameTypeAttributeDescription
name *

Vpc name

cidr *

CIDR block, network range

tenancy *

Tenancy default/dedicated/host

Return:

Promise

public addVpcAttribute(vpcId: *, attributes: *): Promise source

Sets/adds vpc attribute

Params:

NameTypeAttributeDescription
vpcId *
attributes *

Return:

Promise

public attachInternetGateway(vpcId: *, gatewayId: *): Promise source

Attaches internet gateway to VPC

Params:

NameTypeAttributeDescription
vpcId *
gatewayId *

Return:

Promise

public deleteInstance(instanceIds: *): Promise source

Deletes an instance/list of instances

Params:

NameTypeAttributeDescription
instanceIds *

Return:

Promise

public deleteKey(id: string | number): Promise source

Deletes a key from cloud provider

Params:

NameTypeAttributeDescription
id string | number

Key name/id

Return:

Promise

public getInstanceStatus(instanceId: string | number): Promise source

Returns the status of an instance (Virtual machine)

Params:

NameTypeAttributeDescription
instanceId string | number

The id of an instance

Return:

Promise

public getVpcAttribute(vpcId: *, attribute: *): Promise source

Returns vpc attribute value

Params:

NameTypeAttributeDescription
vpcId *
attribute *

Return:

Promise

public listDistributions(filters: {}): Promise source

Returns a list of distributions available on cloud provider

Params:

NameTypeAttributeDescription
filters {}

Filters object

Return:

Promise

public listInstances(ids: Array): Promise source

Returns a list of instances (Virtual machines)

Params:

NameTypeAttributeDescription
ids Array
  • optional

Return:

Promise

public listKeys(): Promise source

Returns a list of SSH keys registered on cloud provider

Return:

Promise

public listRegions(): Promise source

Returns a list of regions available on cloud provider

Return:

Promise

public listRouteTables(filters: *): Promise source

Lists all routes tables, may apply filters

Params:

NameTypeAttributeDescription
filters *

Return:

Promise

public listSizes(): Promise source

Returns a list of sizes available on cloud provider

Return:

Promise

public listSubNets(ids: *, filters: *): Promise source

Returns a list of subnets

Params:

NameTypeAttributeDescription
ids *
filters *

Return:

Promise

public listVolumes(): Promise source

Returns a list of volumes (Virtual/disks)

Return:

Promise

public listVpcs(filters: {}, ids: Array): Promise source

Returns a list of VPCs (Virtual private network)

Params:

NameTypeAttributeDescription
filters {}

Filters object

ids Array

Ids list

Return:

Promise

public setSubNetAttribute(subNetId: *, assignPublicIp: *): Promise source

Sets "assignPublicIp" property for a subNet

Params:

NameTypeAttributeDescription
subNetId *
assignPublicIp *

Return:

Promise