lono 4.2.7 → 5.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/.cody/README.md +6 -0
  3. data/.cody/acceptance.sh +30 -0
  4. data/.cody/buildspec.yml +21 -0
  5. data/.cody/demo.rb +38 -0
  6. data/.cody/project.rb +12 -0
  7. data/.cody/role.rb +1 -0
  8. data/.gitignore +2 -0
  9. data/.gitmodules +6 -3
  10. data/.travis.yml +7 -0
  11. data/CHANGELOG.md +10 -0
  12. data/Gemfile +0 -1
  13. data/LICENSE.txt +1 -22
  14. data/README.md +46 -55
  15. data/lib/lono.rb +20 -27
  16. data/lib/lono/app_file.rb +5 -0
  17. data/lib/lono/app_file/base.rb +19 -0
  18. data/lib/lono/app_file/build.rb +78 -0
  19. data/lib/lono/app_file/registry.rb +14 -0
  20. data/lib/lono/app_file/registry/item.rb +46 -0
  21. data/lib/lono/app_file/upload.rb +39 -0
  22. data/lib/lono/autoloader.rb +22 -0
  23. data/lib/lono/aws_services.rb +46 -0
  24. data/lib/lono/aws_services/util.rb +49 -0
  25. data/lib/lono/blueprint.rb +113 -0
  26. data/lib/lono/blueprint/find.rb +90 -0
  27. data/lib/lono/blueprint/helper.rb +18 -0
  28. data/lib/lono/blueprint/info.rb +10 -0
  29. data/lib/lono/blueprint/list.rb +14 -0
  30. data/lib/lono/blueprint/root.rb +43 -0
  31. data/lib/lono/cfn.rb +31 -19
  32. data/lib/lono/cfn/aws_service.rb +16 -0
  33. data/lib/lono/cfn/base.rb +244 -261
  34. data/lib/lono/cfn/create.rb +36 -32
  35. data/lib/lono/cfn/current.rb +1 -1
  36. data/lib/lono/cfn/delete.rb +2 -2
  37. data/lib/lono/cfn/deploy.rb +11 -0
  38. data/lib/lono/cfn/diff.rb +1 -1
  39. data/lib/lono/cfn/preview.rb +3 -3
  40. data/lib/lono/cfn/rollback.rb +26 -0
  41. data/lib/lono/cfn/status.rb +2 -203
  42. data/lib/lono/cfn/suffix.rb +67 -0
  43. data/lib/lono/cfn/update.rb +61 -53
  44. data/lib/lono/cli.rb +42 -23
  45. data/lib/lono/completer.rb +0 -2
  46. data/lib/lono/configure.rb +37 -0
  47. data/lib/lono/configure/aws_services.rb +18 -0
  48. data/lib/lono/configure/base.rb +94 -0
  49. data/lib/lono/configure/helpers.rb +128 -0
  50. data/lib/lono/conventions.rb +11 -0
  51. data/lib/lono/core.rb +42 -12
  52. data/lib/lono/core/config.rb +5 -4
  53. data/lib/lono/default/settings.yml +0 -11
  54. data/lib/lono/file_uploader.rb +9 -4
  55. data/lib/lono/help.rb +1 -2
  56. data/lib/lono/help/blueprint.md +46 -0
  57. data/lib/lono/help/cfn.md +5 -4
  58. data/lib/lono/help/cfn/create.md +14 -9
  59. data/lib/lono/help/cfn/deploy.md +92 -0
  60. data/lib/lono/help/cfn/diff.md +0 -1
  61. data/lib/lono/help/cfn/update.md +16 -15
  62. data/lib/lono/help/completion.md +3 -3
  63. data/lib/lono/help/generate.md +0 -1
  64. data/lib/lono/help/new.md +40 -34
  65. data/lib/lono/help/param.md +1 -1
  66. data/lib/lono/help/param/generate.md +1 -1
  67. data/lib/lono/help/template.md +2 -2
  68. data/lib/lono/help/xgraph.md +1 -1
  69. data/lib/lono/inspector.rb +1 -1
  70. data/lib/lono/inspector/base.rb +26 -10
  71. data/lib/lono/inspector/graph.rb +7 -3
  72. data/lib/lono/inspector/summary.rb +15 -3
  73. data/lib/lono/md5.rb +46 -0
  74. data/lib/lono/new.rb +40 -28
  75. data/lib/lono/new/helper.rb +2 -3
  76. data/lib/lono/param.rb +12 -11
  77. data/lib/lono/param/generator.rb +96 -42
  78. data/lib/lono/project_checker.rb +27 -8
  79. data/lib/lono/s3.rb +23 -0
  80. data/lib/lono/s3/bucket.rb +123 -0
  81. data/lib/lono/script.rb +4 -8
  82. data/lib/lono/script/base.rb +7 -2
  83. data/lib/lono/script/build.rb +7 -8
  84. data/lib/lono/script/upload.rb +4 -20
  85. data/lib/lono/sequence.rb +19 -16
  86. data/lib/lono/setting.rb +19 -27
  87. data/lib/lono/template.rb +22 -26
  88. data/lib/lono/template/base.rb +13 -0
  89. data/lib/lono/template/context.rb +4 -56
  90. data/lib/lono/template/context/loader.rb +70 -0
  91. data/lib/lono/template/dsl.rb +15 -151
  92. data/lib/lono/template/dsl/builder.rb +60 -0
  93. data/lib/lono/template/dsl/builder/base.rb +14 -0
  94. data/lib/lono/template/dsl/builder/condition.rb +26 -0
  95. data/lib/lono/template/dsl/builder/fn.rb +114 -0
  96. data/lib/lono/template/dsl/builder/helper.rb +64 -0
  97. data/lib/lono/template/dsl/builder/mapping.rb +24 -0
  98. data/lib/lono/template/dsl/builder/output.rb +37 -0
  99. data/lib/lono/template/dsl/builder/parameter.rb +39 -0
  100. data/lib/lono/template/dsl/builder/resource.rb +38 -0
  101. data/lib/lono/template/dsl/builder/section.rb +12 -0
  102. data/lib/lono/template/dsl/builder/syntax.rb +58 -0
  103. data/lib/lono/template/erb.rb +82 -0
  104. data/lib/lono/template/evaluate.rb +39 -0
  105. data/lib/lono/template/generator.rb +29 -0
  106. data/lib/lono/template/helper.rb +7 -29
  107. data/lib/lono/template/post_processor.rb +69 -0
  108. data/lib/lono/template/template.rb +4 -9
  109. data/lib/lono/template/upload.rb +103 -133
  110. data/lib/lono/template/util.rb +48 -0
  111. data/lib/lono/upgrade.rb +5 -3
  112. data/lib/lono/upgrade/upgrade5.rb +55 -0
  113. data/lib/lono/user_data.rb +4 -4
  114. data/lib/lono/version.rb +1 -1
  115. data/lib/templates/blueprint/%blueprint_name%.gemspec.tt +44 -0
  116. data/lib/templates/blueprint/.gitignore +14 -0
  117. data/lib/templates/blueprint/.lono/config.yml.tt +3 -0
  118. data/lib/templates/blueprint/.meta/config.yml.tt +3 -0
  119. data/lib/templates/blueprint/CHANGELOG.md +7 -0
  120. data/lib/templates/blueprint/Gemfile +4 -0
  121. data/lib/templates/blueprint/README.md +37 -0
  122. data/lib/templates/blueprint/Rakefile +6 -0
  123. data/lib/templates/blueprint/setup/configs.rb +54 -0
  124. data/lib/templates/blueprint_configs/configs/%blueprint_name%/params/base.txt +2 -0
  125. data/lib/{starter_projects/skeleton/app/definitions/base.rb → templates/blueprint_configs/configs/%blueprint_name%/params/development.txt} +0 -0
  126. data/lib/templates/blueprint_configs/configs/%blueprint_name%/variables/base.rb +2 -0
  127. data/lib/templates/blueprint_configs/configs/%blueprint_name%/variables/development.rb +0 -0
  128. data/lib/templates/blueprint_types/dsl/app/templates/%blueprint_name%.rb +37 -0
  129. data/lib/templates/blueprint_types/dsl/app/user_data/bootstrap.sh +2 -0
  130. data/lib/templates/blueprint_types/erb/app/definitions/base.rb.tt +1 -0
  131. data/lib/templates/blueprint_types/erb/app/templates/%blueprint_name%.yml +8 -0
  132. data/lib/{starter_projects/autoscaling → templates/skeleton}/.gitignore +1 -0
  133. data/lib/templates/skeleton/Gemfile +3 -0
  134. data/lib/{starter_projects/autoscaling → templates/skeleton}/Guardfile +2 -2
  135. data/lib/templates/skeleton/README.md +58 -0
  136. data/lib/templates/skeleton/configs/settings.yml +17 -0
  137. data/lib/templates/upgrade5/blueprints/main/.lono/config.yml +3 -0
  138. data/lib/templates/upgrade5/blueprints/main/.meta/config.yml +3 -0
  139. data/lono.gemspec +12 -8
  140. data/vendor/cfn-status/CHANGELOG.md +10 -0
  141. data/vendor/cfn-status/Gemfile +4 -0
  142. data/vendor/cfn-status/LICENSE.txt +21 -0
  143. data/vendor/cfn-status/README.md +56 -0
  144. data/vendor/cfn-status/Rakefile +6 -0
  145. data/vendor/cfn-status/bin/console +14 -0
  146. data/vendor/cfn-status/bin/setup +8 -0
  147. data/vendor/cfn-status/cfn-status.gemspec +30 -0
  148. data/vendor/cfn-status/lib/cfn-status.rb +1 -0
  149. data/vendor/cfn-status/lib/cfn/aws_service.rb +51 -0
  150. data/vendor/cfn-status/lib/cfn/status.rb +219 -0
  151. data/vendor/cfn-status/lib/cfn/status/version.rb +5 -0
  152. data/vendor/cfn-status/spec/cfn/status_spec.rb +81 -0
  153. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json +1080 -0
  154. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json +1080 -0
  155. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json +1086 -0
  156. data/vendor/cfn-status/spec/spec_helper.rb +14 -0
  157. data/vendor/cfn_camelizer/CHANGELOG.md +20 -0
  158. data/vendor/cfn_camelizer/Gemfile +4 -0
  159. data/vendor/cfn_camelizer/LICENSE.txt +21 -0
  160. data/vendor/cfn_camelizer/README.md +40 -0
  161. data/vendor/cfn_camelizer/Rakefile +6 -0
  162. data/vendor/cfn_camelizer/bin/console +14 -0
  163. data/vendor/cfn_camelizer/bin/setup +8 -0
  164. data/vendor/cfn_camelizer/cfn_camelizer.gemspec +32 -0
  165. data/vendor/cfn_camelizer/lib/camelizer.yml +37 -0
  166. data/vendor/cfn_camelizer/lib/cfn_camelizer.rb +94 -0
  167. data/vendor/cfn_camelizer/lib/cfn_camelizer/version.rb +3 -0
  168. data/vendor/cfn_camelizer/spec/cfn_camelizer_spec.rb +86 -0
  169. data/vendor/cfn_camelizer/spec/spec_helper.rb +14 -0
  170. metadata +189 -62
  171. data/.circleci/bin/commit_docs.sh +0 -26
  172. data/.circleci/config.yml +0 -72
  173. data/bin/release +0 -9
  174. data/lib/lono/help/import.md +0 -54
  175. data/lib/lono/importer.rb +0 -134
  176. data/lib/lono/new/message.rb +0 -35
  177. data/lib/starter_projects/autoscaling/Gemfile +0 -3
  178. data/lib/starter_projects/autoscaling/README.md +0 -118
  179. data/lib/starter_projects/autoscaling/app/definitions/base.rb +0 -2
  180. data/lib/starter_projects/autoscaling/app/templates/autoscaling.yml +0 -682
  181. data/lib/starter_projects/autoscaling/config/params/base/autoscaling.txt +0 -6
  182. data/lib/starter_projects/autoscaling/config/settings.yml +0 -33
  183. data/lib/starter_projects/ec2/.gitignore +0 -2
  184. data/lib/starter_projects/ec2/Gemfile +0 -3
  185. data/lib/starter_projects/ec2/Guardfile +0 -12
  186. data/lib/starter_projects/ec2/README.md +0 -86
  187. data/lib/starter_projects/ec2/app/definitions/base.rb +0 -2
  188. data/lib/starter_projects/ec2/app/definitions/development.rb +0 -1
  189. data/lib/starter_projects/ec2/app/definitions/production.rb +0 -1
  190. data/lib/starter_projects/ec2/app/helpers/my_custom_helper.rb +0 -17
  191. data/lib/starter_projects/ec2/app/partials/user_data/bootstrap.sh +0 -4
  192. data/lib/starter_projects/ec2/app/templates/example.yml +0 -430
  193. data/lib/starter_projects/ec2/config/params/base/example.txt +0 -2
  194. data/lib/starter_projects/ec2/config/params/development/example.txt +0 -3
  195. data/lib/starter_projects/ec2/config/params/production/example.txt +0 -2
  196. data/lib/starter_projects/ec2/config/settings.yml +0 -33
  197. data/lib/starter_projects/ec2/config/variables/base.rb +0 -3
  198. data/lib/starter_projects/ec2/config/variables/development.rb +0 -2
  199. data/lib/starter_projects/ec2/config/variables/production.rb +0 -2
  200. data/lib/starter_projects/ec2/welcome.txt +0 -8
  201. data/lib/starter_projects/skeleton/.gitignore +0 -2
  202. data/lib/starter_projects/skeleton/Gemfile +0 -3
  203. data/lib/starter_projects/skeleton/Guardfile +0 -12
  204. data/lib/starter_projects/skeleton/README.md +0 -53
  205. data/lib/starter_projects/skeleton/config/settings.yml +0 -33
  206. data/lib/starter_projects/skeleton/welcome.txt +0 -7
  207. data/vendor/plissken/Gemfile +0 -14
  208. data/vendor/plissken/LICENSE.txt +0 -20
  209. data/vendor/plissken/README.md +0 -46
  210. data/vendor/plissken/Rakefile +0 -56
  211. data/vendor/plissken/VERSION +0 -1
  212. data/vendor/plissken/lib/plissken.rb +0 -1
  213. data/vendor/plissken/lib/plissken/ext/hash/to_snake_keys.rb +0 -45
  214. data/vendor/plissken/plissken.gemspec +0 -61
  215. data/vendor/plissken/spec/lib/to_snake_keys_spec.rb +0 -177
  216. data/vendor/plissken/spec/spec_helper.rb +0 -90
  217. data/vendor/plissken/test/helper.rb +0 -20
  218. data/vendor/plissken/test/plissken/ext/hash/to_snake_keys_test.rb +0 -184
  219. data/vendor/plissken/test/test_plissken.rb +0 -2
