DefinitelyTyped/types/pkgcloud/pkgcloud-tests.ts
Adam Smith 0f4ef4d56b Add Openstack to pkgcloud's storage providers (#36191)
* Add Openstack to pkgcloud's storage providers

* Add Openstack createClient test
2019-06-27 11:08:10 -07:00

83 lines
1.6 KiB
TypeScript

import { createReadStream, createWriteStream } from "fs";
import * as pkgcloud from "pkgcloud";
/**
* Storage
*/
// Amazon
pkgcloud.storage.createClient({
provider: 'amazon',
keyId: 'ABDEFGHI',
key: 'AABDEF==',
});
// Azure
pkgcloud.storage.createClient({
provider: 'azure',
storageAccount: 'abcdefg',
storageAccessKey: 'AABDEF==',
});
/**
* Google
* See https://github.com/pkgcloud/pkgcloud/blob/master/docs/providers/google.md#using-storage
*/
pkgcloud.storage.createClient({
provider: 'google',
keyFilename: 'path/to/keyFile.json',
projectId: 'projectId'
});
// Openstack
pkgcloud.storage.createClient({
provider: 'openstack',
authUrl: 'http://example.com',
username: 'username',
password: 'password'
});
// Upload a File
{
const client = pkgcloud.storage.createClient({
provider: 'amazon'
});
const readStream = createReadStream('a-file.txt');
const writeStream = client.upload({
container: 'a-container',
remote: 'remote-file-name.txt'
});
writeStream.on('error', (err: pkgcloud.ClientError) => {});
writeStream.on('success', (file: pkgcloud.storage.File) => {});
readStream.pipe(writeStream);
}
// Download a File
{
const client = pkgcloud.storage.createClient({
provider: 'amazon'
});
const readStream = client.download({
container: 'a-container',
remote: 'remote-file-name.txt'
});
readStream.pipe(createWriteStream('a-file.txt'));
}
// Logs
{
const client = pkgcloud.storage.createClient({
provider: 'amazon'
});
client.on('log::*', (message, object) => {
console.log(message);
if (object) {
console.dir(object);
}
});
}