npm install swifftswifft
======
An OpenStack Swift Client npm module and CLI.
js
import Swifft from 'swifft';// These are the default env vars used internally by swifft.
// Usage here is for demonstration purposes only.
let options = {
auth_url = process.env.OS_AUTH_URL,
tenant_id = process.env.OS_TENANT_ID,
tenant_name = process.env.OS_TENANT_NAME,
endpoint_type = process.env.OS_ENDPOINT_TYPE,
region = process.env.OS_REGION_NAME,
username = process.env.OS_USERNAME,
password = process.env.OS_PASSWORD
}
let account = Swifft.create(options);
// List containers
account.list((err, containers) => {
// Print all container names and size
for (let { name, bytes } of containers) {
console.log(
${name}: ${bytes});
} // List contents of first container.
let [ { name: first } ] = container;
account.container(first).list((err, objects) => {
for (let { name, bytes } of objects) {
console.log(
${name}: ${bytes});
}
});
});
`#### CLI
`bash
$ source ~/openrc.sh$ swifft list
[ { count: 1, bytes: 4, name: 'foo' },
{ count: 1, bytes: 4, name: 'bar' } ]
$ swift list foo
[ { hash: '',
last_modified: '',
bytes: 4,
name: 'foo2.txt',
content_type: 'text/plain' } ]
`
API
$3
#### create([options])
Returns an Account instance.$3
####
getMetadata(callback)
Retrieve metadata for the current account.####
updateMetadata(metadata, callback)
Set metadata for the current account.####
list([options], callback)
List containers for the current account.####
container(name)
Get the named container. Returns a Container instance.
$3
#### create([settings], callback)
Create the named container.####
getMetadata(callback)
Retrieve metadata for the current container.####
updateMetadata(metadata, callback)
Set metadata for the current container.####
list([options], callback)
List objects in the current container.####
delete(callback)
Delete the current container.####
object(name)
Get the named object. returns an Object instance.
$3
#### create([settings], callback)
Create the named Object.####
get(callback)
Get the contents and settings of the current object.####
getStream([range,] callback)
Get the contents as a readable stream and settings of the current object. See
Object Storage API Docs for valid Range values.####
getRange(range, callback)
Get the contents as a readable range and settings of the current object. See
Object Storage API Docs for valid Range values.####
getMetadata(callback)
Retrieve metadata for the current object.####
updateMetadata(metadata, callback)
Set metadata for the current object.####
copy(dest, callback)
Copy the current object to the provided destination: { container, object }.####
delete(callback)`