aws-asmr 0.0.2 → 0.0.4

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: 835cbd8229688b55325fc159ff11c3a58328e3f3aea46545a01e3334e4f51d40
4
- data.tar.gz: bde2964ec79ffee96faf76e4c474565e2bb49835876ea49821a598fd1f1c4bf9
3
+ metadata.gz: b9804add634c49c85745aa41741d6558b7dc5e0cab20426aaa9827eb06ae6808
4
+ data.tar.gz: 8ebaaabd5a6a65c5609ff08a2723a4fa135298667b842cd7175549dec6069b96
5
5
  SHA512:
6
- metadata.gz: 19f15c50355acc26084b49a6c92e3ad9f27f554fb2ab74bdb6ff0a0cc76434bdb027161e5cfbfa6ab334ba1695f55ff80ee512938926130e041eb154d34bac4f
7
- data.tar.gz: 4a1e728c817c72a0655c3cfe5da36637989b5300f17a7f019fc975d059c6aac95e2c16080f0ba68adb9e2e8e33023fb4bf2708e734fbdd0b51f20df9dece94f3
6
+ metadata.gz: 0345bb76d7e174c1a18debd29a262d85506cb95f4e2c76c7f4aa86a1ca9bd6de6c09c5a040d12794cae2af1ea18582d311789bf458fb935a1525d0c30dd5ab37
7
+ data.tar.gz: 4fb26c3b1aeb378ff4da4e47b0bf5450c70223d781f1993c1dbb03353755eb59781d8ba7a61e5798d19e003491cca53d6a3307afd2adff7312e04b52d9374fd4
data/README.md CHANGED
@@ -4,22 +4,13 @@
4
4
 
5
5
  ## Install
6
6
 
7
- Only gem(ruby package) install is supported now, sorry!
8
-
9
7
  ```
10
- gem install aws-asmr
11
- gem which aws/asmr
12
-
13
- # Set `PATH` generated from command below
14
- gem which aws/asmr | sed -e "s/lib\/aws\/asmr.rb/bin/" | sed "s/^/PATH=/" | sed "s/$/:\$PATH/"
15
-
16
- # Only in current shell
17
- . <(gem which aws/asmr | sed -e "s/lib\/aws\/asmr.rb/bin/" | sed "s/^/PATH=/" | sed "s/$/:\$PATH/")
18
-
19
- # Set PATH everytime started zsh session
20
- gem which aws/asmr | sed -e "s/lib\/aws\/asmr.rb/bin/" | sed "s/^/PATH=/" | sed "s/$/:\$PATH/" >> ~/.zshrc
8
+ gem "aws-asmr"
9
+ gem "rexml" # ox, oga, libxml, nokogiri or rexml
10
+ ```
21
11
 
22
- asmr --version
12
+ ```
13
+ bundle exec asmr
23
14
  ```
24
15
 
25
16
  ## Command Example
data/bin/asmr CHANGED
@@ -66,11 +66,12 @@ end
66
66
 
67
67
  begin
68
68
  serial_number = Aws::ASMR.detect_mfa_device_serial_number
69
+ assume_role_args = asmr_alias ? asmr_alias.assume_role_args : {}
69
70
  assume_role_args = if serial_number
70
71
  token_code = prompt.ask("Type MFA token code:")
71
- {serial_number: serial_number, token_code: token_code}
72
+ assume_role_args.merge({serial_number: serial_number, token_code: token_code})
72
73
  else
73
- {}
74
+ assume_role_args
74
75
  end
75
76
 
76
77
  res = Aws::ASMR.assume_role(assume_role_arn, **assume_role_args)
@@ -79,5 +80,10 @@ begin
79
80
  run(command_args, cache.shell_variables)
80
81
  rescue => e
81
82
  STDERR.puts e.message
83
+ if options[:verbose]
84
+ STDERR.puts e.backtrace
85
+ else
86
+ STDERR.puts "Add --verbose for more error information."
87
+ end
82
88
  exit(1)
83
89
  end
@@ -3,7 +3,7 @@ require 'aws/asmr'
3
3
 
4
4
  module Aws
5
5
  module ASMR
6
- class Alias < Struct.new(:arn, :access_key_id, :secret_access_key, :profile, keyword_init: true)
6
+ class Alias < Struct.new(:arn, :access_key_id, :secret_access_key, :profile, :external_id, :role_session_name, keyword_init: true)
7
7
 
8
8
  PATH = "#{Aws::ASMR::ROOT}/alias"
9
9
 
@@ -56,6 +56,10 @@ module Aws
56
56
  ENV["AWS_PROFILE"] = profile
57
57
  end
58
58
  end
59
+
60
+ def assume_role_args
61
+ {external_id: external_id, role_session_name: role_session_name}.compact
62
+ end
59
63
  end
60
64
  end
61
65
  end
@@ -37,6 +37,9 @@ module Aws::ASMR
37
37
  opts.on("--version", "Prints version") do
38
38
  options[:version] = true
39
39
  end
40
+ opts.on("--verbose", "Prints verbose") do
41
+ options[:verbose] = true
42
+ end
40
43
  opts.on("--clear", "Clear cache") do
41
44
  options[:clear] = true
42
45
  # require "aws/asmr/version"
@@ -1,5 +1,5 @@
1
1
  module Aws
2
2
  module ASMR
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
data/lib/aws/asmr.rb CHANGED
@@ -24,6 +24,8 @@ module Aws
24
24
  iam_client = Aws::IAM::Client.new(region: 'us-east-1')
25
25
  res = iam_client.list_mfa_devices
26
26
  res.mfa_devices.detect(&:serial_number)&.serial_number
27
+ rescue Aws::IAM::Errors::AccessDenied => e
28
+ nil
27
29
  end
28
30
 
29
31
  module_function :assume_role, :detect_mfa_device_serial_number
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-asmr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - metheglin
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-13 00:00:00.000000000 Z
11
+ date: 2026-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -85,7 +85,7 @@ homepage: https://rubygems.org/gems/aws-asmr
85
85
  licenses:
86
86
  - MIT
87
87
  metadata: {}
88
- post_install_message:
88
+ post_install_message:
89
89
  rdoc_options: []
90
90
  require_paths:
91
91
  - lib
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
101
  version: '0'
102
102
  requirements: []
103
103
  rubygems_version: 3.1.4
104
- signing_key:
104
+ signing_key:
105
105
  specification_version: 4
106
106
  summary: aws command line tool for ASMR. ASMR stands for AssumeRole, obviously!
107
107
  test_files: []