aws-keychain-util 0.0.11 → 0.0.12
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 +4 -4
- data/aws-keychain-util.gemspec +2 -2
- data/bin/aws-creds +7 -7
- data/lib/aws-keychain-util.rb +7 -8
- metadata +6 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 27605c262ccf5d07a36f56918a04d4b9c3f012ad
         | 
| 4 | 
            +
              data.tar.gz: 8790d93d8bc976e41cf132fb9724f88a38917181
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 40cbeceef571c407749c645ee1fb72b748dddee8564a13c58406282da439dd6dbbcf6e5721ab705945ada9b0b59d9f2d5c1380fee7895955fb4b3a5db661cb51
         | 
| 7 | 
            +
              data.tar.gz: 523a878f9f686ce5ef81e409957cfc778a40813584d0340f0ecfc12af07c26c20d540b0d0d5817b2e94ba813ffd09f51192a747da7a0413c7084044426a59d02
         | 
    
        data/aws-keychain-util.gemspec
    CHANGED
    
    | @@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) | |
| 4 4 |  | 
| 5 5 | 
             
            Gem::Specification.new do |gem|
         | 
| 6 6 | 
             
              gem.name          = "aws-keychain-util"
         | 
| 7 | 
            -
              gem.version       = '0.0. | 
| 7 | 
            +
              gem.version       = '0.0.12'
         | 
| 8 8 | 
             
              gem.authors       = ["Zach Wily"]
         | 
| 9 9 | 
             
              gem.email         = ["zach@zwily.com"]
         | 
| 10 10 | 
             
              gem.description   = %q{Helps manage a keychain of AWS credentials on OS X.}
         | 
| @@ -16,7 +16,7 @@ Gem::Specification.new do |gem| | |
| 16 16 | 
             
              gem.test_files    = gem.files.grep(%r{^(test|spec|features)/})
         | 
| 17 17 | 
             
              gem.require_paths = ["lib"]
         | 
| 18 18 |  | 
| 19 | 
            -
              gem.add_dependency('ruby-keychain')
         | 
| 19 | 
            +
              gem.add_dependency('ruby-keychain', '~> 0.2.0')
         | 
| 20 20 | 
             
              gem.add_dependency('highline')
         | 
| 21 21 | 
             
              gem.add_dependency('aws-sdk-v1')
         | 
| 22 22 | 
             
            end
         | 
    
        data/bin/aws-creds
    CHANGED
    
    | @@ -151,18 +151,18 @@ when 'mfa' | |
| 151 151 | 
             
                sts_item.delete
         | 
| 152 152 | 
             
                sts_token.delete if sts_token
         | 
| 153 153 | 
             
              end
         | 
| 154 | 
            -
             | 
| 154 | 
            +
             | 
| 155 155 | 
             
              item, token = get_item(item_name)
         | 
| 156 156 | 
             
              sts = AWS::STS.new(:access_key_id => item.attributes[:account], :secret_access_key => item.password)
         | 
| 157 157 | 
             
              begin
         | 
| 158 158 | 
             
                response = sts.new_session(:duration => (60 * 60 * 12), :serial_number => item.attributes[:comment], :token_code => code)
         | 
| 159 159 | 
             
                temp_item = keychain.generic_passwords.create(:label => "#{item_name} mfa",
         | 
| 160 | 
            -
                                                              :account => response.credentials[:access_key_id], | 
| 161 | 
            -
                                                              :password=> response.credentials[:secret_access_key], | 
| 160 | 
            +
                                                              :account => response.credentials[:access_key_id],
         | 
| 161 | 
            +
                                                              :password=> response.credentials[:secret_access_key],
         | 
| 162 162 | 
             
                                                              :comment => response.expires_at.to_i.to_s)
         | 
| 163 163 | 
             
                temp_token = keychain.generic_passwords.create(:label => "#{item_name} token",
         | 
| 164 | 
            -
                                                              :account => "#{response.credentials[:access_key_id]}_token", | 
| 165 | 
            -
                                                              :password=> response.credentials[:session_token], | 
| 164 | 
            +
                                                              :account => "#{response.credentials[:access_key_id]}_token",
         | 
| 165 | 
            +
                                                              :password=> response.credentials[:session_token],
         | 
| 166 166 | 
             
                                                              :comment => response.expires_at.to_i.to_s)
         | 
