update README
This commit is contained in:
parent
4b8dff3cf7
commit
7519f5f823
79
README.rdoc
79
README.rdoc
|
@ -16,38 +16,77 @@ fog helps you interact with cloud services. fog is a work in progress.
|
||||||
* Rackspace Files (no models yet, just getting started on requests)
|
* Rackspace Files (no models yet, just getting started on requests)
|
||||||
* Rackspace Servers (some requests, server model, just getting started)
|
* Rackspace Servers (some requests, server model, just getting started)
|
||||||
|
|
||||||
== Synopsis
|
== Servers
|
||||||
|
|
||||||
|
Lets boot up a server on EC2
|
||||||
|
|
||||||
require 'fog'
|
require 'fog'
|
||||||
|
|
||||||
# turn on mocking (if desired)
|
# initialize a connection to Amazon Elastic Compute Cloud
|
||||||
Fog.mock!
|
connection = Fog::AWS::EC2.new(
|
||||||
|
|
||||||
# initialize a connection
|
|
||||||
s3 = Fog::AWS::S3.new(
|
|
||||||
:aws_access_key_id => id,
|
:aws_access_key_id => id,
|
||||||
:aws_secret_access_key => key
|
:aws_secret_access_key => key
|
||||||
)
|
)
|
||||||
|
|
||||||
# low level requests
|
# boot a gentoo server
|
||||||
s3.put_bucket('bucketname')
|
server = connection.servers.new(:image_id => 'ami-5ee70037')
|
||||||
s3.put_object('bucketname', 'objectname', 'objectbody')
|
|
||||||
|
|
||||||
s3.get_bucket('bucketname')
|
# wait for it to be ready to do stuff
|
||||||
s3.get_object('bucketname', 'objectname')
|
server.wait_for { ready? }
|
||||||
|
|
||||||
s3.delete_object('bucketname', 'objectname')
|
# DO STUFF
|
||||||
s3.delete_bucket('bucketname')
|
|
||||||
|
|
||||||
# models
|
# shutdown the server
|
||||||
bucket = s3.buckets.create(:name => 'bucketname')
|
server.destroy
|
||||||
bucket.objects.create(:key => 'objectname', :body => 'objectbody')
|
|
||||||
|
|
||||||
bucket = s3.buckets.get('bucketname')
|
Now we will try again, but with Rackspace
|
||||||
object = bucket.objects.get('objectname')
|
|
||||||
|
|
||||||
object.destroy
|
# initialize a connection to Rackspace Servers
|
||||||
bucket.destroy
|
connection = Fog::Rackspace::Servers.new(
|
||||||
|
:rackspace_api_key => key,
|
||||||
|
:rackspace_username => username
|
||||||
|
)
|
||||||
|
|
||||||
|
# boot a gentoo server (flavor 1 = 256, image 3 = gentoo 2008.0)
|
||||||
|
server = connection.servers.new(:flavor_id => 1, :image_id => 3, :name => 'my_server')
|
||||||
|
|
||||||
|
# wait for it to be ready to do stuff
|
||||||
|
server.wait_for { ready? }
|
||||||
|
|
||||||
|
# DO STUFF
|
||||||
|
|
||||||
|
# shutdown the server
|
||||||
|
server.destroy
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
== Directories and Files
|
||||||
|
|
||||||
|
require 'fog'
|
||||||
|
|
||||||
|
# initialize a connection to Amazon Simple Storage Solution
|
||||||
|
connection = Fog::AWS::S3.new(
|
||||||
|
:aws_access_key_id => id,
|
||||||
|
:aws_secret_access_key => key
|
||||||
|
)
|
||||||
|
|
||||||
|
# create a directory
|
||||||
|
directory = connection.directory.create(:name => 'directoryname')
|
||||||
|
|
||||||
|
# create a new file in your directory
|
||||||
|
directory.files.create(:key => 'filename', :body => 'filebody')
|
||||||
|
|
||||||
|
# connect to your directory
|
||||||
|
directory = connection.directories.get('filename')
|
||||||
|
|
||||||
|
# get your file
|
||||||
|
file = directory.files.get('filename')
|
||||||
|
|
||||||
|
# delete the file
|
||||||
|
file.destroy
|
||||||
|
|
||||||
|
# delete the directory
|
||||||
|
directory.destroy
|
||||||
|
|
||||||
== Requirements
|
== Requirements
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue