conjur-asset-aws 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ea322c8c7db7f4fbe2775a0846461dd36b4c6340
4
+ data.tar.gz: c189e975109d4507c840ee691e2b5db8780ba9bb
5
+ SHA512:
6
+ metadata.gz: f2b9460bf903b4cfd20e480299c7fcda80916f702b7ff458343173e6531a8febf74e55884793e17bb20968caf66fe3332106eab1f9bd39b6f09f936d04738456
7
+ data.tar.gz: 48453f06fd3c80d83e337f82a80e8cb13a6ec2fc31b3f33942e17d54b73593e90b8b141df2b31153b0e9ee643e50f9697e693945ac1ab4f7474f50492ed26a30
@@ -0,0 +1,3 @@
1
+ plugins:
2
+ - host-factory
3
+ - aws
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <projectDescription>
3
+ <name>conjur-asset-aws</name>
4
+ <comment></comment>
5
+ <projects>
6
+ </projects>
7
+ <buildSpec>
8
+ <buildCommand>
9
+ <name>com.aptana.ide.core.unifiedBuilder</name>
10
+ <arguments>
11
+ </arguments>
12
+ </buildCommand>
13
+ </buildSpec>
14
+ <natures>
15
+ <nature>com.aptana.ruby.core.rubynature</nature>
16
+ <nature>com.aptana.projects.webnature</nature>
17
+ </natures>
18
+ </projectDescription>
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in conjur-asset-aws.gemspec
4
+ gemspec
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 Conjur Inc
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,31 @@
1
+ # Conjur::Asset::AWS
2
+
3
+ Conjur plugin for integrating with AWS.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'conjur-asset-aws'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install conjur-asset-aws
20
+
21
+ ## Usage
22
+
23
+ TODO: Write usage instructions here
24
+
25
+ ## Contributing
26
+
27
+ 1. Fork it ( https://github.com/[my-github-username]/conjur-asset-aws/fork )
28
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
29
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
30
+ 4. Push to the branch (`git push origin my-new-feature`)
31
+ 5. Create a new Pull Request
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
@@ -0,0 +1,30 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'conjur-asset-aws-version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "conjur-asset-aws"
8
+ spec.version = Conjur::Asset::AWS::VERSION
9
+ spec.authors = ["Kevin Gilpin"]
10
+ spec.email = ["kgilpin@conjur.net"]
11
+ spec.summary = %q{Conjur plugin for integrating with AWS}
12
+ spec.homepage = "https://github.com/conjurinc/conjur-asset-aws"
13
+ spec.license = "MIT"
14
+
15
+ spec.files = `git ls-files -z`.split("\x0")
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_dependency "conjur-api"
21
+ spec.add_dependency "conjur-asset-host-factory"
22
+ spec.add_dependency "aws-sdk-v1"
23
+
24
+ spec.add_development_dependency "bundler", "~> 1.7"
25
+ spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_development_dependency "rspec"
27
+ spec.add_development_dependency "rspec-its"
28
+ spec.add_development_dependency "simplecov"
29
+ spec.add_development_dependency "conjur-cli"
30
+ end
@@ -0,0 +1,7 @@
1
+ module Conjur
2
+ module Asset
3
+ module AWS
4
+ VERSION = "0.1.0"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1 @@
1
+ require "conjur-asset-aws-version"
@@ -0,0 +1,69 @@
1
+ require 'conjur/command'
2
+
3
+ class Conjur::Command::AWS < Conjur::Command
4
+ desc "Manage AWS integration features"
5
+ command :aws do |aws|
6
+ aws.desc "Manage links between AWS IAM and the Conjur host factory."
7
+ aws.command :"token-link" do |roles|
8
+ roles.desc "Create an AWS IAM role with permission to read a Conjur host factory token stored in S3."
9
+ roles.command :create do |c|
10
+ c.desc "Host factory token"
11
+ c.arg_name "token"
12
+ c.flag [ :"host-factory-token" ]
13
+
14
+ c.desc "AWS bucket to contain the metadata file(s) (will be created if missing)"
15
+ c.arg_name "bucket"
16
+ c.flag [ :bucket ]
17
+
18
+ c.action do |global_options, options, args|
19
+ require "conjur-asset-host-factory"
20
+
21
+ host_factory_token = options[:"host-factory-token"]
22
+ host_factory_token = api.show_host_factory_token(host_factory_token) if host_factory_token
23
+ bucket = options[:bucket]
24
+
25
+ require "conjur/provisioner/aws"
26
+
27
+ provisioner = Conjur::Provisioner::AWS::CreateRole.new
28
+ provisioner.host_factory_token = host_factory_token if host_factory_token
29
+ provisioner.bucket_name = bucket if bucket
30
+
31
+ provisioner.validate
32
+ provisioner.perform
33
+
34
+ puts "Created Conjur IAM link #{provisioner.role_name}"
35
+ end
36
+ end
37
+
38
+ roles.desc "Delete the IAM role and token file"
39
+ roles.command :delete do |c|
40
+ c.desc "Host factory"
41
+ c.arg_name "id"
42
+ c.flag [ :"host-factory" ]
43
+
44
+ c.desc "AWS bucket to contain the metadata file(s) (will be created if missing)"
45
+ c.arg_name "bucket"
46
+ c.flag [ :bucket ]
47
+
48
+ c.action do |global_options, options, args|
49
+ require "conjur-asset-host-factory"
50
+
51
+ host_factory = options[:"host-factory"]
52
+ host_factory = api.host_factory host_factory if host_factory
53
+ bucket = options[:bucket]
54
+
55
+ require "conjur/provisioner/aws"
56
+
57
+ provisioner = Conjur::Provisioner::AWS::DeleteRole.new
58
+ provisioner.host_factory = host_factory if host_factory
59
+ provisioner.bucket_name = bucket if bucket
60
+
61
+ provisioner.validate
62
+ provisioner.perform
63
+
64
+ puts "Deleted Conjur IAM link #{provisioner.role_name}"
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,172 @@
1
+ module Conjur
2
+ module Provisioner
3
+ module AWS
4
+ require 'aws-sdk-v1'
5
+
6
+ module RoleHelper
7
+ def validate
8
+ end
9
+
10
+ protected
11
+
12
+ def aws_iam
13
+ @aws_iam ||= ::AWS::IAM.new
14
+ end
15
+
16
+ def aws_role
17
+ aws_iam.role[role_name]
18
+ end
19
+ end
20
+
21
+ module BucketHelper
22
+ attr_accessor :bucket_name
23
+
24
+ def validate
25
+ raise "bucket_name is missing" unless bucket_name
26
+ end
27
+
28
+ protected
29
+
30
+ def aws_s3
31
+ @aws_s3 ||= ::AWS::S3.new
32
+ end
33
+ end
34
+
35
+ class DeleteRole
36
+ include RoleHelper
37
+ include BucketHelper
38
+
39
+ attr_accessor :host_factory
40
+
41
+ def role_name
42
+ host_factory.id.parameterize
43
+ end
44
+
45
+ def token_file_name
46
+ host_factory.id.parameterize
47
+ end
48
+
49
+ def validate
50
+ super
51
+
52
+ raise "host_factory is missing" unless host_factory
53
+ end
54
+
55
+ def perform
56
+ delete_role
57
+ delete_s3_token_file
58
+ end
59
+
60
+ protected
61
+
62
+ def delete_role
63
+ remove_params = {
64
+ role_name: role_name,
65
+ instance_profile_name: role_name
66
+ }
67
+ role_params = {
68
+ role_name: role_name
69
+ }
70
+ instance_profile_params = {
71
+ instance_profile_name: role_name
72
+ }
73
+
74
+ aws_iam.client.list_role_policies(role_params)[:policy_names].each do |policy|
75
+ delete_policy_params = {
76
+ role_name: role_name,
77
+ policy_name: policy
78
+ }
79
+ aws_iam.client.delete_role_policy delete_policy_params
80
+ end
81
+
82
+ aws_iam.client.remove_role_from_instance_profile remove_params
83
+ aws_iam.client.delete_instance_profile instance_profile_params
84
+ aws_iam.client.delete_role role_params
85
+ end
86
+
87
+ def delete_s3_token_file
88
+ bucket = aws_s3.buckets[bucket_name]
89
+ bucket.objects[token_file_name].delete
90
+ end
91
+ end
92
+
93
+ class CreateRole
94
+ include RoleHelper
95
+ include BucketHelper
96
+
97
+ attr_accessor :host_factory_token
98
+
99
+ def validate
100
+ super
101
+
102
+ raise "host_factory_token is missing" unless host_factory_token
103
+ end
104
+
105
+ def role_name
106
+ host_factory.id.parameterize
107
+ end
108
+
109
+ def token_file_name
110
+ host_factory.id.parameterize
111
+ end
112
+
113
+ # Creates an AWS IAM Role corresponding to the Layer. The Role can be assumed by EC2 instances.
114
+ # Creates a system user (deputy) and adds it to the layer.
115
+ # In S3, a file is created with the identity of the system user, along with other
116
+ # information needed by Conjur chef-solo. The file is in chef-solo JSON format.
117
+ # It will be used by the [conjur-client Upstart job](https://github.com/conjur-cookbooks/conjur-client/blob/master/templates/default/conjur-bootstrap.conf.erb)
118
+ # to finish the server configuration.
119
+ def perform
120
+ create_role
121
+ create_s3_token_file
122
+ end
123
+
124
+ def host_factory
125
+ host_factory_token.host_factory
126
+ end
127
+
128
+ def create_s3_token_file
129
+ bucket = aws_s3.buckets[bucket_name]
130
+ bucket = aws_s3.buckets.create(bucket_name) unless bucket.exists?
131
+
132
+ bucket.objects[token_file_name].write host_factory_token.token
133
+ end
134
+
135
+ def create_role
136
+ policy = {
137
+ "Version" => "2012-10-17",
138
+ "Statement" => [
139
+ {
140
+ "Effect" => "Allow",
141
+ "Principal" => {
142
+ "Service" => "ec2.amazonaws.com"
143
+ },
144
+ "Action" => "sts:AssumeRole"
145
+ }
146
+ ]
147
+ }
148
+ role_params = {
149
+ role_name: role_name,
150
+ assume_role_policy_document: JSON.pretty_generate(policy)
151
+ }
152
+ instance_profile_params = {
153
+ instance_profile_name: role_name
154
+ }
155
+
156
+ role = aws_iam.client.create_role role_params
157
+ instance_profile = aws_iam.client.create_instance_profile instance_profile_params
158
+ aws_iam.client.add_role_to_instance_profile role_name: role_name, instance_profile_name: role_name
159
+
160
+ aws_iam.client.put_role_policy role_name: role_name, policy_name: 'read-bootstrap-file', policy_document: JSON.pretty_generate({
161
+ "Statement" => [{
162
+ "Effect" => "Allow",
163
+ "Action" => "s3:GetObject",
164
+ "Resource" => ["arn:aws:s3:::#{bucket_name}/#{token_file_name}"]
165
+ }
166
+ ]
167
+ })
168
+ end
169
+ end
170
+ end
171
+ end
172
+ end
@@ -0,0 +1,90 @@
1
+ #
2
+ # Copyright (C) 2015 Conjur Inc
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
21
+ require 'spec_helper'
22
+
23
+ require 'conjur/provisioner/aws'
24
+
25
+ describe Conjur::Provisioner::AWS::CreateRole do
26
+ let(:id) { 'org-1.0/the-factory' }
27
+ let(:token) { double(:token) }
28
+ let(:provisioner) {
29
+ Conjur::Provisioner::AWS::CreateRole.new.tap do |p|
30
+ p.host_factory_token = token
31
+ p.bucket_name = 'the-bucket'
32
+ end
33
+ }
34
+
35
+ context "attributes" do
36
+ subject { provisioner }
37
+ its(:bucket_name) { should == "the-bucket" }
38
+ its(:role_name) { should == "org-1-0-the-factory" }
39
+ its(:bootstrap_file_name) { should == "org-1-0-the-factory.json" }
40
+ end
41
+ context "provision" do
42
+ let(:s3) { double(:s3) }
43
+ let(:iam) { double(:iam) }
44
+ before {
45
+ provisioner.stub(:aws_s3).and_return s3
46
+ provisioner.stub(:aws_iam).and_return iam
47
+ }
48
+
49
+ describe "#provision" do
50
+ it "creates the role and bootstrap file" do
51
+ provisioner.should_receive :create_role
52
+ provisioner.should_receive :create_s3_bootstrap_file
53
+ provisioner.perform
54
+ end
55
+ end
56
+
57
+ describe "#create_role" do
58
+ let(:role) { double(:role) }
59
+ it "creates the role" do
60
+ iam.stub_chain(:client, :create_role) do |args|
61
+ args[:role_name].should == "org-1-0-the-factory"
62
+ args[:assume_role_policy_document].should =~ /ec2.amazonaws.com/
63
+ end.and_return role
64
+ iam.stub_chain(:client, :create_instance_profile).with(instance_profile_name: "org-1-0-the-factory")
65
+ iam.stub_chain(:client, :add_role_to_instance_profile).with(role_name: "org-1-0-the-factory", instance_profile_name: "org-1-0-the-factory")
66
+ iam.stub_chain(:client, :put_role_policy) do |args|
67
+ args[:role_name].should == 'org-1-0-the-factory'
68
+ args[:policy_name].should == 'read-bootstrap-file'
69
+ args[:policy_document].should =~ /arn:aws:s3:::the-bucket\/org-1-0-the-factory/
70
+ end
71
+
72
+ provisioner.send :create_role
73
+ end
74
+ end
75
+ describe "#create_s3_bootstrap_file" do
76
+ let(:bucket) { double(:bucket) }
77
+ let(:host_id) { "org-1.0/the-factory/ec2_instance" }
78
+ let(:host) { double(:host, id: host_id, api_key: "the-api-key", roleid: "ci:host:#{host_id}") }
79
+ it "creates the bootstrap file" do
80
+ Conjur::API.any_instance.should_receive(:create_host).with(id: host_id).and_return host
81
+ s3.stub_chain(:buckets, :[]).and_return double(:bucket, exists?: false)
82
+ s3.stub_chain(:buckets, :create).with("the-bucket").and_return bucket
83
+ bucket.stub_chain(:objects, :[], :write).with(/the-api-key/)
84
+ provisioner.should_receive(:add_host).with host.roleid
85
+
86
+ provisioner.send :create_s3_bootstrap_file
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,15 @@
1
+ require 'rubygems'
2
+ require 'simplecov'
3
+
4
+ SimpleCov.start do
5
+ add_filter "/spec/"
6
+ end
7
+
8
+ require 'rspec'
9
+ require 'rspec/its'
10
+
11
+ Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
12
+
13
+ require 'conjur/api'
14
+ require 'conjur-asset-aws'
15
+ require 'conjur-asset-host-factory'
metadata ADDED
@@ -0,0 +1,186 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: conjur-asset-aws
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Kevin Gilpin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: conjur-api
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: conjur-asset-host-factory
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: aws-sdk-v1
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.7'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.7'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '10.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '10.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec-its
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: conjur-cli
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description:
140
+ email:
141
+ - kgilpin@conjur.net
142
+ executables: []
143
+ extensions: []
144
+ extra_rdoc_files: []
145
+ files:
146
+ - .conjurrc
147
+ - .gitignore
148
+ - .project
149
+ - Gemfile
150
+ - LICENSE.txt
151
+ - README.md
152
+ - Rakefile
153
+ - conjur-asset-aws.gemspec
154
+ - lib/conjur-asset-aws-version.rb
155
+ - lib/conjur-asset-aws.rb
156
+ - lib/conjur/command/aws.rb
157
+ - lib/conjur/provisioner/aws.rb
158
+ - spec/aws_spec.rb
159
+ - spec/spec_helper.rb
160
+ homepage: https://github.com/conjurinc/conjur-asset-aws
161
+ licenses:
162
+ - MIT
163
+ metadata: {}
164
+ post_install_message:
165
+ rdoc_options: []
166
+ require_paths:
167
+ - lib
168
+ required_ruby_version: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - '>='
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ required_rubygems_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ requirements: []
179
+ rubyforge_project:
180
+ rubygems_version: 2.4.3
181
+ signing_key:
182
+ specification_version: 4
183
+ summary: Conjur plugin for integrating with AWS
184
+ test_files:
185
+ - spec/aws_spec.rb
186
+ - spec/spec_helper.rb