@@ -0,0 +1,5 @@
1
+ module Cfn
2
+ class Status
3
+ VERSION = "0.2.0"
4
+ end
5
+ end
@@ -0,0 +1,81 @@
1
+ RSpec.describe Cfn::Status do
2
+ it "has a version number" do
3
+ expect(Cfn::Status::VERSION).not_to be nil
4
+ end
5
+
6
+ let(:status) do
7
+ status = Cfn::Status.new("test-stack")
8
+ allow(status).to receive(:cfn).and_return(cfn)
9
+ status
10
+ end
11
+ let(:cfn) do
12
+ service = double("service").as_null_object
13
+ allow(service).to receive(:describe_stacks).and_return(stack_status)
14
+ allow(service).to receive(:describe_stack_events).and_return(stack_events)
15
+ service
16
+ end
17
+
18
+ context "in progress" do
19
+ let(:stack_status) { "UPDATE_IN_PROGRESS" }
20
+ let(:stack_events) { JSON.load(IO.read("spec/fixtures/cfn/stack-events-in-progress.json")) }
21
+ it "lists events since user initiated event" do
22
+ status.refresh_events
23
+ i = status.find_index(:start)
24
+ expect(i).to eq 15
25
+ # uncomment to view and debug
26
+ # status.show_events
27
+ # puts "****"
28
+ # status.show_events # show not show anything
29
+ end
30
+
31
+ it "lists events since last shown event" do
32
+ # first display
33
+ status.refresh_events
34
+ i = status.find_index(:start)
35
+ expect(i).to eq 15
36
+
37
+ # move the last event back in time 4 events, so should print 3 events
38
+ status.instance_variable_set(:@last_shown_event_id, "TargetGroup-ec634c43-b887-4bde-a525-7c69782865a6")
39
+
40
+ captured_events = []
41
+ allow(status).to receive(:print_event) do |e|
42
+ captured_events << "#{e["resource_type"]} #{e["resource_status"]}"
43
+ end
44
+ status.show_events
45
+ expect(captured_events).to eq([
46
+ "AWS::ElasticLoadBalancingV2::LoadBalancer DELETE_IN_PROGRESS",
47
+ "AWS::ElasticLoadBalancingV2::LoadBalancer DELETE_COMPLETE",
48
+ "AWS::EC2::SecurityGroup DELETE_IN_PROGRESS",
49
+ ])
50
+ end
51
+ end
52
+
53
+ context "complete" do
54
+ let(:stack_status) { "UPDATE_COMPLETE" }
55
+ let(:stack_events) { JSON.load(IO.read("spec/fixtures/cfn/stack-events-complete.json")) }
56
+ it "lists events all the way to completion" do
57
+ status.refresh_events
58
+ i = status.find_index(:start)
59
+ expect(i).to eq 17
60
+ # uncomment to view and debug
61
+ # status.show_events
62
+ end
63
+ end
64
+
65
+ context "update_rollback" do
66
+ let(:stack_status) { "UPDATE_ROLLBACK_COMPLETE" }
67
+ let(:stack_events) { JSON.load(IO.read("spec/fixtures/cfn/stack-events-update-rollback-complete.json")) }
68
+ it "lists events all the way to update rollback complete" do
69
+ status.refresh_events
70
+ expect(status.success?).to be false
71
+ expect(status.update_rollback?).to be true
72
+ expect(status.rollback_error_message).to include("STATIC_NAME")
73
+
74
+ # i = status.find_index(:start)
75
+ # expect(i).to eq 17
76
+ # uncomment to view and debug
77
+ # status.show_events
78
+ end
79
+ end
80
+ end
81
+
@@ -0,0 +1,1080 @@
1
+ {
2
+ "stack_events": [
3
+ {
4
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
5
+ "event_id": "4543a350-7362-11e8-9cba-50d5cd16c68e",
6
+ "stack_name": "demo-web",
7
+ "logical_resource_id": "demo-web",
8
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
9
+ "resource_type": "AWS::CloudFormation::Stack",
10
+ "timestamp": "2018-06-19 01:44:14 UTC",
11
+ "resource_status": "UPDATE_COMPLETE"
12
+ },
13
+ {
14
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
15
+ "event_id": "ElbSecurityGroup-543beb17-2e99-43ed-b191-b15d5e11da79",
16
+ "stack_name": "demo-web",
17
+ "logical_resource_id": "ElbSecurityGroup",
18
+ "physical_resource_id": "sg-e3da72a8",
19
+ "resource_type": "AWS::EC2::SecurityGroup",
20
+ "timestamp": "2018-06-19 01:44:13 UTC",
21
+ "resource_status": "DELETE_COMPLETE"
22
+ },
23
+ {
24
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
25
+ "event_id": "ElbSecurityGroup-b915d3d7-0136-43af-86f5-7e0f2aa25811",
26
+ "stack_name": "demo-web",
27
+ "logical_resource_id": "ElbSecurityGroup",
28
+ "physical_resource_id": "sg-e3da72a8",
29
+ "resource_type": "AWS::EC2::SecurityGroup",
30
+ "timestamp": "2018-06-19 01:43:25 UTC",
31
+ "resource_status": "DELETE_IN_PROGRESS"
32
+ },
33
+ {
34
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
35
+ "event_id": "Elb-48e41804-9d23-4302-97f6-12023a7179e1",
36
+ "stack_name": "demo-web",
37
+ "logical_resource_id": "Elb",
38
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a",
39
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
40
+ "timestamp": "2018-06-19 01:43:23 UTC",
41
+ "resource_status": "DELETE_COMPLETE"
42
+ },
43
+ {
44
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
45
+ "event_id": "Elb-807571cb-2d4a-43b7-b2f0-5f801b4f7b14",
46
+ "stack_name": "demo-web",
47
+ "logical_resource_id": "Elb",
48
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a",
49
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
50
+ "timestamp": "2018-06-19 01:43:23 UTC",
51
+ "resource_status": "DELETE_IN_PROGRESS"
52
+ },
53
+ {
54
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
55
+ "event_id": "TargetGroup-ec634c43-b887-4bde-a525-7c69782865a6",
56
+ "stack_name": "demo-web",
57
+ "logical_resource_id": "TargetGroup",
58
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-16TC4INRX3RED/f48205693f50b7a1",
59
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
60
+ "timestamp": "2018-06-19 01:43:22 UTC",
61
+ "resource_status": "DELETE_COMPLETE"
62
+ },
63
+ {
64
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
65
+ "event_id": "TargetGroup-3b2887fb-00d0-4629-bc21-c6343de22da4",
66
+ "stack_name": "demo-web",
67
+ "logical_resource_id": "TargetGroup",
68
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-16TC4INRX3RED/f48205693f50b7a1",
69
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
70
+ "timestamp": "2018-06-19 01:43:21 UTC",
71
+ "resource_status": "DELETE_IN_PROGRESS"
72
+ },
73
+ {
74
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
75
+ "event_id": "EcsService-65a49928-5719-417c-8b88-d46615a819e0",
76
+ "stack_name": "demo-web",
77
+ "logical_resource_id": "EcsService",
78
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-1N7ADZ6ZXNSHZ",
79
+ "resource_type": "AWS::ECS::Service",
80
+ "timestamp": "2018-06-19 01:43:20 UTC",
81
+ "resource_status": "DELETE_COMPLETE"
82
+ },
83
+ {
84
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
85
+ "event_id": "EcsSecurityGroupRule-cd75e919-18d3-4358-a079-1ce5601f1472",
86
+ "stack_name": "demo-web",
87
+ "logical_resource_id": "EcsSecurityGroupRule",
88
+ "physical_resource_id": "EcsSecurityGroupRule",
89
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
90
+ "timestamp": "2018-06-19 01:42:50 UTC",
91
+ "resource_status": "DELETE_COMPLETE"
92
+ },
93
+ {
94
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
95
+ "event_id": "Listener-40b1dc95-4c2c-43b4-9a3f-a72c0a9a8db2",
96
+ "stack_name": "demo-web",
97
+ "logical_resource_id": "Listener",
98
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a/0269156c6f8a5d37",
99
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
100
+ "timestamp": "2018-06-19 01:42:50 UTC",
101
+ "resource_status": "DELETE_COMPLETE"
102
+ },
103
+ {
104
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
105
+ "event_id": "EcsSecurityGroupRule-426d9090-c431-41f7-a9eb-58dbfa5754ec",
106
+ "stack_name": "demo-web",
107
+ "logical_resource_id": "EcsSecurityGroupRule",
108
+ "physical_resource_id": "EcsSecurityGroupRule",
109
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
110
+ "timestamp": "2018-06-19 01:42:49 UTC",
111
+ "resource_status": "DELETE_IN_PROGRESS"
112
+ },
113
+ {
114
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
115
+ "event_id": "Listener-edc90e3f-5d30-4470-be0f-eaf821cdaf96",
116
+ "stack_name": "demo-web",
117
+ "logical_resource_id": "Listener",
118
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a/0269156c6f8a5d37",
119
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
120
+ "timestamp": "2018-06-19 01:42:49 UTC",
121
+ "resource_status": "DELETE_IN_PROGRESS"
122
+ },
123
+ {
124
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
125
+ "event_id": "EcsService-60b2bae3-abb1-40bc-add1-901baf9cbc38",
126
+ "stack_name": "demo-web",
127
+ "logical_resource_id": "EcsService",
128
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-1N7ADZ6ZXNSHZ",
129
+ "resource_type": "AWS::ECS::Service",
130
+ "timestamp": "2018-06-19 01:42:49 UTC",
131
+ "resource_status": "DELETE_IN_PROGRESS"
132
+ },
133
+ {
134
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
135
+ "event_id": "1191b0b0-7362-11e8-8f9f-500c285eae99",
136
+ "stack_name": "demo-web",
137
+ "logical_resource_id": "demo-web",
138
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
139
+ "resource_type": "AWS::CloudFormation::Stack",
140
+ "timestamp": "2018-06-19 01:42:47 UTC",
141
+ "resource_status": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
142
+ },
143
+ {
144
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
145
+ "event_id": "EcsService-UPDATE_COMPLETE-2018-06-19T01:42:45.150Z",
146
+ "stack_name": "demo-web",
147
+ "logical_resource_id": "EcsService",
148
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-COSKF0KEJ778",
149
+ "resource_type": "AWS::ECS::Service",
150
+ "timestamp": "2018-06-19 01:42:45 UTC",
151
+ "resource_status": "UPDATE_COMPLETE",
152
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/my-elb/0158af4eb596cfd2\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
153
+ },
154
+ {
155
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
156
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-19T01:40:43.817Z",
157
+ "stack_name": "demo-web",
158
+ "logical_resource_id": "EcsService",
159
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-COSKF0KEJ778",
160
+ "resource_type": "AWS::ECS::Service",
161
+ "timestamp": "2018-06-19 01:40:43 UTC",
162
+ "resource_status": "UPDATE_IN_PROGRESS",
163
+ "resource_status_reason": "Resource creation Initiated",
164
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/my-elb/0158af4eb596cfd2\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
165
+ },
166
+ {
167
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
168
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-19T01:40:43.135Z",
169
+ "stack_name": "demo-web",
170
+ "logical_resource_id": "EcsService",
171
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-1N7ADZ6ZXNSHZ",
172
+ "resource_type": "AWS::ECS::Service",
173
+ "timestamp": "2018-06-19 01:40:43 UTC",
174
+ "resource_status": "UPDATE_IN_PROGRESS",
175
+ "resource_status_reason": "Requested update requires the creation of a new physical resource; hence creating one.",
176
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/my-elb/0158af4eb596cfd2\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
177
+ },
178
+ {
179
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
180
+ "event_id": "c32cb870-7361-11e8-aa12-500c28b3e29a",
181
+ "stack_name": "demo-web",
182
+ "logical_resource_id": "demo-web",
183
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
184
+ "resource_type": "AWS::CloudFormation::Stack",
185
+ "timestamp": "2018-06-19 01:40:35 UTC",
186
+ "resource_status": "UPDATE_IN_PROGRESS",
187
+ "resource_status_reason": "User Initiated"
188
+ },
189
+ {
190
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
191
+ "event_id": "b17cfae0-7361-11e8-8652-500c524058c6",
192
+ "stack_name": "demo-web",
193
+ "logical_resource_id": "demo-web",
194
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
195
+ "resource_type": "AWS::CloudFormation::Stack",
196
+ "timestamp": "2018-06-19 01:40:06 UTC",
197
+ "resource_status": "UPDATE_COMPLETE"
198
+ },
199
+ {
200
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
201
+ "event_id": "EcsService-7817b4fd-6a5d-473d-a098-fffc31f8be02",
202
+ "stack_name": "demo-web",
203
+ "logical_resource_id": "EcsService",
204
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-3WUGSQGMX5D7",
205
+ "resource_type": "AWS::ECS::Service",
206
+ "timestamp": "2018-06-19 01:40:05 UTC",
207
+ "resource_status": "DELETE_COMPLETE"
208
+ },
209
+ {
210
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
211
+ "event_id": "EcsService-40f58304-ce99-4a1c-8457-0c1d4c659a8a",
212
+ "stack_name": "demo-web",
213
+ "logical_resource_id": "EcsService",
214
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-3WUGSQGMX5D7",
215
+ "resource_type": "AWS::ECS::Service",
216
+ "timestamp": "2018-06-19 01:39:34 UTC",
217
+ "resource_status": "DELETE_IN_PROGRESS"
218
+ },
219
+ {
220
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
221
+ "event_id": "9d9ffd10-7361-11e8-b9a6-50fae984a0d1",
222
+ "stack_name": "demo-web",
223
+ "logical_resource_id": "demo-web",
224
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
225
+ "resource_type": "AWS::CloudFormation::Stack",
226
+ "timestamp": "2018-06-19 01:39:32 UTC",
227
+ "resource_status": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
228
+ },
229
+ {
230
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
231
+ "event_id": "EcsService-UPDATE_COMPLETE-2018-06-19T01:39:30.206Z",
232
+ "stack_name": "demo-web",
233
+ "logical_resource_id": "EcsService",
234
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-1N7ADZ6ZXNSHZ",
235
+ "resource_type": "AWS::ECS::Service",
236
+ "timestamp": "2018-06-19 01:39:30 UTC",
237
+ "resource_status": "UPDATE_COMPLETE",
238
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-16TC4INRX3RED/f48205693f50b7a1\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
239
+ },
240
+ {
241
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
242
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-19T01:37:29.037Z",
243
+ "stack_name": "demo-web",
244
+ "logical_resource_id": "EcsService",
245
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-1N7ADZ6ZXNSHZ",
246
+ "resource_type": "AWS::ECS::Service",
247
+ "timestamp": "2018-06-19 01:37:29 UTC",
248
+ "resource_status": "UPDATE_IN_PROGRESS",
249
+ "resource_status_reason": "Resource creation Initiated",
250
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-16TC4INRX3RED/f48205693f50b7a1\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
251
+ },
252
+ {
253
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
254
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-19T01:37:28.467Z",
255
+ "stack_name": "demo-web",
256
+ "logical_resource_id": "EcsService",
257
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-3WUGSQGMX5D7",
258
+ "resource_type": "AWS::ECS::Service",
259
+ "timestamp": "2018-06-19 01:37:28 UTC",
260
+ "resource_status": "UPDATE_IN_PROGRESS",
261
+ "resource_status_reason": "Requested update requires the creation of a new physical resource; hence creating one.",
262
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-16TC4INRX3RED/f48205693f50b7a1\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
263
+ },
264
+ {
265
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
266
+ "event_id": "Listener-CREATE_COMPLETE-2018-06-19T01:37:28.191Z",
267
+ "stack_name": "demo-web",
268
+ "logical_resource_id": "Listener",
269
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a/0269156c6f8a5d37",
270
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
271
+ "timestamp": "2018-06-19 01:37:28 UTC",
272
+ "resource_status": "CREATE_COMPLETE",
273
+ "resource_properties": "{\"LoadBalancerArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a\",\"DefaultActions\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-16TC4INRX3RED/f48205693f50b7a1\",\"Type\":\"forward\"}],\"Port\":\"80\",\"Protocol\":\"HTTP\"}"
274
+ },
275
+ {
276
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
277
+ "event_id": "Listener-CREATE_IN_PROGRESS-2018-06-19T01:37:27.393Z",
278
+ "stack_name": "demo-web",
279
+ "logical_resource_id": "Listener",
280
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a/0269156c6f8a5d37",
281
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
282
+ "timestamp": "2018-06-19 01:37:27 UTC",
283
+ "resource_status": "CREATE_IN_PROGRESS",
284
+ "resource_status_reason": "Resource creation Initiated",
285
+ "resource_properties": "{\"LoadBalancerArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a\",\"DefaultActions\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-16TC4INRX3RED/f48205693f50b7a1\",\"Type\":\"forward\"}],\"Port\":\"80\",\"Protocol\":\"HTTP\"}"
286
+ },
287
+ {
288
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
289
+ "event_id": "Listener-CREATE_IN_PROGRESS-2018-06-19T01:37:27.013Z",
290
+ "stack_name": "demo-web",
291
+ "logical_resource_id": "Listener",
292
+ "physical_resource_id": "",
293
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
294
+ "timestamp": "2018-06-19 01:37:27 UTC",
295
+ "resource_status": "CREATE_IN_PROGRESS",
296
+ "resource_properties": "{\"LoadBalancerArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a\",\"DefaultActions\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-16TC4INRX3RED/f48205693f50b7a1\",\"Type\":\"forward\"}],\"Port\":\"80\",\"Protocol\":\"HTTP\"}"
297
+ },
298
+ {
299
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
300
+ "event_id": "TargetGroup-CREATE_COMPLETE-2018-06-19T01:37:24.475Z",
301
+ "stack_name": "demo-web",
302
+ "logical_resource_id": "TargetGroup",
303
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-16TC4INRX3RED/f48205693f50b7a1",
304
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
305
+ "timestamp": "2018-06-19 01:37:24 UTC",
306
+ "resource_status": "CREATE_COMPLETE",
307
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"80\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTP\"}"
308
+ },
309
+ {
310
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
311
+ "event_id": "TargetGroup-CREATE_IN_PROGRESS-2018-06-19T01:37:23.290Z",
312
+ "stack_name": "demo-web",
313
+ "logical_resource_id": "TargetGroup",
314
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-16TC4INRX3RED/f48205693f50b7a1",
315
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
316
+ "timestamp": "2018-06-19 01:37:23 UTC",
317
+ "resource_status": "CREATE_IN_PROGRESS",
318
+ "resource_status_reason": "Resource creation Initiated",
319
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"80\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTP\"}"
320
+ },
321
+ {
322
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
323
+ "event_id": "TargetGroup-CREATE_IN_PROGRESS-2018-06-19T01:37:22.878Z",
324
+ "stack_name": "demo-web",
325
+ "logical_resource_id": "TargetGroup",
326
+ "physical_resource_id": "",
327
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
328
+ "timestamp": "2018-06-19 01:37:22 UTC",
329
+ "resource_status": "CREATE_IN_PROGRESS",
330
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"80\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTP\"}"
331
+ },
332
+ {
333
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
334
+ "event_id": "Elb-CREATE_COMPLETE-2018-06-19T01:37:20.680Z",
335
+ "stack_name": "demo-web",
336
+ "logical_resource_id": "Elb",
337
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a",
338
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
339
+ "timestamp": "2018-06-19 01:37:20 UTC",
340
+ "resource_status": "CREATE_COMPLETE",
341
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-e3da72a8\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web-23\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
342
+ },
343
+ {
344
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
345
+ "event_id": "EcsSecurityGroupRule-CREATE_COMPLETE-2018-06-19T01:35:18.518Z",
346
+ "stack_name": "demo-web",
347
+ "logical_resource_id": "EcsSecurityGroupRule",
348
+ "physical_resource_id": "EcsSecurityGroupRule",
349
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
350
+ "timestamp": "2018-06-19 01:35:18 UTC",
351
+ "resource_status": "CREATE_COMPLETE",
352
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-e3da72a8\",\"GroupId\":\"sg-dc379997\"}"
353
+ },
354
+ {
355
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
356
+ "event_id": "Elb-CREATE_IN_PROGRESS-2018-06-19T01:35:18.390Z",
357
+ "stack_name": "demo-web",
358
+ "logical_resource_id": "Elb",
359
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-3VO09GCMW764/44104adf26b1873a",
360
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
361
+ "timestamp": "2018-06-19 01:35:18 UTC",
362
+ "resource_status": "CREATE_IN_PROGRESS",
363
+ "resource_status_reason": "Resource creation Initiated",
364
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-e3da72a8\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web-23\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
365
+ },
366
+ {
367
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
368
+ "event_id": "EcsSecurityGroupRule-CREATE_IN_PROGRESS-2018-06-19T01:35:17.697Z",
369
+ "stack_name": "demo-web",
370
+ "logical_resource_id": "EcsSecurityGroupRule",
371
+ "physical_resource_id": "EcsSecurityGroupRule",
372
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
373
+ "timestamp": "2018-06-19 01:35:17 UTC",
374
+ "resource_status": "CREATE_IN_PROGRESS",
375
+ "resource_status_reason": "Resource creation Initiated",
376
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-e3da72a8\",\"GroupId\":\"sg-dc379997\"}"
377
+ },
378
+ {
379
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
380
+ "event_id": "Elb-CREATE_IN_PROGRESS-2018-06-19T01:35:17.537Z",
381
+ "stack_name": "demo-web",
382
+ "logical_resource_id": "Elb",
383
+ "physical_resource_id": "",
384
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
385
+ "timestamp": "2018-06-19 01:35:17 UTC",
386
+ "resource_status": "CREATE_IN_PROGRESS",
387
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-e3da72a8\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web-23\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
388
+ },
389
+ {
390
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
391
+ "event_id": "EcsSecurityGroupRule-CREATE_IN_PROGRESS-2018-06-19T01:35:17.523Z",
392
+ "stack_name": "demo-web",
393
+ "logical_resource_id": "EcsSecurityGroupRule",
394
+ "physical_resource_id": "",
395
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
396
+ "timestamp": "2018-06-19 01:35:17 UTC",
397
+ "resource_status": "CREATE_IN_PROGRESS",
398
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-e3da72a8\",\"GroupId\":\"sg-dc379997\"}"
399
+ },
400
+ {
401
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
402
+ "event_id": "ElbSecurityGroup-CREATE_COMPLETE-2018-06-19T01:35:15.453Z",
403
+ "stack_name": "demo-web",
404
+ "logical_resource_id": "ElbSecurityGroup",
405
+ "physical_resource_id": "sg-e3da72a8",
406
+ "resource_type": "AWS::EC2::SecurityGroup",
407
+ "timestamp": "2018-06-19 01:35:15 UTC",
408
+ "resource_status": "CREATE_COMPLETE",
409
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}],\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-elb\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
410
+ },
411
+ {
412
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
413
+ "event_id": "ElbSecurityGroup-CREATE_IN_PROGRESS-2018-06-19T01:35:12.980Z",
414
+ "stack_name": "demo-web",
415
+ "logical_resource_id": "ElbSecurityGroup",
416
+ "physical_resource_id": "sg-e3da72a8",
417
+ "resource_type": "AWS::EC2::SecurityGroup",
418
+ "timestamp": "2018-06-19 01:35:12 UTC",
419
+ "resource_status": "CREATE_IN_PROGRESS",
420
+ "resource_status_reason": "Resource creation Initiated",
421
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}],\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-elb\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
422
+ },
423
+ {
424
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
425
+ "event_id": "ElbSecurityGroup-CREATE_IN_PROGRESS-2018-06-19T01:35:12.117Z",
426
+ "stack_name": "demo-web",
427
+ "logical_resource_id": "ElbSecurityGroup",
428
+ "physical_resource_id": "",
429
+ "resource_type": "AWS::EC2::SecurityGroup",
430
+ "timestamp": "2018-06-19 01:35:12 UTC",
431
+ "resource_status": "CREATE_IN_PROGRESS",
432
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}],\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-elb\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
433
+ },
434
+ {
435
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
436
+ "event_id": "ff4de5f0-7360-11e8-856b-50fae9882035",
437
+ "stack_name": "demo-web",
438
+ "logical_resource_id": "demo-web",
439
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
440
+ "resource_type": "AWS::CloudFormation::Stack",
441
+ "timestamp": "2018-06-19 01:35:07 UTC",
442
+ "resource_status": "UPDATE_IN_PROGRESS",
443
+ "resource_status_reason": "User Initiated"
444
+ },
445
+ {
446
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
447
+ "event_id": "badb9ed0-7360-11e8-ba23-503aca4a5835",
448
+ "stack_name": "demo-web",
449
+ "logical_resource_id": "demo-web",
450
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
451
+ "resource_type": "AWS::CloudFormation::Stack",
452
+ "timestamp": "2018-06-19 01:33:12 UTC",
453
+ "resource_status": "UPDATE_COMPLETE"
454
+ },
455
+ {
456
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
457
+ "event_id": "ElbSecurityGroup-a7a54761-56ba-4410-9e3f-1e219a8a4a90",
458
+ "stack_name": "demo-web",
459
+ "logical_resource_id": "ElbSecurityGroup",
460
+ "physical_resource_id": "sg-f5c26bbe",
461
+ "resource_type": "AWS::EC2::SecurityGroup",
462
+ "timestamp": "2018-06-19 01:33:11 UTC",
463
+ "resource_status": "DELETE_COMPLETE"
464
+ },
465
+ {
466
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
467
+ "event_id": "ElbSecurityGroup-da33b83e-80a5-49ce-b651-aca71f2e04c4",
468
+ "stack_name": "demo-web",
469
+ "logical_resource_id": "ElbSecurityGroup",
470
+ "physical_resource_id": "sg-f5c26bbe",
471
+ "resource_type": "AWS::EC2::SecurityGroup",
472
+ "timestamp": "2018-06-19 01:32:05 UTC",
473
+ "resource_status": "DELETE_IN_PROGRESS"
474
+ },
475
+ {
476
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
477
+ "event_id": "Elb-479bb2c6-00b0-41da-84ed-194b3e9c1168",
478
+ "stack_name": "demo-web",
479
+ "logical_resource_id": "Elb",
480
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158",
481
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
482
+ "timestamp": "2018-06-19 01:32:04 UTC",
483
+ "resource_status": "DELETE_COMPLETE"
484
+ },
485
+ {
486
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
487
+ "event_id": "Elb-31b43685-4613-41ed-aa71-cdd65d3a9ed0",
488
+ "stack_name": "demo-web",
489
+ "logical_resource_id": "Elb",
490
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158",
491
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
492
+ "timestamp": "2018-06-19 01:32:03 UTC",
493
+ "resource_status": "DELETE_IN_PROGRESS"
494
+ },
495
+ {
496
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
497
+ "event_id": "TargetGroup-d5082134-ddcc-4db2-bae1-3b5555a8893d",
498
+ "stack_name": "demo-web",
499
+ "logical_resource_id": "TargetGroup",
500
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209",
501
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
502
+ "timestamp": "2018-06-19 01:32:02 UTC",
503
+ "resource_status": "DELETE_COMPLETE"
504
+ },
505
+ {
506
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
507
+ "event_id": "TargetGroup-5ec17653-f24b-44c0-8a28-c88fdb59967b",
508
+ "stack_name": "demo-web",
509
+ "logical_resource_id": "TargetGroup",
510
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209",
511
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
512
+ "timestamp": "2018-06-19 01:32:02 UTC",
513
+ "resource_status": "DELETE_IN_PROGRESS"
514
+ },
515
+ {
516
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
517
+ "event_id": "EcsService-59707204-ad72-4eec-94d2-2ed97455b404",
518
+ "stack_name": "demo-web",
519
+ "logical_resource_id": "EcsService",
520
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-WB5L8HVGARBJ",
521
+ "resource_type": "AWS::ECS::Service",
522
+ "timestamp": "2018-06-19 01:32:01 UTC",
523
+ "resource_status": "DELETE_COMPLETE"
524
+ },
525
+ {
526
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
527
+ "event_id": "EcsSecurityGroupRule-b2b44dee-965c-48cd-940b-f743b6b5baf0",
528
+ "stack_name": "demo-web",
529
+ "logical_resource_id": "EcsSecurityGroupRule",
530
+ "physical_resource_id": "EcsSecurityGroupRule",
531
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
532
+ "timestamp": "2018-06-19 01:31:01 UTC",
533
+ "resource_status": "DELETE_COMPLETE"
534
+ },
535
+ {
536
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
537
+ "event_id": "Listener-36080d15-51a8-4a64-8e46-59e7b158ee74",
538
+ "stack_name": "demo-web",
539
+ "logical_resource_id": "Listener",
540
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158/8a3e327ae285dedb",
541
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
542
+ "timestamp": "2018-06-19 01:31:00 UTC",
543
+ "resource_status": "DELETE_COMPLETE"
544
+ },
545
+ {
546
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
547
+ "event_id": "Listener-51bdedbf-5dd3-4c58-9a04-8dd8e11ea07f",
548
+ "stack_name": "demo-web",
549
+ "logical_resource_id": "Listener",
550
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158/8a3e327ae285dedb",
551
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
552
+ "timestamp": "2018-06-19 01:31:00 UTC",
553
+ "resource_status": "DELETE_IN_PROGRESS"
554
+ },
555
+ {
556
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
557
+ "event_id": "EcsSecurityGroupRule-c3e534f1-ace5-41fa-bf63-c19fba8dbf02",
558
+ "stack_name": "demo-web",
559
+ "logical_resource_id": "EcsSecurityGroupRule",
560
+ "physical_resource_id": "EcsSecurityGroupRule",
561
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
562
+ "timestamp": "2018-06-19 01:31:00 UTC",
563
+ "resource_status": "DELETE_IN_PROGRESS"
564
+ },
565
+ {
566
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
567
+ "event_id": "EcsService-8ed38b67-3f65-41d5-9bf1-80a9d14fc3b2",
568
+ "stack_name": "demo-web",
569
+ "logical_resource_id": "EcsService",
570
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-WB5L8HVGARBJ",
571
+ "resource_type": "AWS::ECS::Service",
572
+ "timestamp": "2018-06-19 01:30:59 UTC",
573
+ "resource_status": "DELETE_IN_PROGRESS"
574
+ },
575
+ {
576
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
577
+ "event_id": "6afa3fc0-7360-11e8-8cc6-500c5242948e",
578
+ "stack_name": "demo-web",
579
+ "logical_resource_id": "demo-web",
580
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
581
+ "resource_type": "AWS::CloudFormation::Stack",
582
+ "timestamp": "2018-06-19 01:30:58 UTC",
583
+ "resource_status": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
584
+ },
585
+ {
586
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
587
+ "event_id": "EcsService-UPDATE_COMPLETE-2018-06-19T01:30:55.783Z",
588
+ "stack_name": "demo-web",
589
+ "logical_resource_id": "EcsService",
590
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-3WUGSQGMX5D7",
591
+ "resource_type": "AWS::ECS::Service",
592
+ "timestamp": "2018-06-19 01:30:55 UTC",
593
+ "resource_status": "UPDATE_COMPLETE",
594
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
595
+ },
596
+ {
597
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
598
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-19T01:28:54.696Z",
599
+ "stack_name": "demo-web",
600
+ "logical_resource_id": "EcsService",
601
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-3WUGSQGMX5D7",
602
+ "resource_type": "AWS::ECS::Service",
603
+ "timestamp": "2018-06-19 01:28:54 UTC",
604
+ "resource_status": "UPDATE_IN_PROGRESS",
605
+ "resource_status_reason": "Resource creation Initiated",
606
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
607
+ },
608
+ {
609
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
610
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-19T01:28:54.020Z",
611
+ "stack_name": "demo-web",
612
+ "logical_resource_id": "EcsService",
613
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-WB5L8HVGARBJ",
614
+ "resource_type": "AWS::ECS::Service",
615
+ "timestamp": "2018-06-19 01:28:54 UTC",
616
+ "resource_status": "UPDATE_IN_PROGRESS",
617
+ "resource_status_reason": "Requested update requires the creation of a new physical resource; hence creating one.",
618
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
619
+ },
620
+ {
621
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
622
+ "event_id": "1cc446c0-7360-11e8-8a08-500c28604ce6",
623
+ "stack_name": "demo-web",
624
+ "logical_resource_id": "demo-web",
625
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
626
+ "resource_type": "AWS::CloudFormation::Stack",
627
+ "timestamp": "2018-06-19 01:28:47 UTC",
628
+ "resource_status": "UPDATE_IN_PROGRESS",
629
+ "resource_status_reason": "User Initiated"
630
+ },
631
+ {
632
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
633
+ "event_id": "d78988e0-7346-11e8-93ce-500c28659c35",
634
+ "stack_name": "demo-web",
635
+ "logical_resource_id": "demo-web",
636
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
637
+ "resource_type": "AWS::CloudFormation::Stack",
638
+ "timestamp": "2018-06-18 22:27:53 UTC",
639
+ "resource_status": "UPDATE_COMPLETE"
640
+ },
641
+ {
642
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
643
+ "event_id": "d707fcd0-7346-11e8-a61b-500c524058f2",
644
+ "stack_name": "demo-web",
645
+ "logical_resource_id": "demo-web",
646
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
647
+ "resource_type": "AWS::CloudFormation::Stack",
648
+ "timestamp": "2018-06-18 22:27:52 UTC",
649
+ "resource_status": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
650
+ },
651
+ {
652
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
653
+ "event_id": "EcsService-UPDATE_COMPLETE-2018-06-18T22:27:49.258Z",
654
+ "stack_name": "demo-web",
655
+ "logical_resource_id": "EcsService",
656
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-WB5L8HVGARBJ",
657
+ "resource_type": "AWS::ECS::Service",
658
+ "timestamp": "2018-06-18 22:27:49 UTC",
659
+ "resource_status": "UPDATE_COMPLETE",
660
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
661
+ },
662
+ {
663
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
664
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-18T22:19:44.883Z",
665
+ "stack_name": "demo-web",
666
+ "logical_resource_id": "EcsService",
667
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-WB5L8HVGARBJ",
668
+ "resource_type": "AWS::ECS::Service",
669
+ "timestamp": "2018-06-18 22:19:44 UTC",
670
+ "resource_status": "UPDATE_IN_PROGRESS",
671
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-18479b53\",\"sg-c3c16888\",\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
672
+ },
673
+ {
674
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
675
+ "event_id": "Elb-UPDATE_COMPLETE-2018-06-18T22:19:39.365Z",
676
+ "stack_name": "demo-web",
677
+ "logical_resource_id": "Elb",
678
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158",
679
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
680
+ "timestamp": "2018-06-18 22:19:39 UTC",
681
+ "resource_status": "UPDATE_COMPLETE",
682
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-f5c26bbe\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web-78\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
683
+ },
684
+ {
685
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
686
+ "event_id": "Elb-UPDATE_IN_PROGRESS-2018-06-18T22:19:38.696Z",
687
+ "stack_name": "demo-web",
688
+ "logical_resource_id": "Elb",
689
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158",
690
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
691
+ "timestamp": "2018-06-18 22:19:38 UTC",
692
+ "resource_status": "UPDATE_IN_PROGRESS",
693
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-f5c26bbe\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web-78\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
694
+ },
695
+ {
696
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
697
+ "event_id": "ad3772b0-7345-11e8-aefe-500c28b03efd",
698
+ "stack_name": "demo-web",
699
+ "logical_resource_id": "demo-web",
700
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
701
+ "resource_type": "AWS::CloudFormation::Stack",
702
+ "timestamp": "2018-06-18 22:19:33 UTC",
703
+ "resource_status": "UPDATE_IN_PROGRESS",
704
+ "resource_status_reason": "User Initiated"
705
+ },
706
+ {
707
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
708
+ "event_id": "76b5be40-7345-11e8-8ec2-500c28604c82",
709
+ "stack_name": "demo-web",
710
+ "logical_resource_id": "demo-web",
711
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
712
+ "resource_type": "AWS::CloudFormation::Stack",
713
+ "timestamp": "2018-06-18 22:18:01 UTC",
714
+ "resource_status": "UPDATE_COMPLETE"
715
+ },
716
+ {
717
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
718
+ "event_id": "EcsService-16413393-56c4-4ba7-a828-898f51fa4320",
719
+ "stack_name": "demo-web",
720
+ "logical_resource_id": "EcsService",
721
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-11MPMP7GAS3WL",
722
+ "resource_type": "AWS::ECS::Service",
723
+ "timestamp": "2018-06-18 22:18:01 UTC",
724
+ "resource_status": "DELETE_COMPLETE"
725
+ },
726
+ {
727
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
728
+ "event_id": "EcsService-79fe2fa0-928f-4892-b9fb-f532d210a107",
729
+ "stack_name": "demo-web",
730
+ "logical_resource_id": "EcsService",
731
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-11MPMP7GAS3WL",
732
+ "resource_type": "AWS::ECS::Service",
733
+ "timestamp": "2018-06-18 22:17:29 UTC",
734
+ "resource_status": "DELETE_IN_PROGRESS"
735
+ },
736
+ {
737
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
738
+ "event_id": "62bb2650-7345-11e8-bc61-500c286014fd",
739
+ "stack_name": "demo-web",
740
+ "logical_resource_id": "demo-web",
741
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
742
+ "resource_type": "AWS::CloudFormation::Stack",
743
+ "timestamp": "2018-06-18 22:17:28 UTC",
744
+ "resource_status": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
745
+ },
746
+ {
747
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
748
+ "event_id": "EcsService-UPDATE_COMPLETE-2018-06-18T22:17:25.710Z",
749
+ "stack_name": "demo-web",
750
+ "logical_resource_id": "EcsService",
751
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-WB5L8HVGARBJ",
752
+ "resource_type": "AWS::ECS::Service",
753
+ "timestamp": "2018-06-18 22:17:25 UTC",
754
+ "resource_status": "UPDATE_COMPLETE",
755
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
756
+ },
757
+ {
758
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
759
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-18T22:16:24.749Z",
760
+ "stack_name": "demo-web",
761
+ "logical_resource_id": "EcsService",
762
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-WB5L8HVGARBJ",
763
+ "resource_type": "AWS::ECS::Service",
764
+ "timestamp": "2018-06-18 22:16:24 UTC",
765
+ "resource_status": "UPDATE_IN_PROGRESS",
766
+ "resource_status_reason": "Resource creation Initiated",
767
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
768
+ },
769
+ {
770
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
771
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-18T22:16:24.284Z",
772
+ "stack_name": "demo-web",
773
+ "logical_resource_id": "EcsService",
774
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-11MPMP7GAS3WL",
775
+ "resource_type": "AWS::ECS::Service",
776
+ "timestamp": "2018-06-18 22:16:24 UTC",
777
+ "resource_status": "UPDATE_IN_PROGRESS",
778
+ "resource_status_reason": "Requested update requires the creation of a new physical resource; hence creating one.",
779
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
780
+ },
781
+ {
782
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
783
+ "event_id": "Listener-CREATE_COMPLETE-2018-06-18T22:16:23.226Z",
784
+ "stack_name": "demo-web",
785
+ "logical_resource_id": "Listener",
786
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158/8a3e327ae285dedb",
787
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
788
+ "timestamp": "2018-06-18 22:16:23 UTC",
789
+ "resource_status": "CREATE_COMPLETE",
790
+ "resource_properties": "{\"LoadBalancerArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158\",\"DefaultActions\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209\",\"Type\":\"forward\"}],\"Port\":\"80\",\"Protocol\":\"HTTP\"}"
791
+ },
792
+ {
793
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
794
+ "event_id": "Listener-CREATE_IN_PROGRESS-2018-06-18T22:16:22.509Z",
795
+ "stack_name": "demo-web",
796
+ "logical_resource_id": "Listener",
797
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158/8a3e327ae285dedb",
798
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
799
+ "timestamp": "2018-06-18 22:16:22 UTC",
800
+ "resource_status": "CREATE_IN_PROGRESS",
801
+ "resource_status_reason": "Resource creation Initiated",
802
+ "resource_properties": "{\"LoadBalancerArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158\",\"DefaultActions\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209\",\"Type\":\"forward\"}],\"Port\":\"80\",\"Protocol\":\"HTTP\"}"
803
+ },
804
+ {
805
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
806
+ "event_id": "Listener-CREATE_IN_PROGRESS-2018-06-18T22:16:22.031Z",
807
+ "stack_name": "demo-web",
808
+ "logical_resource_id": "Listener",
809
+ "physical_resource_id": "",
810
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
811
+ "timestamp": "2018-06-18 22:16:22 UTC",
812
+ "resource_status": "CREATE_IN_PROGRESS",
813
+ "resource_properties": "{\"LoadBalancerArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158\",\"DefaultActions\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209\",\"Type\":\"forward\"}],\"Port\":\"80\",\"Protocol\":\"HTTP\"}"
814
+ },
815
+ {
816
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
817
+ "event_id": "TargetGroup-CREATE_COMPLETE-2018-06-18T22:16:19.929Z",
818
+ "stack_name": "demo-web",
819
+ "logical_resource_id": "TargetGroup",
820
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209",
821
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
822
+ "timestamp": "2018-06-18 22:16:19 UTC",
823
+ "resource_status": "CREATE_COMPLETE",
824
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"80\",\"TargetType\":\"ip\",\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTP\"}"
825
+ },
826
+ {
827
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
828
+ "event_id": "TargetGroup-CREATE_IN_PROGRESS-2018-06-18T22:16:19.241Z",
829
+ "stack_name": "demo-web",
830
+ "logical_resource_id": "TargetGroup",
831
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1J483H7T57EOA/c8dd41f65138d209",
832
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
833
+ "timestamp": "2018-06-18 22:16:19 UTC",
834
+ "resource_status": "CREATE_IN_PROGRESS",
835
+ "resource_status_reason": "Resource creation Initiated",
836
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"80\",\"TargetType\":\"ip\",\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTP\"}"
837
+ },
838
+ {
839
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
840
+ "event_id": "TargetGroup-CREATE_IN_PROGRESS-2018-06-18T22:16:18.730Z",
841
+ "stack_name": "demo-web",
842
+ "logical_resource_id": "TargetGroup",
843
+ "physical_resource_id": "",
844
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
845
+ "timestamp": "2018-06-18 22:16:18 UTC",
846
+ "resource_status": "CREATE_IN_PROGRESS",
847
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"80\",\"TargetType\":\"ip\",\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTP\"}"
848
+ },
849
+ {
850
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
851
+ "event_id": "Elb-CREATE_COMPLETE-2018-06-18T22:16:16.484Z",
852
+ "stack_name": "demo-web",
853
+ "logical_resource_id": "Elb",
854
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158",
855
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
856
+ "timestamp": "2018-06-18 22:16:16 UTC",
857
+ "resource_status": "CREATE_COMPLETE",
858
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-f5c26bbe\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web-55\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
859
+ },
860
+ {
861
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
862
+ "event_id": "EcsSecurityGroupRule-CREATE_COMPLETE-2018-06-18T22:14:15.538Z",
863
+ "stack_name": "demo-web",
864
+ "logical_resource_id": "EcsSecurityGroupRule",
865
+ "physical_resource_id": "EcsSecurityGroupRule",
866
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
867
+ "timestamp": "2018-06-18 22:14:15 UTC",
868
+ "resource_status": "CREATE_COMPLETE",
869
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-f5c26bbe\",\"GroupId\":\"sg-dc379997\"}"
870
+ },
871
+ {
872
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
873
+ "event_id": "EcsSecurityGroupRule-CREATE_IN_PROGRESS-2018-06-18T22:14:14.500Z",
874
+ "stack_name": "demo-web",
875
+ "logical_resource_id": "EcsSecurityGroupRule",
876
+ "physical_resource_id": "EcsSecurityGroupRule",
877
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
878
+ "timestamp": "2018-06-18 22:14:14 UTC",
879
+ "resource_status": "CREATE_IN_PROGRESS",
880
+ "resource_status_reason": "Resource creation Initiated",
881
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-f5c26bbe\",\"GroupId\":\"sg-dc379997\"}"
882
+ },
883
+ {
884
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
885
+ "event_id": "Elb-CREATE_IN_PROGRESS-2018-06-18T22:14:14.354Z",
886
+ "stack_name": "demo-web",
887
+ "logical_resource_id": "Elb",
888
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-14V4X6KBAVEPP/24302e751e5ac158",
889
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
890
+ "timestamp": "2018-06-18 22:14:14 UTC",
891
+ "resource_status": "CREATE_IN_PROGRESS",
892
+ "resource_status_reason": "Resource creation Initiated",
893
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-f5c26bbe\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web-55\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
894
+ },
895
+ {
896
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
897
+ "event_id": "EcsSecurityGroupRule-CREATE_IN_PROGRESS-2018-06-18T22:14:13.797Z",
898
+ "stack_name": "demo-web",
899
+ "logical_resource_id": "EcsSecurityGroupRule",
900
+ "physical_resource_id": "",
901
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
902
+ "timestamp": "2018-06-18 22:14:13 UTC",
903
+ "resource_status": "CREATE_IN_PROGRESS",
904
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-f5c26bbe\",\"GroupId\":\"sg-dc379997\"}"
905
+ },
906
+ {
907
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
908
+ "event_id": "Elb-CREATE_IN_PROGRESS-2018-06-18T22:14:13.478Z",
909
+ "stack_name": "demo-web",
910
+ "logical_resource_id": "Elb",
911
+ "physical_resource_id": "",
912
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
913
+ "timestamp": "2018-06-18 22:14:13 UTC",
914
+ "resource_status": "CREATE_IN_PROGRESS",
915
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-f5c26bbe\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web-55\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
916
+ },
917
+ {
918
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
919
+ "event_id": "ElbSecurityGroup-CREATE_COMPLETE-2018-06-18T22:14:11.250Z",
920
+ "stack_name": "demo-web",
921
+ "logical_resource_id": "ElbSecurityGroup",
922
+ "physical_resource_id": "sg-f5c26bbe",
923
+ "resource_type": "AWS::EC2::SecurityGroup",
924
+ "timestamp": "2018-06-18 22:14:11 UTC",
925
+ "resource_status": "CREATE_COMPLETE",
926
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}],\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-elb\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
927
+ },
928
+ {
929
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
930
+ "event_id": "ElbSecurityGroup-CREATE_IN_PROGRESS-2018-06-18T22:14:08.801Z",
931
+ "stack_name": "demo-web",
932
+ "logical_resource_id": "ElbSecurityGroup",
933
+ "physical_resource_id": "sg-f5c26bbe",
934
+ "resource_type": "AWS::EC2::SecurityGroup",
935
+ "timestamp": "2018-06-18 22:14:08 UTC",
936
+ "resource_status": "CREATE_IN_PROGRESS",
937
+ "resource_status_reason": "Resource creation Initiated",
938
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}],\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-elb\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
939
+ },
940
+ {
941
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
942
+ "event_id": "ElbSecurityGroup-CREATE_IN_PROGRESS-2018-06-18T22:14:08.020Z",
943
+ "stack_name": "demo-web",
944
+ "logical_resource_id": "ElbSecurityGroup",
945
+ "physical_resource_id": "",
946
+ "resource_type": "AWS::EC2::SecurityGroup",
947
+ "timestamp": "2018-06-18 22:14:08 UTC",
948
+ "resource_status": "CREATE_IN_PROGRESS",
949
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}],\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-elb\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
950
+ },
951
+ {
952
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
953
+ "event_id": "e8841220-7344-11e8-a5aa-50fae98974fd",
954
+ "stack_name": "demo-web",
955
+ "logical_resource_id": "demo-web",
956
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
957
+ "resource_type": "AWS::CloudFormation::Stack",
958
+ "timestamp": "2018-06-18 22:14:03 UTC",
959
+ "resource_status": "UPDATE_IN_PROGRESS",
960
+ "resource_status_reason": "User Initiated"
961
+ },
962
+ {
963
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
964
+ "event_id": "bb9b7290-7343-11e8-9fbc-500c28b23699",
965
+ "stack_name": "demo-web",
966
+ "logical_resource_id": "demo-web",
967
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
968
+ "resource_type": "AWS::CloudFormation::Stack",
969
+ "timestamp": "2018-06-18 22:05:38 UTC",
970
+ "resource_status": "UPDATE_COMPLETE"
971
+ },
972
+ {
973
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
974
+ "event_id": "EcsService-0e2e37db-5c33-4cf9-af7c-9d0151de2d68",
975
+ "stack_name": "demo-web",
976
+ "logical_resource_id": "EcsService",
977
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-1RGUXOEJCH6RH",
978
+ "resource_type": "AWS::ECS::Service",
979
+ "timestamp": "2018-06-18 22:05:37 UTC",
980
+ "resource_status": "DELETE_COMPLETE"
981
+ },
982
+ {
983
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
984
+ "event_id": "EcsService-501fd5b6-8366-4d83-92eb-7108ce8224f3",
985
+ "stack_name": "demo-web",
986
+ "logical_resource_id": "EcsService",
987
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-1RGUXOEJCH6RH",
988
+ "resource_type": "AWS::ECS::Service",
989
+ "timestamp": "2018-06-18 22:05:06 UTC",
990
+ "resource_status": "DELETE_IN_PROGRESS"
991
+ },
992
+ {
993
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
994
+ "event_id": "a7630e50-7343-11e8-bc49-500c28903236",
995
+ "stack_name": "demo-web",
996
+ "logical_resource_id": "demo-web",
997
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
998
+ "resource_type": "AWS::CloudFormation::Stack",
999
+ "timestamp": "2018-06-18 22:05:04 UTC",
1000
+ "resource_status": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
1001
+ },
1002
+ {
1003
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1004
+ "event_id": "EcsService-UPDATE_COMPLETE-2018-06-18T22:05:00.211Z",
1005
+ "stack_name": "demo-web",
1006
+ "logical_resource_id": "EcsService",
1007
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-11MPMP7GAS3WL",
1008
+ "resource_type": "AWS::ECS::Service",
1009
+ "timestamp": "2018-06-18 22:05:00 UTC",
1010
+ "resource_status": "UPDATE_COMPLETE",
1011
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/my-elb/0158af4eb596cfd2\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
1012
+ },
1013
+ {
1014
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1015
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-18T22:02:59.026Z",
1016
+ "stack_name": "demo-web",
1017
+ "logical_resource_id": "EcsService",
1018
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-11MPMP7GAS3WL",
1019
+ "resource_type": "AWS::ECS::Service",
1020
+ "timestamp": "2018-06-18 22:02:59 UTC",
1021
+ "resource_status": "UPDATE_IN_PROGRESS",
1022
+ "resource_status_reason": "Resource creation Initiated",
1023
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/my-elb/0158af4eb596cfd2\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
1024
+ },
1025
+ {
1026
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1027
+ "event_id": "EcsService-UPDATE_IN_PROGRESS-2018-06-18T22:02:58.432Z",
1028
+ "stack_name": "demo-web",
1029
+ "logical_resource_id": "EcsService",
1030
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web-EcsService-1RGUXOEJCH6RH",
1031
+ "resource_type": "AWS::ECS::Service",
1032
+ "timestamp": "2018-06-18 22:02:58 UTC",
1033
+ "resource_status": "UPDATE_IN_PROGRESS",
1034
+ "resource_status_reason": "Requested update requires the creation of a new physical resource; hence creating one.",
1035
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/my-elb/0158af4eb596cfd2\",\"ContainerName\":\"web\",\"ContainerPort\":\"4567\"}],\"NetworkConfiguration\":{\"AwsvpcConfiguration\":{\"SecurityGroups\":[\"sg-dc379997\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"AssignPublicIp\":\"ENABLED\"}},\"DesiredCount\":\"1\",\"LaunchType\":\"FARGATE\"}"
1036
+ },
1037
+ {
1038
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1039
+ "event_id": "586e5930-7343-11e8-afba-50d501eb4c17",
1040
+ "stack_name": "demo-web",
1041
+ "logical_resource_id": "demo-web",
1042
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1043
+ "resource_type": "AWS::CloudFormation::Stack",
1044
+ "timestamp": "2018-06-18 22:02:51 UTC",
1045
+ "resource_status": "UPDATE_IN_PROGRESS",
1046
+ "resource_status_reason": "User Initiated"
1047
+ },
1048
+ {
1049
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1050
+ "event_id": "41b7d590-7343-11e8-b84a-5044763dbb7b",
1051
+ "stack_name": "demo-web",
1052
+ "logical_resource_id": "demo-web",
1053
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1054
+ "resource_type": "AWS::CloudFormation::Stack",
1055
+ "timestamp": "2018-06-18 22:02:13 UTC",
1056
+ "resource_status": "UPDATE_COMPLETE"
1057
+ },
1058
+ {
1059
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1060
+ "event_id": "ElbSecurityGroup-ef82a7f7-c221-401d-86b6-c5d521df68a1",
1061
+ "stack_name": "demo-web",
1062
+ "logical_resource_id": "ElbSecurityGroup",
1063
+ "physical_resource_id": "sg-5310be18",
1064
+ "resource_type": "AWS::EC2::SecurityGroup",
1065
+ "timestamp": "2018-06-18 22:02:13 UTC",
1066
+ "resource_status": "DELETE_COMPLETE"
1067
+ },
1068
+ {
1069
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1070
+ "event_id": "ElbSecurityGroup-16feab17-9bc6-4755-8c6b-1855140fd0b0",
1071
+ "stack_name": "demo-web",
1072
+ "logical_resource_id": "ElbSecurityGroup",
1073
+ "physical_resource_id": "sg-5310be18",
1074
+ "resource_type": "AWS::EC2::SecurityGroup",
1075
+ "timestamp": "2018-06-18 22:01:37 UTC",
1076
+ "resource_status": "DELETE_IN_PROGRESS"
1077
+ }
1078
+ ],
1079
+ "next_token": "l+T1eeFIE01sHtDEjTgRi3YqGpWoo8Xcd8/bdB+D4mUTq6pSt2rRUGj+b406+o6XcH8GTcekaz9QRHzjfqqLnssgJOHm6JkQ0L/j66RSgA4luIHEYJDtQje3zfPHG6kfxukN3yC03BtKrKXW7CJGsKJ9Ar1ofwBfoopVi7tjH9SCimSHavcRKbovDH9tT5eOhg0YTbh2aeHb0OqQ1fjAF27yhp4UNjY/VHr8/w50cxZ9lWtYfB+D7Bh4aNbLxan2RKo1XqhzF5jXQFZ/8rWtaFNCSTQPlMiqFbQna9navxjNGjKGZGfRXEvl/mwpWobQlrYoD53EwwuN76/Op0H5HMNWFRSDCBozCqnf+VUVw/hKMV76pyPoD9Kuu2Ec2Rge65octIPmDyYD+An0FUH5x/YaX0sUyoFuNdxUNZXWDb2vaUm++/d9HP0di3nECUiwUB7ofrWRlcAo4xJHf3Lm5MGsTVBGIZCuxQQMiROZyX46a9FgjaOvEQ60WZP/5f3/88ImOcK/pEPp6a8KWRx14ur2Cjhseagw1v5gP/2yxd88xWqKZdUOlKp3I1XdTVB4oMAzLgZuhUnp5btKtSrMyMI3wpTLE+N94ylI5U0degan+yqnq4Jkx/YGAgkiRs/6SvbyhA5BU5tmM+c1SVS9FI0zaY6UE1Z+jl8EhPfNwohO52KJLSvIkqqyBme0AeSlFam/60U6mYh0uhzonAaO9QhFQU9xLwvuQ1GFv2GZPzipVsHLvIHMW28EdTbcYZNp|7su6Swe1kyx+zWOE+p7Q2g==|1|820d7989c4bb44f73eef80ac3f4c59f1a0b768a4fafa61d43fe9af3db87f13d4"
1080
+ }