stack_master 2.13.0 → 2.13.1
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/lib/stack_master/cli.rb +1 -1
- data/lib/stack_master/identity.rb +15 -4
- data/lib/stack_master/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c003a9755154a92dc52a3ed8c4e834caf66eb92c520ca8b695be7661ab47404
|
4
|
+
data.tar.gz: 5a3b2c9e0afef8120f6fcc0df4041ef003b1e42e86c0584a33148a4ec1ef74be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 58df6d821a3048a1edda08a3bf63407093b4a942d185491e4d686f74fea0718c2973790aaf8d8e4c5f609b58bedd25a8dcf601d58d92a3be5b3d90e859477c9e
|
7
|
+
data.tar.gz: b54493fb2e7b2ec35bb2abfa88da2dde6cfc16e3187037a890031760b5bab136848680a6a1d22a9ee101a2a0ae47cac6d8a3677519da3b6bc996208aa4006478
|
data/lib/stack_master/cli.rb
CHANGED
@@ -7,7 +7,7 @@ module StackMaster
|
|
7
7
|
|
8
8
|
def initialize(argv, stdin=STDIN, stdout=STDOUT, stderr=STDERR, kernel=Kernel)
|
9
9
|
@argv, @stdin, @stdout, @stderr, @kernel = argv, stdin, stdout, stderr, kernel
|
10
|
-
Commander::Runner.instance_variable_set('@
|
10
|
+
Commander::Runner.instance_variable_set('@instance', Commander::Runner.new(argv))
|
11
11
|
StackMaster.stdout = @stdout
|
12
12
|
StackMaster.stderr = @stderr
|
13
13
|
TablePrint::Config.io = StackMaster.stdout
|
@@ -1,12 +1,17 @@
|
|
1
1
|
module StackMaster
|
2
2
|
class Identity
|
3
|
+
AllowedAccountAliasesError = Class.new(StandardError)
|
3
4
|
MissingIamPermissionsError = Class.new(StandardError)
|
4
5
|
|
5
6
|
def running_in_account?(accounts)
|
6
|
-
accounts.nil? ||
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
return true if accounts.nil? || accounts.empty? || contains_account_id?(accounts)
|
8
|
+
|
9
|
+
# skip alias check (which makes an API call) if all values are account IDs
|
10
|
+
return false if accounts.all? { |account| account_id?(account) }
|
11
|
+
|
12
|
+
contains_account_alias?(accounts)
|
13
|
+
rescue MissingIamPermissionsError
|
14
|
+
raise AllowedAccountAliasesError, 'Failed to validate whether the current AWS account is allowed'
|
10
15
|
end
|
11
16
|
|
12
17
|
def account
|
@@ -40,5 +45,11 @@ module StackMaster
|
|
40
45
|
def contains_account_alias?(aliases)
|
41
46
|
account_aliases.any? { |account_alias| aliases.include?(account_alias) }
|
42
47
|
end
|
48
|
+
|
49
|
+
def account_id?(id_or_alias)
|
50
|
+
# While it's not explicitly documented as prohibited, it cannot (currently) be possible to set an account alias of
|
51
|
+
# 12 digits, as that could cause one console sign-in URL to resolve to two separate accounts.
|
52
|
+
/^[0-9]{12}$/.match?(id_or_alias)
|
53
|
+
end
|
43
54
|
end
|
44
55
|
end
|
data/lib/stack_master/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stack_master
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.13.
|
4
|
+
version: 2.13.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Hodgkiss
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-10-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -143,7 +143,7 @@ dependencies:
|
|
143
143
|
requirements:
|
144
144
|
- - ">="
|
145
145
|
- !ruby/object:Gem::Version
|
146
|
-
version: 4.
|
146
|
+
version: 4.6.0
|
147
147
|
- - "<"
|
148
148
|
- !ruby/object:Gem::Version
|
149
149
|
version: '5'
|
@@ -153,7 +153,7 @@ dependencies:
|
|
153
153
|
requirements:
|
154
154
|
- - ">="
|
155
155
|
- !ruby/object:Gem::Version
|
156
|
-
version: 4.
|
156
|
+
version: 4.6.0
|
157
157
|
- - "<"
|
158
158
|
- !ruby/object:Gem::Version
|
159
159
|
version: '5'
|
@@ -563,8 +563,8 @@ licenses:
|
|
563
563
|
metadata:
|
564
564
|
bug_tracker_uri: https://github.com/envato/stack_master/issues
|
565
565
|
changelog_uri: https://github.com/envato/stack_master/blob/master/CHANGELOG.md
|
566
|
-
documentation_uri: https://www.rubydoc.info/gems/stack_master/2.13.
|
567
|
-
source_code_uri: https://github.com/envato/stack_master/tree/v2.13.
|
566
|
+
documentation_uri: https://www.rubydoc.info/gems/stack_master/2.13.1
|
567
|
+
source_code_uri: https://github.com/envato/stack_master/tree/v2.13.1
|
568
568
|
post_install_message:
|
569
569
|
rdoc_options: []
|
570
570
|
require_paths:
|
@@ -580,7 +580,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
580
580
|
- !ruby/object:Gem::Version
|
581
581
|
version: '0'
|
582
582
|
requirements: []
|
583
|
-
rubygems_version: 3.
|
583
|
+
rubygems_version: 3.0.4
|
584
584
|
signing_key:
|
585
585
|
specification_version: 4
|
586
586
|
summary: StackMaster is a sure-footed way of creating, updating and keeping track
|