stack_master 1.13.0 → 1.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/aws_driver/sts.rb +22 -0
- data/lib/stack_master/cli.rb +4 -6
- data/lib/stack_master/target_definition.rb +13 -0
- data/lib/stack_master/test_driver/sts.rb +22 -0
- data/lib/stack_master/version.rb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c61a62b352e2b92b35889b4adbf9f723c65b815cbb04c81f9716cc10000d220
|
4
|
+
data.tar.gz: 02f8827f12a3f1321c4f51984a23f23e66d1ad5c82e28612c56e64b8c7553cbc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0990e86ffb2dd1d8c745a74b2e39c24adfb430fc7678f647ab88bdd6153bbf45a9aa0bd744f00c3a527165bee5ce6b5f6980c161403f86950e0737ab52f4dd9
|
7
|
+
data.tar.gz: d0941fc85e852593683bfd976cbc5e872c260ab9e5f297938dbacfb16ec1c73b7c56e52eebb4e7b4f897c423383961fa6b4768b7361bb2e6ff1dded2a4d2dc0e
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module StackMaster
|
2
|
+
module AwsDriver
|
3
|
+
class STS
|
4
|
+
def set_region(region)
|
5
|
+
@region = region
|
6
|
+
end
|
7
|
+
|
8
|
+
def get_account_id
|
9
|
+
sts = new_sts_client
|
10
|
+
# This should always work as you cannot allow/deny access to this API
|
11
|
+
identity = sts.get_caller_identity
|
12
|
+
return identity['account']
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def new_sts_client
|
18
|
+
Aws::STS::Client.new(region: @region)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/stack_master/cli.rb
CHANGED
@@ -211,7 +211,7 @@ module StackMaster
|
|
211
211
|
end
|
212
212
|
|
213
213
|
def execute_stacks_command(command, args, options)
|
214
|
-
|
214
|
+
success = true
|
215
215
|
config = load_config(options.config)
|
216
216
|
args = [nil, nil] if args.size == 0
|
217
217
|
args.each_slice(2) do |aliased_region, stack_name|
|
@@ -220,7 +220,7 @@ module StackMaster
|
|
220
220
|
stack_definitions = config.filter(region, stack_name)
|
221
221
|
if stack_definitions.empty?
|
222
222
|
StackMaster.stdout.puts "Could not find stack definition #{stack_name} in region #{region}"
|
223
|
-
|
223
|
+
success = false
|
224
224
|
end
|
225
225
|
stack_definitions = stack_definitions.select do |stack_definition|
|
226
226
|
StackStatus.new(config, stack_definition).changed?
|
@@ -228,12 +228,10 @@ module StackMaster
|
|
228
228
|
stack_definitions.each do |stack_definition|
|
229
229
|
StackMaster.cloud_formation_driver.set_region(stack_definition.region)
|
230
230
|
StackMaster.stdout.puts "Executing #{command.command_name} on #{stack_definition.stack_name} in #{stack_definition.region}"
|
231
|
-
|
231
|
+
success = false unless command.perform(config, stack_definition, options).success?
|
232
232
|
end
|
233
233
|
end
|
234
|
-
|
235
|
-
# fail command execution if something went wrong
|
236
|
-
@kernel.exit 1 unless command_results.all?
|
234
|
+
success
|
237
235
|
end
|
238
236
|
end
|
239
237
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module StackMaster
|
2
|
+
class TargetDefinition
|
3
|
+
attr_reader :region,
|
4
|
+
:account_id,
|
5
|
+
:stack_definition
|
6
|
+
|
7
|
+
def initialize(region:, account_id:, stack_definition:)
|
8
|
+
@region = region
|
9
|
+
@account_id = account_id
|
10
|
+
@stack_definition = stack_definition
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module StackMaster
|
2
|
+
module TestDriver
|
3
|
+
class STS
|
4
|
+
attr_accessor :account_id
|
5
|
+
def initialize
|
6
|
+
reset
|
7
|
+
end
|
8
|
+
|
9
|
+
def reset
|
10
|
+
@account_id = "12345678910"
|
11
|
+
end
|
12
|
+
|
13
|
+
def set_region(region)
|
14
|
+
@region = region
|
15
|
+
end
|
16
|
+
|
17
|
+
def get_account_id
|
18
|
+
@account_id
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
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: 1.13.
|
4
|
+
version: 1.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: 2019-
|
12
|
+
date: 2019-03-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -417,6 +417,7 @@ files:
|
|
417
417
|
- lib/stack_master.rb
|
418
418
|
- lib/stack_master/aws_driver/cloud_formation.rb
|
419
419
|
- lib/stack_master/aws_driver/s3.rb
|
420
|
+
- lib/stack_master/aws_driver/sts.rb
|
420
421
|
- lib/stack_master/change_set.rb
|
421
422
|
- lib/stack_master/cli.rb
|
422
423
|
- lib/stack_master/command.rb
|
@@ -478,6 +479,7 @@ files:
|
|
478
479
|
- lib/stack_master/stack_events/streamer.rb
|
479
480
|
- lib/stack_master/stack_states.rb
|
480
481
|
- lib/stack_master/stack_status.rb
|
482
|
+
- lib/stack_master/target_definition.rb
|
481
483
|
- lib/stack_master/template_compiler.rb
|
482
484
|
- lib/stack_master/template_compilers/cfndsl.rb
|
483
485
|
- lib/stack_master/template_compilers/json.rb
|
@@ -486,6 +488,7 @@ files:
|
|
486
488
|
- lib/stack_master/template_utils.rb
|
487
489
|
- lib/stack_master/test_driver/cloud_formation.rb
|
488
490
|
- lib/stack_master/test_driver/s3.rb
|
491
|
+
- lib/stack_master/test_driver/sts.rb
|
489
492
|
- lib/stack_master/testing.rb
|
490
493
|
- lib/stack_master/utils.rb
|
491
494
|
- lib/stack_master/validator.rb
|
@@ -513,8 +516,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
513
516
|
- !ruby/object:Gem::Version
|
514
517
|
version: '0'
|
515
518
|
requirements: []
|
516
|
-
|
517
|
-
rubygems_version: 2.7.6
|
519
|
+
rubygems_version: 3.0.3
|
518
520
|
signing_key:
|
519
521
|
specification_version: 4
|
520
522
|
summary: StackMaster is a sure-footed way of creating, updating and keeping track
|