aws_clim 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c71eb36c809ad34e0682ed8f122ececc8f6a71532d6256c78670cba5ee4c13a8
4
- data.tar.gz: 66d93e4023fdd715499e17ffa9fb47f47b6676af933bfcfc7c1427008b2d59cd
3
+ metadata.gz: ac0cd640f3b253853487800afc8dce04cfc1792d3322d62099d0d3ec0e6988e4
4
+ data.tar.gz: 39eeb60f7b3ec2613a7a3c6ef12ff772c437412fa1ebffd2d1c9a3fe4cc59c24
5
5
  SHA512:
6
- metadata.gz: cba3ede4804d99f587ad7c1bda529b16ff752df71aea77497590b697f2787b4b1b03cc51dd7eadd23818b2cc1e0af56e41e1791e357f215814cf50921e0b5dcb
7
- data.tar.gz: 65545875d1c30f02c09e34638e40865606f40de82ff9f4885b5dfe4c2741b78f42fdcf0590c2b95bb530fdd02b81ca3dea9a75ab28feb9f9f93248e84f400ec9
6
+ metadata.gz: 456cda408a13813578cad9b2c777e982e8c95bdb4de14e55503fe0a7cf9124e2e03d34d49a9552d07a5924e9dc2e1d87f5a065794ae3b92ea0b102dac1d168d2
7
+ data.tar.gz: b054f592c2f7584e8e3ee9facd0e59f1b01b165a5c2ae44fcf1e206e34e6cab1a0c1c9fba978cde57a0fef3bbd3aa264a6a1f6a00af21be32dfded73050561c5
data/README.md CHANGED
@@ -1,8 +1,14 @@
1
1
  # AwsClim
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/aws_clim`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ AwsClim is a light wrapper around `aws cli` tool. it adds some convenience when calling the command and
4
+ dealing with the results.
4
5
 
5
- TODO: Delete this and the text above, and describe your gem
6
+ - Maps all aws services as a method on AwsClim instance.
7
+ - Set format as JSON as default.
8
+ - Deals with arguments as Array, Hash or simply string
9
+ - Parses all results as JSON
10
+ - Returns an `OpenStruct.new(error: true, success: false, data: err)` when error happens.
11
+ - Returns an `OpenStruct.new(error: false, success: true, data: JSON.parse(out, object_class: OpenStruct))` when command returns successfuly.
6
12
 
7
13
  ## Installation
8
14
 
@@ -22,6 +28,17 @@ Or install it yourself as:
22
28
 
23
29
  ## Usage
24
30
 
31
+ ```
32
+ aws = AwsClim.new()
33
+ ```
34
+
35
+ By calling new without parameters AwsClim uses the profile `default`(see https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials_profiles.html to learn about aws profiles).
36
+ To set a different profile use profile argument on new.
37
+
38
+ ```
39
+ aws = AwsClim.new(profile: 'other-profile')
40
+ ```
41
+
25
42
  With a instance of AwsClim call aws services by its name and pass subcommands and options:
26
43
 
27
44
  Examples:
@@ -1,3 +1,3 @@
1
1
  module AwsClim
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
data/lib/aws_clim.rb CHANGED
@@ -3,7 +3,7 @@ require 'json'
3
3
  require 'open3'
4
4
 
5
5
  class AwsClim
6
- def initialize(profile = 'default', global_options = {})
6
+ def initialize(profile: 'default', global_options: {})
7
7
  @profile = profile
8
8
  @global_options = global_options
9
9
  end
@@ -338,7 +338,7 @@ class AwsClim
338
338
  out, err, status = Open3.capture3(cmd)
339
339
 
340
340
  if status.success?
341
- OpenStruct.new(success?: true, error?: false, data: OpenStruct.new(JSON.parse(out)))
341
+ OpenStruct.new(success?: true, error?: false, data: JSON.parse(out, object_class: OpenStruct))
342
342
  else
343
343
  OpenStruct.new(success?: false, error?: true, data: err)
344
344
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_clim
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew S Aguiar