awsrm 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 18599297e3f57e292d25dc9db15944538552956a
4
+ data.tar.gz: 845b3f7c221fc8f7b211476d6ef54644dea2601c
5
+ SHA512:
6
+ metadata.gz: 2fda470136b972270d8843e7aa1038df850af6eb69b7a9f1ebb8e6cd35c02bd32115ca4dbf2f96773a6cb0f14af19d046b00aa5185dfadbcd1600d0c04f3bc55
7
+ data.tar.gz: 76b80e694a8c506cef25464b6e1fdfeb4435e266b7f334bf95bb2e1b0279d8c79f3eb743d4b81b7743ba95ee17c4e27287b9f66dffa14dceaf945d28ac2032cc
data/.gitignore ADDED
@@ -0,0 +1,12 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+
11
+ # rspec failure tracking
12
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,87 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.1
3
+
4
+ Lint/Eval:
5
+ Enabled: false
6
+
7
+ Lint/HandleExceptions:
8
+ Enabled: false
9
+
10
+ Lint/UselessAssignment:
11
+ Enabled: false
12
+
13
+ Metrics/AbcSize:
14
+ Max: 50
15
+
16
+ Metrics/ClassLength:
17
+ Max: 120
18
+
19
+ Metrics/BlockLength:
20
+ Max: 60
21
+
22
+ Metrics/CyclomaticComplexity:
23
+ Max: 15
24
+
25
+ Metrics/LineLength:
26
+ Max: 120
27
+
28
+ Metrics/MethodLength:
29
+ Max: 30
30
+
31
+ Metrics/ModuleLength:
32
+ CountComments: false
33
+ Max: 200
34
+
35
+ Metrics/PerceivedComplexity:
36
+ Max: 15
37
+
38
+ Performance/StringReplacement:
39
+ Enabled: false
40
+
41
+ Style/Alias:
42
+ Enabled: false
43
+
44
+ Style/BarePercentLiterals:
45
+ Enabled: false
46
+
47
+ Style/ClassAndModuleChildren:
48
+ Enabled: false
49
+
50
+ Style/Documentation:
51
+ Enabled: false
52
+
53
+ Style/MethodMissing:
54
+ Enabled: false
55
+
56
+ Style/MutableConstant:
57
+ Enabled: false
58
+
59
+ Style/MultilineOperationIndentation:
60
+ Enabled: false
61
+
62
+ Style/MultilineMethodCallBraceLayout:
63
+ Enabled: false
64
+
65
+ Style/NumericLiteralPrefix:
66
+ Enabled: false
67
+
68
+ Style/NumericPredicate:
69
+ Enabled: false
70
+
71
+ Style/StabbyLambdaParentheses:
72
+ Enabled: false
73
+
74
+ Style/PercentLiteralDelimiters:
75
+ Enabled: false
76
+
77
+ Style/PredicateName:
78
+ Enabled: false
79
+
80
+ Style/RedundantSelf:
81
+ Enabled: false
82
+
83
+ Style/SymbolProc:
84
+ Enabled: false
85
+
86
+ Style/BracesAroundHashParameters:
87
+ Enabled: false
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.4.0
5
+ - 2.3.3
6
+ before_install: gem install bundler -v 1.14.6
7
+ script:
8
+ - bundle exec rake
9
+
10
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in awsrm.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2017 k1LoW
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,63 @@
1
+ # [UNDER DEVELOPMENT] awsrm [![Gem](https://img.shields.io/gem/v/awsrm.svg)](https://rubygems.org/gems/awsrm) [![Travis](https://img.shields.io/travis/k1LoW/awsrm.svg)](https://travis-ci.org/k1LoW/awsrm)
2
+
3
+ Simple AWS Resource "READONLY" Mapper for awspec.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'awsrm'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install awsrm
20
+
21
+ ## Usage
22
+
23
+ ### ::one
24
+
25
+ `Awsrm::Resource::one` identify uniquely one resource or raise error. this method not like ActiveRecord `find` .
26
+
27
+ - identify `1` resource -> return resource
28
+ - identify `0` resource -> raise error
29
+ - identify `>1` resources -> raise error
30
+
31
+ ```ruby
32
+ require 'awspec'
33
+ require 'awsrm'
34
+
35
+ describe route_table(Awsrm::RouteTable.one(name: 'my-route-table', vpc: 'my-vpc').id) do
36
+ it { should exist }
37
+ it { should belong_to_vpc('my-vpc') }
38
+ end
39
+ ```
40
+
41
+ ### ::all
42
+
43
+ `Awsrm::Resource::all` return all resources.
44
+
45
+ - identify `0` resource -> return empty array
46
+ - identify `>1` resources -> return resources array
47
+
48
+ ```ruby
49
+ require 'awspec'
50
+ require 'awsrm'
51
+
52
+ Awsrm::RouteTable.all(vpc: 'my-vpc').each do | route |
53
+ describe route_table(route.id) do
54
+ it { should exist }
55
+ it { should belong_to_vpc('my-vpc') }
56
+ end
57
+ end
58
+ ```
59
+
60
+ ## License
61
+
62
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
63
+
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec'
3
+ require 'rspec/core'
4
+ require 'rspec/core/rake_task'
5
+ require 'octorelease'
6
+ require 'rubocop/rake_task'
7
+
8
+ RSpec::Core::RakeTask.new(:spec)
9
+ RuboCop::RakeTask.new
10
+
11
+ task default: %i[spec rubocop]
data/awsrm.gemspec ADDED
@@ -0,0 +1,34 @@
1
+ # coding: utf-8
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'awsrm/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'awsrm'
9
+ spec.version = Awsrm::VERSION
10
+ spec.authors = ['k1LoW']
11
+ spec.email = ['k1lowxb@gmail.com']
12
+
13
+ spec.summary = 'Simple AWS Resource "READONLY" Mapper for awspec.'
14
+ spec.description = 'Simple AWS Resource "READONLY" Mapper for awspec.'
15
+ spec.homepage = 'https://github.com/k1LoW/awsrm'
16
+ spec.license = 'MIT'
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
+ f.match(%r{^(test|spec|features)/})
20
+ end
21
+ spec.bindir = 'exe'
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.require_paths = ['lib']
24
+
25
+ spec.required_ruby_version = '>= 2.1'
26
+ spec.add_runtime_dependency 'aws-sdk', '>= 2.2', '< 3.0'
27
+ spec.add_development_dependency 'bundler', '~> 1.14'
28
+ spec.add_development_dependency 'rake', '~> 10.0'
29
+ spec.add_development_dependency 'rspec', '~> 3.0'
30
+ spec.add_development_dependency 'awspec', '>= 0.80.0'
31
+ spec.add_development_dependency 'rubocop', '~> 0.47.0'
32
+ spec.add_development_dependency 'octorelease'
33
+ spec.add_development_dependency 'pry'
34
+ end
data/bin/console ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'awsrm'
5
+ require 'pry'
6
+ Pry.start
data/bin/setup ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
@@ -0,0 +1,54 @@
1
+ module Awsrm
2
+ class AutoscallingGroup < Awsrm::Resource
3
+ FILTER_MAP = {
4
+ name: ->(value) { [value] },
5
+ tags: ->(value) { AutoscallingGroup.tags2names(value) }
6
+ }.freeze
7
+ class << self
8
+ def one(params)
9
+ res = autoscaling_client.describe_auto_scaling_groups(
10
+ auto_scaling_group_names: filters(params)
11
+ )
12
+ AutoscallingGroupReader.new(res.auto_scaling_groups.first) if check_one(res.auto_scaling_groups)
13
+ end
14
+
15
+ def all(params)
16
+ res = autoscaling_client.describe_auto_scaling_groups(
17
+ auto_scaling_group_names: filters(params)
18
+ )
19
+ res.auto_scaling_groups.map do |as|
20
+ AutoscallingGroupReader.new(as)
21
+ end
22
+ end
23
+
24
+ def filters(params)
25
+ params.map do |key, value|
26
+ raise UndefinedFilterParamError, key unless self::FILTER_MAP.key?(key)
27
+ next self::FILTER_MAP[key].call(value) if self::FILTER_MAP[key].is_a?(Proc)
28
+ end.flatten.uniq
29
+ end
30
+
31
+ def tags2names(tag_hash)
32
+ tags = autoscaling_client.describe_tags.tags.flatten
33
+ maps = tag_hash.map do |key, value|
34
+ tags.map do |tag|
35
+ tag.resource_id if tag.key == key.to_s && tag.value == value.to_s
36
+ end.compact
37
+ end
38
+ maps.reduce do |memo, item|
39
+ memo & item
40
+ end
41
+ end
42
+ end
43
+
44
+ class AutoscallingGroupReader < Awsrm::ResourceReader
45
+ def id
46
+ @resource.auto_scaling_group_name
47
+ end
48
+
49
+ def arn
50
+ @resource.auto_scaling_group_arn
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,8 @@
1
+ module Awsrm
2
+ class UndefinedFilterParamError < StandardError
3
+ end
4
+ class NoResourceError < StandardError
5
+ end
6
+ class DuplicatedResourceError < StandardError
7
+ end
8
+ end
@@ -0,0 +1,87 @@
1
+ require 'aws-sdk'
2
+
3
+ module Awsrm
4
+ class Resource
5
+ FILTER_MAP = {
6
+ name: 'tag:Name'
7
+ }.freeze
8
+
9
+ class << self
10
+ CLIENTS = {
11
+ ec2_client: Aws::EC2::Client,
12
+ ecr_client: Aws::ECR::Client,
13
+ ecs_client: Aws::ECS::Client,
14
+ efs_client: Aws::EFS::Client,
15
+ rds_client: Aws::RDS::Client,
16
+ route53_client: Aws::Route53::Client,
17
+ s3_client: Aws::S3::Client,
18
+ autoscaling_client: Aws::AutoScaling::Client,
19
+ elb_client: Aws::ElasticLoadBalancing::Client,
20
+ elbv2_client: Aws::ElasticLoadBalancingV2::Client,
21
+ lambda_client: Aws::Lambda::Client,
22
+ iam_client: Aws::IAM::Client,
23
+ kms_client: Aws::KMS::Client,
24
+ elasticache_client: Aws::ElastiCache::Client,
25
+ cloudwatch_client: Aws::CloudWatch::Client,
26
+ cloudwatch_event_client: Aws::CloudWatchEvents::Client,
27
+ ses_client: Aws::SES::Client,
28
+ directconnect_client: Aws::DirectConnect::Client,
29
+ cloudfront_client: Aws::CloudFront::Client,
30
+ elastictranscoder_client: Aws::ElasticTranscoder::Client,
31
+ elasticsearch_client: Aws::ElasticsearchService::Client,
32
+ cloudtrail_client: Aws::CloudTrail::Client,
33
+ waf_client: Aws::WAF::Client,
34
+ sts_client: Aws::STS::Client,
35
+ acm_client: Aws::ACM::Client,
36
+ cloudwatch_logs_client: Aws::CloudWatchLogs::Client,
37
+ dynamodb_client: Aws::DynamoDB::Client
38
+ }.freeze
39
+
40
+ CLIENT_OPTIONS = {
41
+ http_proxy: ENV['http_proxy'] || ENV['https_proxy'] || nil
42
+ }.freeze
43
+
44
+ def one(_params)
45
+ raise 'not implemented'
46
+ end
47
+
48
+ def all(_params)
49
+ raise 'not implemented'
50
+ end
51
+
52
+ def filters(params)
53
+ params.map do |key, value|
54
+ raise UndefinedFilterParamError, key unless self::FILTER_MAP.key?(key)
55
+ next self::FILTER_MAP[key].call(value) if self::FILTER_MAP[key].is_a?(Proc)
56
+ { name: self::FILTER_MAP[key], values: [value] }
57
+ end
58
+ end
59
+
60
+ def check_one(resources)
61
+ raise Awsrm::NoResourceError, "No resource #{name} by #{params}" if resources.count == 0
62
+ raise Awsrm::DuplicatedResourceError, "Duplicated resource #{name} by #{params}" if resources.count > 1
63
+ true
64
+ end
65
+
66
+ CLIENTS.each do |method_name, client|
67
+ define_method method_name do
68
+ client.new(CLIENT_OPTIONS)
69
+ end
70
+ end
71
+ end
72
+ end
73
+
74
+ class ResourceReader
75
+ def initialize(resource)
76
+ @resource = resource
77
+ end
78
+
79
+ def id
80
+ raise 'not implemented'
81
+ end
82
+
83
+ def arn
84
+ raise 'not implemented'
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,33 @@
1
+ module Awsrm
2
+ class RouteTable < Awsrm::Resource
3
+ FILTER_MAP = {
4
+ name: 'tag:Name',
5
+ vpc_id: 'vpc-id',
6
+ vpc: ->(value) { { name: 'vpc-id', values: [Awsrm::Vpc.one(name: value).id] } }
7
+ }.freeze
8
+
9
+ class << self
10
+ def one(params)
11
+ res = ec2_client.describe_route_tables(
12
+ filters: filters(params)
13
+ )
14
+ RouteTableReader.new(res.route_tables.first) if check_one(res.route_tables)
15
+ end
16
+
17
+ def all(params)
18
+ res = ec2_client.describe_route_tables(
19
+ filters: filters(params)
20
+ )
21
+ res.route_tables.map do |route|
22
+ RouteTableReader.new(route)
23
+ end
24
+ end
25
+ end
26
+ end
27
+
28
+ class RouteTableReader < Awsrm::ResourceReader
29
+ def id
30
+ @resource.route_table_id
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,34 @@
1
+ module Awsrm
2
+ class Subnet < Awsrm::Resource
3
+ FILTER_MAP = {
4
+ name: 'tag:Name',
5
+ cidr: 'cidrBlock',
6
+ vpc_id: 'vpc-id',
7
+ vpc: ->(value) { { name: 'vpc-id', values: [Awsrm::Vpc.one(name: value).id] } }
8
+ }.freeze
9
+
10
+ class << self
11
+ def one(params)
12
+ res = ec2_client.describe_subnets(
13
+ filters: filters(params)
14
+ )
15
+ SubnetReader.new(res.subnets.first) if check_one(res.subnets)
16
+ end
17
+
18
+ def all(params)
19
+ res = ec2_client.describe_subnets(
20
+ filters: filters(params)
21
+ )
22
+ res.subnets.map do |route|
23
+ SubnetReader.new(route)
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+ class SubnetReader < Awsrm::ResourceReader
30
+ def id
31
+ @resource.subnet_id
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,3 @@
1
+ module Awsrm
2
+ VERSION = '0.0.1'.freeze
3
+ end
data/lib/awsrm/vpc.rb ADDED
@@ -0,0 +1,31 @@
1
+ module Awsrm
2
+ class Vpc < Awsrm::Resource
3
+ FILTER_MAP = {
4
+ name: 'tag:Name'
5
+ }.freeze
6
+
7
+ class << self
8
+ def one(params)
9
+ res = ec2_client.describe_vpcs(
10
+ filters: filters(params)
11
+ )
12
+ VpcReader.new(res.vpcs.first) if check_one(res.vpcs)
13
+ end
14
+
15
+ def all(params)
16
+ res = ec2_client.describe_vpcs(
17
+ filters: filters(params)
18
+ )
19
+ res.vpc.map do |route|
20
+ VpcReader.new(route)
21
+ end
22
+ end
23
+ end
24
+ end
25
+
26
+ class VpcReader < Awsrm::ResourceReader
27
+ def id
28
+ @resource.vpc_id
29
+ end
30
+ end
31
+ end
data/lib/awsrm.rb ADDED
@@ -0,0 +1,10 @@
1
+ require 'awsrm/error'
2
+ require 'awsrm/resource'
3
+ require 'awsrm/autoscaling_group'
4
+ require 'awsrm/route_table'
5
+ require 'awsrm/subnet'
6
+ require 'awsrm/vpc'
7
+ require 'awsrm/version'
8
+
9
+ module Awsrm
10
+ end
metadata ADDED
@@ -0,0 +1,181 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: awsrm
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - k1LoW
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-05-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: aws-sdk
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '2.2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '2.2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: bundler
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.14'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.14'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '10.0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '10.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rspec
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: awspec
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 0.80.0
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 0.80.0
89
+ - !ruby/object:Gem::Dependency
90
+ name: rubocop
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 0.47.0
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 0.47.0
103
+ - !ruby/object:Gem::Dependency
104
+ name: octorelease
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: pry
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ description: Simple AWS Resource "READONLY" Mapper for awspec.
132
+ email:
133
+ - k1lowxb@gmail.com
134
+ executables: []
135
+ extensions: []
136
+ extra_rdoc_files: []
137
+ files:
138
+ - ".gitignore"
139
+ - ".rspec"
140
+ - ".rubocop.yml"
141
+ - ".travis.yml"
142
+ - Gemfile
143
+ - LICENSE.txt
144
+ - README.md
145
+ - Rakefile
146
+ - awsrm.gemspec
147
+ - bin/console
148
+ - bin/setup
149
+ - lib/awsrm.rb
150
+ - lib/awsrm/autoscaling_group.rb
151
+ - lib/awsrm/error.rb
152
+ - lib/awsrm/resource.rb
153
+ - lib/awsrm/route_table.rb
154
+ - lib/awsrm/subnet.rb
155
+ - lib/awsrm/version.rb
156
+ - lib/awsrm/vpc.rb
157
+ homepage: https://github.com/k1LoW/awsrm
158
+ licenses:
159
+ - MIT
160
+ metadata: {}
161
+ post_install_message:
162
+ rdoc_options: []
163
+ require_paths:
164
+ - lib
165
+ required_ruby_version: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '2.1'
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ requirements: []
176
+ rubyforge_project:
177
+ rubygems_version: 2.6.12
178
+ signing_key:
179
+ specification_version: 4
180
+ summary: Simple AWS Resource "READONLY" Mapper for awspec.
181
+ test_files: []