<commit_before># GoAws  [![Join the chat at https://gitter.im/p4tin/GoAws](https://badges.gitter.im/p4tin/GoAws.svg)](https://gitter.im/p4tin/GoAws?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)  
[![Build Status](https://travis-ci.org/p4tin/GoAws.svg?branch=master)](https://travis-ci.org/p4tin/GoAws)

 
Written in Go this is a clone of the AWS SQS/SNS systems.  This system is designed to emulate SQS ans SNS in a local environment so developers can test their interfaces without having to connect the the AWS Cloud and possibly incurring the expense, or even worse actually write to production topics/queues by mistake.  If you see any problems or would like to see a new feature, please open an issue here in github.  As well, I will logon to Gitter so we can discuss your deployment issues or the weather.


## Current SQS APIs implemented:

 - [x] ListQueues
 - [x] CreateQueue
 - [x] GetQueueAttributes (Always returns all attributes - depth and arn are set correctly others are mocked)
 - [x] GetQueueUrl
 - [x] SendMessage
 - [x] ReceiveMessage
 - [x] DeleteMessage
 - [x] PurgeQueue
 - [x] Delete Queue

## Current SNS APIs implemented:

 - [x] ListTopics
 - [x] CreateTopic
 - [x] Subscribe (raw)
 - [x] ListSubscriptions
 - [x] Publish
 - [x] DeleteTopic
 - [x] Subscribe
 - [x] Unsubscribe
 - [ ] ListSubscriptionsByTopic
 
## Yaml Configuration Implemented

 - [x] Read config file 
 - [x] Implement flag to chose configuration type
 - [x] Process Queue Creations
 - [x] Process Topic Creations
 - [x] Process Create Subscriptions
 

## Note:  The system does not authenticate or presently use https

# Installation

    go get github.com/p4tin/GoAws

## Build and Run (Standalone)

    Build
        cd to GoAws directory
        go build . 
        
    Run
        ./goaws  (by default goaws listens on port 4100 but you can change it in the goaws.yaml file to another port of your choice)
        

## Run (Docker Version)

    Get it
        docker pull pafortin/goaws
        
    run
        docker run -d --name goaws -p 4100:4100 pafortin/goaws<commit_msg>Fixed the installation instructions in the README<commit_after># GoAws  [![Join the chat at https://gitter.im/p4tin/GoAws](https://badges.gitter.im/p4tin/GoAws.svg)](https://gitter.im/p4tin/GoAws?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)  
[![Build Status](https://travis-ci.org/p4tin/GoAws.svg?branch=master)](https://travis-ci.org/p4tin/GoAws)

 
Written in Go this is a clone of the AWS SQS/SNS systems.  This system is designed to emulate SQS ans SNS in a local environment so developers can test their interfaces without having to connect the the AWS Cloud and possibly incurring the expense, or even worse actually write to production topics/queues by mistake.  If you see any problems or would like to see a new feature, please open an issue here in github.  As well, I will logon to Gitter so we can discuss your deployment issues or the weather.


## Current SQS APIs implemented:

 - [x] ListQueues
 - [x] CreateQueue
 - [x] GetQueueAttributes (Always returns all attributes - depth and arn are set correctly others are mocked)
 - [x] GetQueueUrl
 - [x] SendMessage
 - [x] ReceiveMessage
 - [x] DeleteMessage
 - [x] PurgeQueue
 - [x] Delete Queue

## Current SNS APIs implemented:

 - [x] ListTopics
 - [x] CreateTopic
 - [x] Subscribe (raw)
 - [x] ListSubscriptions
 - [x] Publish
 - [x] DeleteTopic
 - [x] Subscribe
 - [x] Unsubscribe
 - [ ] ListSubscriptionsByTopic
 
## Yaml Configuration Implemented

 - [x] Read config file 
 - [x] Implement flag to chose configuration type
 - [x] Process Queue Creations
 - [x] Process Topic Creations
 - [x] Process Create Subscriptions
 

## Note:  The system does not authenticate or presently use https

# Installation

    go get github.com/p4tin/goaws

## Build and Run (Standalone)

    Build
        cd to GoAws directory
        go build . 
        
    Run
        ./goaws  (by default goaws listens on port 4100 but you can change it in the goaws.yaml file to another port of your choice)
        

## Run (Docker Version)

    Get it
        docker pull pafortin/goaws
        
    run
        docker run -d --name goaws -p 4100:4100 pafortin/goaws
{'fraction_non_alphanumeric': 0.08795860771401694, 'fraction_numerical': 0.008466603951081843, 'mean_word_length': 3.248751248751249, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, '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': '1230522', 'n_tokens_mistral': 1407, 'n_tokens_neox': 1320, 'n_words': 505}