awskeyring 1.1.2 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/awskeyring.rb +25 -0
- data/lib/awskeyring/version.rb +1 -1
- data/lib/awskeyring_command.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c691b2c94541dc7bf3562ae06b25231dbc8b04f42a04cb327209424f46c9849
|
4
|
+
data.tar.gz: a4c0362c4656c64de13708d44a38a1258da651abc1fb79635d99992b0259fd4a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7982836f83b748af2e4a64ce91b74f33f7f26a6423919fe0ce114011b8ffae9af61039e93a9307e7caeb97eb60ba22131dc57725d6bedd69529fc80e57c6db2
|
7
|
+
data.tar.gz: 79700754547b8ce87008a8624686dac7d362947f48e2e9a8a9904e71522454c53c63ed5edfc0fea5f16f5b2be9409641375836fb78fc0dd1c6f91c7b7b6464ca
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [v1.2.0](https://github.com/servian/awskeyring/tree/v1.2.0) (2020-01-20)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/servian/awskeyring/compare/v1.1.2...v1.2.0)
|
6
|
+
|
7
|
+
**Implemented enhancements:**
|
8
|
+
|
9
|
+
- Check for existing account keys and role arns [\#56](https://github.com/servian/awskeyring/pull/56) ([tristanmorgan](https://github.com/tristanmorgan))
|
10
|
+
|
3
11
|
## [v1.1.2](https://github.com/servian/awskeyring/tree/v1.1.2) (2020-01-06)
|
4
12
|
|
5
13
|
[Full Changelog](https://github.com/servian/awskeyring/compare/v1.1.1...v1.1.2)
|
data/lib/awskeyring.rb
CHANGED
@@ -87,6 +87,11 @@ module Awskeyring # rubocop:disable Metrics/ModuleLength
|
|
87
87
|
load_keychain.generic_passwords
|
88
88
|
end
|
89
89
|
|
90
|
+
# return an item by accout
|
91
|
+
private_class_method def self.item_by_account(account)
|
92
|
+
all_items.where(account: account).first
|
93
|
+
end
|
94
|
+
|
90
95
|
# Add an account item
|
91
96
|
#
|
92
97
|
# @param [String] account The account name to create
|
@@ -308,6 +313,16 @@ module Awskeyring # rubocop:disable Metrics/ModuleLength
|
|
308
313
|
account_name
|
309
314
|
end
|
310
315
|
|
316
|
+
# Validate access key does not exists
|
317
|
+
#
|
318
|
+
# @param [String] access_key the associated access key.
|
319
|
+
def self.access_key_not_exists(access_key)
|
320
|
+
Awskeyring::Validate.access_key(access_key)
|
321
|
+
raise 'Access KEY already exists' if item_by_account(access_key)
|
322
|
+
|
323
|
+
access_key
|
324
|
+
end
|
325
|
+
|
311
326
|
# Validate role exists
|
312
327
|
#
|
313
328
|
# @param [String] role_name the associated role name.
|
@@ -327,4 +342,14 @@ module Awskeyring # rubocop:disable Metrics/ModuleLength
|
|
327
342
|
|
328
343
|
role_name
|
329
344
|
end
|
345
|
+
|
346
|
+
# Validate role arn not exists
|
347
|
+
#
|
348
|
+
# @param [String] role_arn the associated role arn.
|
349
|
+
def self.role_arn_not_exists(role_arn)
|
350
|
+
Awskeyring::Validate.role_arn(role_arn)
|
351
|
+
raise 'Role ARN already exists' if item_by_account(role_arn)
|
352
|
+
|
353
|
+
role_arn
|
354
|
+
end
|
330
355
|
end
|
data/lib/awskeyring/version.rb
CHANGED
data/lib/awskeyring_command.rb
CHANGED
@@ -149,7 +149,7 @@ class AwskeyringCommand < Thor # rubocop:disable Metrics/ClassLength
|
|
149
149
|
existing: account, message: I18n.t('message.account'), validator: Awskeyring.method(:account_not_exists)
|
150
150
|
)
|
151
151
|
key = ask_check(
|
152
|
-
existing: options[:key], message: I18n.t('message.key'), validator: Awskeyring
|
152
|
+
existing: options[:key], message: I18n.t('message.key'), validator: Awskeyring.method(:access_key_not_exists)
|
153
153
|
)
|
154
154
|
secret = ask_check(
|
155
155
|
existing: options[:secret], message: I18n.t('message.secret'),
|
@@ -181,7 +181,7 @@ class AwskeyringCommand < Thor # rubocop:disable Metrics/ClassLength
|
|
181
181
|
limited_to: Awskeyring.list_account_names
|
182
182
|
)
|
183
183
|
key = ask_check(
|
184
|
-
existing: options[:key], message: I18n.t('message.key'), validator: Awskeyring
|
184
|
+
existing: options[:key], message: I18n.t('message.key'), validator: Awskeyring.method(:access_key_not_exists)
|
185
185
|
)
|
186
186
|
secret = ask_check(
|
187
187
|
existing: options[:secret], message: I18n.t('message.secret'),
|
@@ -207,7 +207,7 @@ class AwskeyringCommand < Thor # rubocop:disable Metrics/ClassLength
|
|
207
207
|
)
|
208
208
|
arn = ask_check(
|
209
209
|
existing: options[:arn], message: I18n.t('message.arn'),
|
210
|
-
validator: Awskeyring
|
210
|
+
validator: Awskeyring.method(:role_arn_not_exists)
|
211
211
|
)
|
212
212
|
|
213
213
|
Awskeyring.add_role(
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awskeyring
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tristan Morgan
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-iam
|