| 167 167 |  | 
| 168 168 | 
             
                puts "MultiFactorAuthentication succeeded, expiration is #{response.expires_at}"
         | 
| @@ -181,6 +181,7 @@ when 'env' | |
| 181 181 | 
             
              puts "export AWS_CREDS_NAME=\"#{item.attributes[:label]}\""
         | 
| 182 182 | 
             
              if token
         | 
| 183 183 | 
             
                puts "export AWS_SECURITY_TOKEN=\"#{token.password}\""
         | 
| 184 | 
            +
                puts "export AWS_SESSION_TOKEN=\"#{token.password}\""
         | 
| 184 185 | 
             
              end
         | 
| 185 186 |  | 
| 186 187 | 
             
            when 'shell'
         | 
| @@ -197,7 +198,7 @@ when 'shell' | |
| 197 198 | 
             
              aws_env['AWS_SECRET_ACCESS_KEY'] = aws_env['AWS_SECRET_KEY'] = item.password
         | 
| 198 199 | 
             
              aws_env['AWS_CREDS_NAME'] = item.attributes[:label]
         | 
| 199 200 | 
             
              if token
         | 
| 200 | 
            -
                aws_env['AWS_SECURITY_TOKEN'] = token.password
         | 
| 201 | 
            +
                aws_env['AWS_SECURITY_TOKEN'] = aws_env['AWS_SESSION_TOKEN'] = token.password
         | 
| 201 202 | 
             
              end
         | 
| 202 203 |  | 
| 203 204 | 
             
              if ARGV.empty?
         | 
| @@ -215,4 +216,3 @@ else | |
| 215 216 | 
             
              puts "Usage: #{$0} <command> <arguments>"
         | 
| 216 217 | 
             
              puts "  Commands: init, ls, add, cat, env, mfa, rm, shell"
         | 
| 217 218 | 
             
            end
         | 
| 218 | 
            -
             | 
    
        data/lib/aws-keychain-util.rb
    CHANGED
    
    | @@ -2,16 +2,15 @@ module AwsKeychainUtil | |
| 2 2 | 
             
              PREFS_FILE = File.expand_path "~/.aws-keychain-util"
         | 
| 3 3 |  | 
| 4 4 | 
             
              def self.load_keychain
         | 
| 5 | 
            -
                 | 
| 6 | 
            -
             | 
| 7 | 
            -
                  Keychain.open(prefs['aws_keychain_name'])
         | 
| 8 | 
            -
                else
         | 
| 9 | 
            -
                  Keychain.default
         | 
| 10 | 
            -
                end
         | 
| 11 | 
            -
                keychain
         | 
| 5 | 
            +
                name = prefs['aws_keychain_name']
         | 
| 6 | 
            +
                name ? Keychain.open(name) : Keychain.default
         | 
| 12 7 | 
             
              end
         | 
| 13 8 |  | 
| 14 9 | 
             
              def self.prefs
         | 
| 15 | 
            -
                 | 
| 10 | 
            +
                if File.exist? PREFS_FILE
         | 
| 11 | 
            +
                  JSON.parse(File.read(PREFS_FILE))
         | 
| 12 | 
            +
                else
         | 
| 13 | 
            +
                  {}
         | 
| 14 | 
            +
                end
         | 
| 16 15 | 
             
              end
         | 
| 17 16 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,29 +1,29 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: aws-keychain-util
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.12
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Zach Wily
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015- | 
| 11 | 
            +
            date: 2015-08-31 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: ruby-keychain
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 | 
            -
                - - " | 
| 17 | 
            +
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version:  | 
| 19 | 
            +
                    version: 0.2.0
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 | 
            -
                - - " | 
| 24 | 
            +
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version:  | 
| 26 | 
            +
                    version: 0.2.0
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: highline
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         |