Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add examples for plugin usage #144

Merged
merged 1 commit into from
Sep 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions examples/compute/ali-eci.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
const nodeCloud = require('../../lib/');
const optionsProvider = {
overrideProviders: false,
};
const ncProviders = nodeCloud.getProviders(optionsProvider);

// get containerInstance object for AliCloud
const containers = ncProviders.alicloud.containerInstance();

async function createContainerGroup() {
const instanceParams = {
regionId: 'cn-hangzhou',
containerGroupName: 'test-group-1',
container: [
{
command: ['/bin/sh', '-c', 'echo 1'],
cpu: 1,
memory: 512,
image: 'ubuntu',
name: 'test-container-1',
},
],
};
try {
const res = await containers.create(instanceParams);
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function listContainerGroup() {
try {
const res = await containers.list({ regionId: 'cn-hangzhou' });
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function deleteContainerGroup() {
try {
const res = await containers.delete({
regionId: 'cn-hangzhou',
containerGroupId: 'eci-bp1ikor0s871wa5pahke',
});
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}
58 changes: 58 additions & 0 deletions examples/compute/ali-ecs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
const nodeCloud = require('../../lib/');
const optionsProvider = {
overrideProviders: false,
};
const ncProviders = nodeCloud.getProviders(optionsProvider);

// get compute object for AliCloud
const compute = ncProviders.alicloud.computeInstance();

async function createInstance() {
const instanceParams = {
regionId: 'cn-hongkong',
imageId: 'ubuntu_20_04_x64_20G_alibase_20220215.vhd',
instanceType: 'ecs.n4.large',
};
try {
const res = await compute.create(instanceParams);
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function listInstances() {
try {
const res = await compute.list({ regionId: 'cn-hongkong' });
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function destroyInstance() {
try {
const res = await compute.destroy({ instanceId: 'i-2zmq8q8' });
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function describeInstanceTypes() {
try {
const res = await compute.listInstanceTypes({ maxResults: 10 });
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function describeImageTypes() {
try {
const res = await compute.describeImages({ regionId: 'cn-hongkong' });
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}
55 changes: 55 additions & 0 deletions examples/database/ali-nosql.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
const nodeCloud = require('../../lib/');
const optionsProvider = {
overrideProviders: false,
};
const ncProviders = nodeCloud.getProviders(optionsProvider);

// get containerInstance object for AliCloud
const nosql = ncProviders.alicloud.nosql();

async function createInstance() {
const instanceParams = {
regionId: 'ap-southeast-1',
engine: 'MongoDB',
engineVersion: '4.2',
DBInstanceClass: 'dds.mongo.standard',
DBInstanceStorage: 10, // GB
};
try {
const res = await nosql.createInstance(instanceParams);
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function deleteInstance() {
try {
const res = await nosql.deleteInstance({
DBInstanceId: 'dds-gs58537d0d9724c4',
});
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function listInstances() {
try {
const res = await nosql.listInstances({});
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function describeInstance() {
try {
const res = await nosql.describeInstance({
DBInstanceId: 'dds-gs5581f86ac37b14',
});
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}
48 changes: 48 additions & 0 deletions examples/database/ali-rdbms.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
const nodeCloud = require('../../lib/');
const optionsProvider = {
overrideProviders: false,
};
const ncProviders = nodeCloud.getProviders(optionsProvider);

// get containerInstance object for AliCloud
const rdbms = ncProviders.alicloud.rdbms();

async function createInstance() {
const instanceParams = {
DBInstanceClass: 'rds.mysql.t1.small',
regionId: 'ap-southeast-1',
engine: 'MySQL',
engineVersion: '5.6',
DBInstanceStorage: 10,
DBInstanceNetType: 'Intranet',
securityIPList: '0.0.0.0/0',
payType: 'Postpaid',
DBInstanceStorageType: 'local_ssd',
};
try {
const res = await rdbms.createInstance(instanceParams);
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function deleteInstance() {
try {
const res = await rdbms.deleteInstance({
DBInstanceId: 'rm-1udg1v5w25c8gmpx3',
});
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function listInstances() {
try {
const res = await rdbms.listInstances({ regionId: 'ap-southeast-1' });
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}
53 changes: 53 additions & 0 deletions examples/network/ali-slb.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
const nodeCloud = require('../../lib/');
const optionsProvider = {
overrideProviders: false,
};
const ncProviders = nodeCloud.getProviders(optionsProvider);

// get containerInstance object for AliCloud
const loadbalancer = ncProviders.alicloud.loadbalancer();

async function createInstance() {
try {
const res = await loadbalancer.create(
'cn-hangzhou',
'test-slb',
'slb.s1.small',
{}
);
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function deleteInstance() {
try {
const res = await loadbalancer.delete('lb-1udjouk9sqkq5lvke5cd6', {});
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function listInstances() {
try {
const res = await loadbalancer.list('cn-hangzhou', {});
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function describeInstances() {
try {
const res = await loadbalancer.describe(
'cn-hangzhou',
'lb-1udjouk9sqkq5lvke5cd6',
{}
);
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}
83 changes: 83 additions & 0 deletions examples/storage/ali-oss.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
const nodeCloud = require('../../lib/');
const path = require('path');
const optionsProvider = {
overrideProviders: false,
};
const ncProviders = nodeCloud.getProviders(optionsProvider);

// get bucketStorage object for AliCloud
const bucketStorage = ncProviders.alicloud.bucketStorage();

async function createBucket() {
try {
const res = await bucketStorage.create('unique-test-bucket-1234', {
acl: 'public-read',
dataRedundancyType: 'LRS',
storageClass: 'Standard',
timeout: 30000,
});
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function listBuckets() {
try {
const res = await bucketStorage.listBuckets({});
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function listBucketObjects() {
try {
const res = await bucketStorage.listBucketObjects(
'unique-test-bucket-1234',
{
'max-keys': 100,
}
);
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}

async function uploadLocalObject() {
try {
const headers = {
// Specify the caching behavior of the web page when the object is downloaded.
'Cache-Control': 'no-cache',
// Specify the name of the object when the object is downloaded.
'Content-Disposition': 'oss_download.txt',
// Specify the content encoding format of the object when the object is downloaded.
'Content-Encoding': 'UTF-8',
// Specify the expiration time.
Expires: 'Wed, 08 Jul 2022 16:57:01 GMT',
// Specify the storage class of the object.
'x-oss-storage-class': 'Standard',
// Specify the access control list (ACL) of the object.
'x-oss-object-acl': 'private',
// Set tags for the object. You can set multiple tags at a time.
'x-oss-tagging': 'Tag1=1&Tag2=2',
// Specify whether the CopyObject operation overwrites the object with the same name. In this example, this parameter is set to true, which indicates that the object with the same name cannot be overwritten.
'x-oss-forbid-overwrite': 'true',
};

const res = await bucketStorage.uploadLocalObject(
'unique-test-bucket-1234',
'test.txt',
path.normalize('absolute-file-path'),
{
headers, //Optional, Specify the headers of the object on upload
mime: 'text/plain', //Optional, Specify the content type on upload
timeout: 30000, //Optional, Specify the timeout of the request on upload
}
);
console.log('All done! ', res);
} catch (err) {
console.log(`Oops something happened ${err}`);
}
}