mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
add GitHub Flavored Markdown to README
* This makes the example code easier to read, especially when perusing the docs on github
This commit is contained in:
parent
3c6bf2d552
commit
1bdf61a389
1 changed files with 36 additions and 26 deletions
62
README.md
62
README.md
|
@ -18,14 +18,16 @@ fog is the Ruby cloud services library, top to bottom:
|
||||||
Now type `fog` to try stuff, confident that fog will let you know what to do.
|
Now type `fog` to try stuff, confident that fog will let you know what to do.
|
||||||
Here is an example of wading through server creation for Amazon Elastic Compute Cloud:
|
Here is an example of wading through server creation for Amazon Elastic Compute Cloud:
|
||||||
|
|
||||||
>> server = Compute[:aws].servers.create
|
```ruby
|
||||||
ArgumentError: image_id is required for this operation
|
server = Compute[:aws].servers.create
|
||||||
|
# => ArgumentError: image_id is required for this operation
|
||||||
|
|
||||||
>> server = Compute[:aws].servers.create(:image_id => 'ami-5ee70037')
|
server = Compute[:aws].servers.create(:image_id => 'ami-5ee70037')
|
||||||
<Fog::AWS::EC2::Server [...]>
|
# => <Fog::AWS::EC2::Server [...]>
|
||||||
|
|
||||||
>> server.destroy # cleanup after yourself or regret it, trust me
|
server.destroy # cleanup after yourself or regret it, trust me
|
||||||
true
|
# => true
|
||||||
|
```
|
||||||
|
|
||||||
## Collections
|
## Collections
|
||||||
|
|
||||||
|
@ -33,8 +35,10 @@ A high level interface to each cloud is provided through collections, such as `i
|
||||||
You can see a list of available collections by calling `collections` on the connection object.
|
You can see a list of available collections by calling `collections` on the connection object.
|
||||||
You can try it out using the `fog` command:
|
You can try it out using the `fog` command:
|
||||||
|
|
||||||
>> Compute[:aws].collections
|
```ruby
|
||||||
[:addresses, :directories, ..., :volumes, :zones]
|
Compute[:aws].collections
|
||||||
|
# => [:addresses, :directories, ..., :volumes, :zones]
|
||||||
|
```
|
||||||
|
|
||||||
Some collections are available across multiple providers:
|
Some collections are available across multiple providers:
|
||||||
|
|
||||||
|
@ -51,21 +55,23 @@ Collections share basic CRUD type operations, such as:
|
||||||
|
|
||||||
As an example, we'll try initializing and persisting a Rackspace Cloud server:
|
As an example, we'll try initializing and persisting a Rackspace Cloud server:
|
||||||
|
|
||||||
require 'fog'
|
```ruby
|
||||||
|
require 'fog'
|
||||||
|
|
||||||
compute = Fog::Compute.new(
|
compute = Fog::Compute.new(
|
||||||
:provider => 'Rackspace',
|
:provider => 'Rackspace',
|
||||||
:rackspace_api_key => key,
|
:rackspace_api_key => key,
|
||||||
:rackspace_username => username
|
:rackspace_username => username
|
||||||
)
|
)
|
||||||
|
|
||||||
# boot a gentoo server (flavor 1 = 256, image 3 = gentoo 2008.0)
|
# boot a gentoo server (flavor 1 = 256, image 3 = gentoo 2008.0)
|
||||||
server = compute.servers.create(:flavor_id => 1, :image_id => 3, :name => 'my_server')
|
server = compute.servers.create(:flavor_id => 1, :image_id => 3, :name => 'my_server')
|
||||||
server.wait_for { ready? } # give server time to boot
|
server.wait_for { ready? } # give server time to boot
|
||||||
|
|
||||||
# DO STUFF
|
# DO STUFF
|
||||||
|
|
||||||
server.destroy # cleanup after yourself or regret it, trust me
|
server.destroy # cleanup after yourself or regret it, trust me
|
||||||
|
```
|
||||||
|
|
||||||
## Models
|
## Models
|
||||||
|
|
||||||
|
@ -81,7 +87,9 @@ As you might imagine, testing code using Fog can be slow and expensive, constant
|
||||||
Mocking allows skipping this overhead by providing an in memory representation resources as you make requests.
|
Mocking allows skipping this overhead by providing an in memory representation resources as you make requests.
|
||||||
Enabling mocking easy to use, before you run other commands, simply run:
|
Enabling mocking easy to use, before you run other commands, simply run:
|
||||||
|
|
||||||
Fog.mock!
|
```ruby
|
||||||
|
Fog.mock!
|
||||||
|
```
|
||||||
|
|
||||||
Then proceed as usual, if you run into unimplemented mocks, fog will raise an error and as always contributions are welcome!
|
Then proceed as usual, if you run into unimplemented mocks, fog will raise an error and as always contributions are welcome!
|
||||||
|
|
||||||
|
@ -103,13 +111,15 @@ It will return an [excon](http://github.com/geemus/excon) response, which has `b
|
||||||
Play around and use the console to explore or check out [fog.io](http://fog.io) for more details and examples.
|
Play around and use the console to explore or check out [fog.io](http://fog.io) for more details and examples.
|
||||||
Once you are ready to start scripting fog, here is a quick hint on how to make connections without the command line thing to help you.
|
Once you are ready to start scripting fog, here is a quick hint on how to make connections without the command line thing to help you.
|
||||||
|
|
||||||
# create a compute connection
|
```ruby
|
||||||
compute = Fog::Compute.new(:provider => 'AWS', :aws_access_key_id => ACCESS_KEY_ID, :aws_secret_access_key => SECRET_ACCESS_KEY)
|
# create a compute connection
|
||||||
# compute operations go here
|
compute = Fog::Compute.new(:provider => 'AWS', :aws_access_key_id => ACCESS_KEY_ID, :aws_secret_access_key => SECRET_ACCESS_KEY)
|
||||||
|
# compute operations go here
|
||||||
|
|
||||||
# create a storage connection
|
# create a storage connection
|
||||||
storage = Fog::Storage.new(:provider => 'AWS', :aws_access_key_id => ACCESS_KEY_ID, :aws_secret_access_key => SECRET_ACCESS_KEY)
|
storage = Fog::Storage.new(:provider => 'AWS', :aws_access_key_id => ACCESS_KEY_ID, :aws_secret_access_key => SECRET_ACCESS_KEY)
|
||||||
# storage operations go here
|
# storage operations go here
|
||||||
|
```
|
||||||
|
|
||||||
geemus says: "That should give you everything you need to get started, but let me know if there is anything I can do to help!"
|
geemus says: "That should give you everything you need to get started, but let me know if there is anything I can do to help!"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue