https://github.com/github/fog-aws
Module for the 'fog' gem to support Amazon Web Services http://aws.amazon.com/
https://github.com/github/fog-aws
Last synced: 8 months ago
JSON representation
Module for the 'fog' gem to support Amazon Web Services http://aws.amazon.com/
- Host: GitHub
- URL: https://github.com/github/fog-aws
- Owner: github
- License: mit
- Archived: true
- Fork: true (fog/fog-aws)
- Created: 2017-04-26T17:33:07.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-26T17:46:17.000Z (about 9 years ago)
- Last Synced: 2024-09-30T00:23:39.101Z (over 1 year ago)
- Language: Ruby
- Homepage:
- Size: 1.61 MB
- Stars: 5
- Watchers: 2
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Fog::Aws

[](https://travis-ci.org/fog/fog-aws)
[](https://gemnasium.com/fog/fog-aws)
[](https://codeclimate.com/github/fog/fog-aws)
[](https://codeclimate.com/github/fog/fog-aws)
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'fog-aws'
```
And then execute:
$ bundle
Or install it yourself as:
$ gem install fog-aws
## Usage
Before you can use fog-aws, you must require it in your application:
```ruby
require 'fog/aws'
```
Since it's a bad practice to have your credentials in source code, you should load them from default fog configuration file: ```~/.fog```. This file could look like this:
```
default:
aws_access_key_id:
aws_secret_access_key:
```
### Connecting to EC2 service
```ruby
ec2 = Fog::Compute.new :provider => 'AWS', :region => 'us-west-2'
```
You can review all the requests available with this service using ```#requests``` method:
```ruby
ec2.requests # => [:allocate_address, :assign_private_ip_addresses, :associate_address, ...]
```
### Launch an EC2 on-demand instance:
```ruby
response = ec2.run_instances(
"ami-23ebb513",
1,
1,
"InstanceType" => "t1.micro",
"SecurityGroup" => "ssh",
"KeyName" => "miguel"
)
instance_id = response.body["instancesSet"].first["instanceId"] # => "i-02db5af4"
instance = ec2.servers.get(instance_id)
instance.wait_for { ready? }
puts instance.public_ip_address # => "356.300.501.20"
```
### Terminate an EC2 instance:
```ruby
instance = ec2.servers.get("i-02db5af4")
instance.destroy
```
Fog::AWS is more than EC2 since it supports many services provided by AWS. The best way to learn and to know about how many services are supported is to take a look at the source code. To review the tests directory and to play with the library in ```irb``` can be very helpful resources as well.
## Contributing
1. Fork it ( https://github.com/fog/fog-aws/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request