Sha256: 6595e19c07117ce811a4cf0609a2b5db6bce58da24c3f93a505f6a322e4a94d7

Contents?: true

Size: 1.82 KB

Versions: 1

Compression:

Stored size: 1.82 KB

Contents

# AwsClient

This gem wraps access to various AWS APIs under one umbrella.  The following are configured:

* RDS
* Cloudformation
* S3
* EC2

It exposes access to the above APIs from a single flex-point.

## Rationale

The use cases covered are in no way exhaustive - this aids in solving very specific problems.

## Installation

### Assumptions

You will need a file named .fog in your home directory. The format is as follows:

```
  ORG_KEY:
    aws_access_key_id: ACCESS_KEY
    aws_secret_access_key: SECRET_ACCESS_KEY
```

then you will need to

```
  gem install aws_client
```

Then include it in your project

```
  require 'aws_client'
```

### Usage

#### Connecting

```
  # ::AwsClient::Container.new(ORG_KEY, AWS_REGION, PROVISIONING_REGION) e.g.
  aws_clients = ::AwsClient::Container.new(ORG_KEY, "eu-west", "eu-west-1")

  # Rds client wrapper
  rds_client = aws_clients.rds

  # Cloudformation client wrapper
  cf_client = aws_clients.cloudformation

  # S3 client wrapper
  s3_client = aws_clients.s3

  # EC2 client wrapper
  ec2_client = ec2_client.ec2
```

Each client wrapper above is merely a wrapper for the underlying AWS client, from which the underlying client may be exposed, e.g.

```
  aws_clients = ::AwsClient::Container.new("My organisation", "eu-west", "eu-west-1")
 
  # Wrapper
  rds_client = aws_clients.rds

  # Underlying client
  underlying_client = rds_client.client 
```

Each client wrapper exposes some additional functionality useful to me, but may easily be monkey patched to add functionality  (I find working with AWS APIs often exhausting, especially when working with Cloudformation where orchestration tasks may involve the use of multiple APIs in sequence).


#### Specific usage examples

* [S3](documentation/s3.md)
* [Cloudformation](documentation/cloudformation.md)


... more to come as I hook this up

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aws_client-0.0.5 README.md