<commit_before># AWS (Amazon Web Services) library for Ruby

This gem provides access to many AWS cloud services.
Unlike many other AWS libaries this gem is a very thin adaptation layer over the AWS APIs.
It is highly meta-programmed and exposes the exact AWS API calls with the
exact AWS parameters. There are two big benefits to this approach: you don't have to translate betwen the
AWS docs and the library in order to figure out what to do, and there's nothing in the AWS APIs you can't
call through the library. The library doesn't even need to be updated when AWS introduces new API features.
The downside to this approach is that when things don't work it's sometimes more difficult to figure out
what's happening... Another downside is that method names and parameter names follow the AWS API spec and
thereby run against Ruby conventions.

If you encounter problems please open a github issue.

## Docs

For some getting-started info see further down but for detailed docs see
http://rightscale.github.io/right_aws_api/frames.html#!file.README.html

## Features

The gem supports the following AWS services out of the box:

- {RightScale::CloudApi::AWS::AS::Manager      Auto Scaling (AS)}
- {RightScale::CloudApi::AWS::CF::Manager      Cloud Front (CF)}
- {RightScale::CloudApi::AWS::CFM::Manager     Cloud Formation (CFM)}
- {RightScale::CloudApi::AWS::CW::Manager      Cloud Watch (CW)}
- {RightScale::CloudApi::AWS::EB::Manager      Elastic Beanstalk (EB)}
- {RightScale::CloudApi::AWS::EC::Manager      Elasti Cache (EC)}
- {RightScale::CloudApi::AWS::EC2::Manager     Elastic Compute Cloud (EC2)}
- {RightScale::CloudApi::AWS::ELB::Manager     Elastic Load Balancing (ELB)}
- {RightScale::CloudApi::AWS::EMR::Manager     Elastic Map Reduce (EMR)}
- {RightScale::CloudApi::AWS::IAM::Manager     Identity and Access Management (IAM)}
- {RightScale::CloudApi::AWS::RDS::Manager     Relational Database Service (RDS)}
- {RightScale::CloudApi::AWS::Route53::Manager Route 53 (Route53)}
- {RightScale::CloudApi::AWS::S3::Manager      Simple Storage Service (S3)}
- {RightScale::CloudApi::AWS::SDB::Manager     Simple DB (SDB)}
- {RightScale::CloudApi::AWS::SNS::Manager     Simple Notification Service (SNS)}
- {RightScale::CloudApi::AWS::SQS::Manager     Simple Queue Service (SQS)}

And it is easy to add support for other. You will need to refer to
the AWS docs (http://aws.amazon.com/documentation/) for all the API params and usage explanations.

## Basic usage

### Amazon Elastic Compute Cloud (EC2)

This library supports all existing and future EC2 API calls. If you know that EC2 supports a
call and you know what params it accepts - just call the method with those params.

#### Basics

```ruby
  require "right_aws_api"

  key      = ENV['AWS_ACCESS_KEY_ID']
  secret   = ENV['AWS_SECRET_ACCESS_KEY']
  endpoint = 'https://us-east-1.ec2.amazonaws.com'
  ec2      = RightScale::CloudApi::AWS::EC2::Manager.new(key, secret, endpoint)

  ec2.ThisCallMustBeSupportedByEc2('Param.1' => 'A', 'Param.2' => 'B')
```<commit_msg>fix endpoint in example as it fails authentication otherwise<commit_after># AWS (Amazon Web Services) library for Ruby

This gem provides access to many AWS cloud services.
Unlike many other AWS libaries this gem is a very thin adaptation layer over the AWS APIs.
It is highly meta-programmed and exposes the exact AWS API calls with the
exact AWS parameters. There are two big benefits to this approach: you don't have to translate betwen the
AWS docs and the library in order to figure out what to do, and there's nothing in the AWS APIs you can't
call through the library. The library doesn't even need to be updated when AWS introduces new API features.
The downside to this approach is that when things don't work it's sometimes more difficult to figure out
what's happening... Another downside is that method names and parameter names follow the AWS API spec and
thereby run against Ruby conventions.

If you encounter problems please open a github issue.

## Docs

For some getting-started info see further down but for detailed docs see
http://rightscale.github.io/right_aws_api/frames.html#!file.README.html

## Features

The gem supports the following AWS services out of the box:

- {RightScale::CloudApi::AWS::AS::Manager      Auto Scaling (AS)}
- {RightScale::CloudApi::AWS::CF::Manager      Cloud Front (CF)}
- {RightScale::CloudApi::AWS::CFM::Manager     Cloud Formation (CFM)}
- {RightScale::CloudApi::AWS::CW::Manager      Cloud Watch (CW)}
- {RightScale::CloudApi::AWS::EB::Manager      Elastic Beanstalk (EB)}
- {RightScale::CloudApi::AWS::EC::Manager      Elasti Cache (EC)}
- {RightScale::CloudApi::AWS::EC2::Manager     Elastic Compute Cloud (EC2)}
- {RightScale::CloudApi::AWS::ELB::Manager     Elastic Load Balancing (ELB)}
- {RightScale::CloudApi::AWS::EMR::Manager     Elastic Map Reduce (EMR)}
- {RightScale::CloudApi::AWS::IAM::Manager     Identity and Access Management (IAM)}
- {RightScale::CloudApi::AWS::RDS::Manager     Relational Database Service (RDS)}
- {RightScale::CloudApi::AWS::Route53::Manager Route 53 (Route53)}
- {RightScale::CloudApi::AWS::S3::Manager      Simple Storage Service (S3)}
- {RightScale::CloudApi::AWS::SDB::Manager     Simple DB (SDB)}
- {RightScale::CloudApi::AWS::SNS::Manager     Simple Notification Service (SNS)}
- {RightScale::CloudApi::AWS::SQS::Manager     Simple Queue Service (SQS)}

And it is easy to add support for other. You will need to refer to
the AWS docs (http://aws.amazon.com/documentation/) for all the API params and usage explanations.

## Basic usage

### Amazon Elastic Compute Cloud (EC2)

This library supports all existing and future EC2 API calls. If you know that EC2 supports a
call and you know what params it accepts - just call the method with those params.

#### Basics

```ruby
  require "right_aws_api"

  key      = ENV['AWS_ACCESS_KEY_ID']
  secret   = ENV['AWS_SECRET_ACCESS_KEY']
  endpoint = 'https://ec2.us-east-1.amazonaws.com'
  ec2      = RightScale::CloudApi::AWS::EC2::Manager.new(key, secret, endpoint)

  ec2.ThisCallMustBeSupportedByEc2('Param.1' => 'A', 'Param.2' => 'B')
```
{'fraction_non_alphanumeric': 0.11033132038518034, 'fraction_numerical': 0.0068549045209727434, 'mean_word_length': 4.743205248359888, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5719421', 'n_tokens_mistral': 1855, 'n_tokens_neox': 1766, 'n_words': 682}