Ruby client for Blobstores
Copyright (c) 2009-2013 VMware, Inc.
Lets BOSH access multiple blobstores using a unified API.
Usage
bin/blobstore_client_console [<options>]
-p, --provider PROVIDER Bosh Blobstore provider
-c, --config FILE Bosh Blobstore configuration file
Console
To explore the client API for accessing a blobstore, try creating and using a local blobstore:
$ gem install blobstore_client
$ blobstore_client_console -p local -c config/local.yml.example
=> Welcome to BOSH blobstore client console
You can use 'bsc' to access blobstore client methods
> bsc.create("this is a test blob")
=> "ef00746b-21ec-4473-a888-bf257cb7ea21"
> bsc.get("ef00746b-21ec-4473-a888-bf257cb7ea21")
=> "this is a test blob"
> bsc.exists?("ef00746b-21ec-4473-a888-bf257cb7ea21")
=> true
> Dir['/tmp/local_blobstore/**']
=> ["/tmp/local_blobstore/ef00746b-21ec-4473-a888-bf257cb7ea21"]
> bsc.delete("ef00746b-21ec-4473-a888-bf257cb7ea21")
=> true
Configuration
These options are passed to the Bosh Blobstore client when it is instantiated.
Local
These are the options for the Blobstore client when provider is local:
blobstore_path(required) Path for the blobstore
Simple
These are the options for the Blobstore client when provider is simple:
endpoint(required) Blobstore endpointuser(optional) Blobstore Userpassword(optional) Blobstore Passwordbucket(optional, by defaultresources) Name of the bucket
Amazon S3
These are the options for the Blobstore client when provider is s3:
bucket_name(required) Name of the S3 bucketencryption_key(optional) Encryption_key that is applied before the object is sent to S3access_key_id(optional, if not present, the blobstore client operates in read only mode) S3 Access Keysecret_access_key(optional, if not present, the blobstore client operates in read only mode) S3 Secret Access Key
Atmos
These are the options for the Blobstore client when provider is atmos:
url(required) Atmos URLuid(required) Atmos UIDsecret(required) Atmos password
OpenStack Swift provider
These are the options for the Blobstore client when provider is swift:
container_name(required) Name of the containerswift_provider(required) OpenStack Swift provider (supported:hp,openstackandrackspace)
HP Object Storage
These are the options for the Blobstore client when swift_provider is hp:
hp_access_key(required) HP Object Storage Access Keyhp_secret_key(required) HP Object Storage Secret Keyhp_tenant_id(required) HP Object Storage Project IDhp_avl_zone(required) HP Object Storage Availability Zone (region-a.geo-1orregion-b.geo-1)
OpenStack Object Storage
These are the options for the Blobstore client when swift_provider is openstack:
openstack_auth_url(required) URL of the OpenStack Identity endpoint to connect toopenstack_username(required) OpenStack user nameopenstack_api_key(required) OpenStack API keyopenstack_tenant(required) OpenStack tenant nameopenstack_region(optional) OpenStack region
Rackspace Cloud Files
These are the options for the Blobstore client when swift_provider is rackspace:
rackspace_username(required) Rackspace Cloud Files Usernamerackspace_api_key(required) Rackspace Cloud Files API Keyrackspace_region(optional) Rackspace Cloud Files Region (dfworord)