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,1086 @@
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": "04079ea0-737b-11e8-b792-500c288f18d1",
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 04:41:22 UTC",
11
+ "resource_status": "UPDATE_ROLLBACK_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-fa54213a-d2ee-44d9-a0a0-0fe632faf37b",
16
+ "stack_name": "demo-web",
17
+ "logical_resource_id": "ElbSecurityGroup",
18
+ "physical_resource_id": "sg-b4db70ff",
19
+ "resource_type": "AWS::EC2::SecurityGroup",
20
+ "timestamp": "2018-06-19 04:41:21 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-adde97d7-bf7e-4850-b802-14153852dc07",
26
+ "stack_name": "demo-web",
27
+ "logical_resource_id": "ElbSecurityGroup",
28
+ "physical_resource_id": "sg-b4db70ff",
29
+ "resource_type": "AWS::EC2::SecurityGroup",
30
+ "timestamp": "2018-06-19 04:39:50 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-d66f1440-03e0-411e-bc23-fac56a99a0a6",
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-1A250OVJBSNQB/30ece58b8e0754c8",
39
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
40
+ "timestamp": "2018-06-19 04:39:49 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-a525d9c1-5512-4b45-a310-3be2e68cd698",
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-1A250OVJBSNQB/30ece58b8e0754c8",
49
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
50
+ "timestamp": "2018-06-19 04:39:48 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": "EcsSecurityGroupRule-cb87adf4-8153-4bf0-976a-2cd2d6ecc641",
56
+ "stack_name": "demo-web",
57
+ "logical_resource_id": "EcsSecurityGroupRule",
58
+ "physical_resource_id": "EcsSecurityGroupRule",
59
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
60
+ "timestamp": "2018-06-19 04:39:48 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-a49e466f-9084-4e5f-a61d-417a95e1cb37",
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-1AQQHOGTYEOY1/e32d4635bb667fbb",
69
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
70
+ "timestamp": "2018-06-19 04:39:47 UTC",
71
+ "resource_status": "DELETE_COMPLETE"
72
+ },
73
+ {
74
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
75
+ "event_id": "TargetGroup-35532d21-9da9-450c-b62e-b5d4861d25ed",
76
+ "stack_name": "demo-web",
77
+ "logical_resource_id": "TargetGroup",
78
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1AQQHOGTYEOY1/e32d4635bb667fbb",
79
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
80
+ "timestamp": "2018-06-19 04:39:47 UTC",
81
+ "resource_status": "DELETE_IN_PROGRESS"
82
+ },
83
+ {
84
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
85
+ "event_id": "EcsSecurityGroupRule-32ed93df-6698-47dd-9dcc-d1ea1de2a803",
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 04:39:47 UTC",
91
+ "resource_status": "DELETE_IN_PROGRESS"
92
+ },
93
+ {
94
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
95
+ "event_id": "cab2f410-737a-11e8-b438-50fae98b1835",
96
+ "stack_name": "demo-web",
97
+ "logical_resource_id": "demo-web",
98
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
99
+ "resource_type": "AWS::CloudFormation::Stack",
100
+ "timestamp": "2018-06-19 04:39:45 UTC",
101
+ "resource_status": "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS"
102
+ },
103
+ {
104
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
105
+ "event_id": "EcsService-UPDATE_COMPLETE-2018-06-19T04:39:45.284Z",
106
+ "stack_name": "demo-web",
107
+ "logical_resource_id": "EcsService",
108
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web",
109
+ "resource_type": "AWS::ECS::Service",
110
+ "timestamp": "2018-06-19 04:39:45 UTC",
111
+ "resource_status": "UPDATE_COMPLETE",
112
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"ServiceName\":\"demo-web\",\"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\"}"
113
+ },
114
+ {
115
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
116
+ "event_id": "EcsSecurityGroup-UPDATE_COMPLETE-2018-06-19T04:39:43.701Z",
117
+ "stack_name": "demo-web",
118
+ "logical_resource_id": "EcsSecurityGroup",
119
+ "physical_resource_id": "sg-dc379997",
120
+ "resource_type": "AWS::EC2::SecurityGroup",
121
+ "timestamp": "2018-06-19 04:39:43 UTC",
122
+ "resource_status": "UPDATE_COMPLETE",
123
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-19\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
124
+ },
125
+ {
126
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
127
+ "event_id": "EcsSecurityGroup-UPDATE_IN_PROGRESS-2018-06-19T04:39:28.046Z",
128
+ "stack_name": "demo-web",
129
+ "logical_resource_id": "EcsSecurityGroup",
130
+ "physical_resource_id": "sg-dc379997",
131
+ "resource_type": "AWS::EC2::SecurityGroup",
132
+ "timestamp": "2018-06-19 04:39:28 UTC",
133
+ "resource_status": "UPDATE_IN_PROGRESS",
134
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-19\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
135
+ },
136
+ {
137
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
138
+ "event_id": "b0879500-737a-11e8-b7e9-500c20fef6d1",
139
+ "stack_name": "demo-web",
140
+ "logical_resource_id": "demo-web",
141
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
142
+ "resource_type": "AWS::CloudFormation::Stack",
143
+ "timestamp": "2018-06-19 04:39:01 UTC",
144
+ "resource_status": "UPDATE_ROLLBACK_IN_PROGRESS",
145
+ "resource_status_reason": "The following resource(s) failed to update: [EcsService]. "
146
+ },
147
+ {
148
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
149
+ "event_id": "EcsService-UPDATE_FAILED-2018-06-19T04:39:00.370Z",
150
+ "stack_name": "demo-web",
151
+ "logical_resource_id": "EcsService",
152
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web",
153
+ "resource_type": "AWS::ECS::Service",
154
+ "timestamp": "2018-06-19 04:39:00 UTC",
155
+ "resource_status": "UPDATE_FAILED",
156
+ "resource_status_reason": "CloudFormation cannot update a stack when a custom-named resource requires replacing. Rename development|demo-web and update the stack again.",
157
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"ServiceName\":\"demo-web\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1AQQHOGTYEOY1/e32d4635bb667fbb\",\"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\"}"
158
+ },
159
+ {
160
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
161
+ "event_id": "TargetGroup-CREATE_COMPLETE-2018-06-19T04:38:58.032Z",
162
+ "stack_name": "demo-web",
163
+ "logical_resource_id": "TargetGroup",
164
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1AQQHOGTYEOY1/e32d4635bb667fbb",
165
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
166
+ "timestamp": "2018-06-19 04:38:58 UTC",
167
+ "resource_status": "CREATE_COMPLETE",
168
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"443\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTPS\"}"
169
+ },
170
+ {
171
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
172
+ "event_id": "TargetGroup-CREATE_IN_PROGRESS-2018-06-19T04:38:57.416Z",
173
+ "stack_name": "demo-web",
174
+ "logical_resource_id": "TargetGroup",
175
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1AQQHOGTYEOY1/e32d4635bb667fbb",
176
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
177
+ "timestamp": "2018-06-19 04:38:57 UTC",
178
+ "resource_status": "CREATE_IN_PROGRESS",
179
+ "resource_status_reason": "Resource creation Initiated",
180
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"443\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTPS\"}"
181
+ },
182
+ {
183
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
184
+ "event_id": "TargetGroup-CREATE_IN_PROGRESS-2018-06-19T04:38:56.733Z",
185
+ "stack_name": "demo-web",
186
+ "logical_resource_id": "TargetGroup",
187
+ "physical_resource_id": "",
188
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
189
+ "timestamp": "2018-06-19 04:38:56 UTC",
190
+ "resource_status": "CREATE_IN_PROGRESS",
191
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"443\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTPS\"}"
192
+ },
193
+ {
194
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
195
+ "event_id": "Elb-CREATE_COMPLETE-2018-06-19T04:38:54.380Z",
196
+ "stack_name": "demo-web",
197
+ "logical_resource_id": "Elb",
198
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-1A250OVJBSNQB/30ece58b8e0754c8",
199
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
200
+ "timestamp": "2018-06-19 04:38:54 UTC",
201
+ "resource_status": "CREATE_COMPLETE",
202
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-b4db70ff\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
203
+ },
204
+ {
205
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
206
+ "event_id": "EcsSecurityGroupRule-CREATE_COMPLETE-2018-06-19T04:37:04.032Z",
207
+ "stack_name": "demo-web",
208
+ "logical_resource_id": "EcsSecurityGroupRule",
209
+ "physical_resource_id": "EcsSecurityGroupRule",
210
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
211
+ "timestamp": "2018-06-19 04:37:04 UTC",
212
+ "resource_status": "CREATE_COMPLETE",
213
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-b4db70ff\",\"GroupId\":\"sg-dc379997\"}"
214
+ },
215
+ {
216
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
217
+ "event_id": "EcsSecurityGroupRule-CREATE_IN_PROGRESS-2018-06-19T04:37:03.326Z",
218
+ "stack_name": "demo-web",
219
+ "logical_resource_id": "EcsSecurityGroupRule",
220
+ "physical_resource_id": "EcsSecurityGroupRule",
221
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
222
+ "timestamp": "2018-06-19 04:37:03 UTC",
223
+ "resource_status": "CREATE_IN_PROGRESS",
224
+ "resource_status_reason": "Resource creation Initiated",
225
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-b4db70ff\",\"GroupId\":\"sg-dc379997\"}"
226
+ },
227
+ {
228
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
229
+ "event_id": "EcsSecurityGroupRule-CREATE_IN_PROGRESS-2018-06-19T04:37:03.147Z",
230
+ "stack_name": "demo-web",
231
+ "logical_resource_id": "EcsSecurityGroupRule",
232
+ "physical_resource_id": "",
233
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
234
+ "timestamp": "2018-06-19 04:37:03 UTC",
235
+ "resource_status": "CREATE_IN_PROGRESS",
236
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-b4db70ff\",\"GroupId\":\"sg-dc379997\"}"
237
+ },
238
+ {
239
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
240
+ "event_id": "EcsSecurityGroup-UPDATE_COMPLETE-2018-06-19T04:37:01.390Z",
241
+ "stack_name": "demo-web",
242
+ "logical_resource_id": "EcsSecurityGroup",
243
+ "physical_resource_id": "sg-dc379997",
244
+ "resource_type": "AWS::EC2::SecurityGroup",
245
+ "timestamp": "2018-06-19 04:37:01 UTC",
246
+ "resource_status": "UPDATE_COMPLETE",
247
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-51\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
248
+ },
249
+ {
250
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
251
+ "event_id": "Elb-CREATE_IN_PROGRESS-2018-06-19T04:36:52.446Z",
252
+ "stack_name": "demo-web",
253
+ "logical_resource_id": "Elb",
254
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-1A250OVJBSNQB/30ece58b8e0754c8",
255
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
256
+ "timestamp": "2018-06-19 04:36:52 UTC",
257
+ "resource_status": "CREATE_IN_PROGRESS",
258
+ "resource_status_reason": "Resource creation Initiated",
259
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-b4db70ff\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
260
+ },
261
+ {
262
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
263
+ "event_id": "Elb-CREATE_IN_PROGRESS-2018-06-19T04:36:51.527Z",
264
+ "stack_name": "demo-web",
265
+ "logical_resource_id": "Elb",
266
+ "physical_resource_id": "",
267
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
268
+ "timestamp": "2018-06-19 04:36:51 UTC",
269
+ "resource_status": "CREATE_IN_PROGRESS",
270
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-b4db70ff\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
271
+ },
272
+ {
273
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
274
+ "event_id": "ElbSecurityGroup-CREATE_COMPLETE-2018-06-19T04:36:47.488Z",
275
+ "stack_name": "demo-web",
276
+ "logical_resource_id": "ElbSecurityGroup",
277
+ "physical_resource_id": "sg-b4db70ff",
278
+ "resource_type": "AWS::EC2::SecurityGroup",
279
+ "timestamp": "2018-06-19 04:36:47 UTC",
280
+ "resource_status": "CREATE_COMPLETE",
281
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"443\",\"ToPort\":\"443\",\"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\"}]}"
282
+ },
283
+ {
284
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
285
+ "event_id": "EcsSecurityGroup-UPDATE_IN_PROGRESS-2018-06-19T04:36:45.553Z",
286
+ "stack_name": "demo-web",
287
+ "logical_resource_id": "EcsSecurityGroup",
288
+ "physical_resource_id": "sg-dc379997",
289
+ "resource_type": "AWS::EC2::SecurityGroup",
290
+ "timestamp": "2018-06-19 04:36:45 UTC",
291
+ "resource_status": "UPDATE_IN_PROGRESS",
292
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-51\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
293
+ },
294
+ {
295
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
296
+ "event_id": "ElbSecurityGroup-CREATE_IN_PROGRESS-2018-06-19T04:36:45.529Z",
297
+ "stack_name": "demo-web",
298
+ "logical_resource_id": "ElbSecurityGroup",
299
+ "physical_resource_id": "sg-b4db70ff",
300
+ "resource_type": "AWS::EC2::SecurityGroup",
301
+ "timestamp": "2018-06-19 04:36:45 UTC",
302
+ "resource_status": "CREATE_IN_PROGRESS",
303
+ "resource_status_reason": "Resource creation Initiated",
304
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"443\",\"ToPort\":\"443\",\"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\"}]}"
305
+ },
306
+ {
307
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
308
+ "event_id": "ElbSecurityGroup-CREATE_IN_PROGRESS-2018-06-19T04:36:44.889Z",
309
+ "stack_name": "demo-web",
310
+ "logical_resource_id": "ElbSecurityGroup",
311
+ "physical_resource_id": "",
312
+ "resource_type": "AWS::EC2::SecurityGroup",
313
+ "timestamp": "2018-06-19 04:36:44 UTC",
314
+ "resource_status": "CREATE_IN_PROGRESS",
315
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"443\",\"ToPort\":\"443\",\"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\"}]}"
316
+ },
317
+ {
318
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
319
+ "event_id": "5c83dc70-737a-11e8-ae07-500c28b12efe",
320
+ "stack_name": "demo-web",
321
+ "logical_resource_id": "demo-web",
322
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
323
+ "resource_type": "AWS::CloudFormation::Stack",
324
+ "timestamp": "2018-06-19 04:36:41 UTC",
325
+ "resource_status": "UPDATE_IN_PROGRESS",
326
+ "resource_status_reason": "User Initiated"
327
+ },
328
+ {
329
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
330
+ "event_id": "4e324ff0-7378-11e8-9a64-500c217dbefe",
331
+ "stack_name": "demo-web",
332
+ "logical_resource_id": "demo-web",
333
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
334
+ "resource_type": "AWS::CloudFormation::Stack",
335
+ "timestamp": "2018-06-19 04:21:57 UTC",
336
+ "resource_status": "UPDATE_ROLLBACK_COMPLETE"
337
+ },
338
+ {
339
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
340
+ "event_id": "ElbSecurityGroup-daf3e937-b40c-42bd-91ff-77a979e9111a",
341
+ "stack_name": "demo-web",
342
+ "logical_resource_id": "ElbSecurityGroup",
343
+ "physical_resource_id": "sg-62f35829",
344
+ "resource_type": "AWS::EC2::SecurityGroup",
345
+ "timestamp": "2018-06-19 04:21:57 UTC",
346
+ "resource_status": "DELETE_COMPLETE"
347
+ },
348
+ {
349
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
350
+ "event_id": "ElbSecurityGroup-6767d123-f81a-43bd-b18c-2c123a1c36b2",
351
+ "stack_name": "demo-web",
352
+ "logical_resource_id": "ElbSecurityGroup",
353
+ "physical_resource_id": "sg-62f35829",
354
+ "resource_type": "AWS::EC2::SecurityGroup",
355
+ "timestamp": "2018-06-19 04:20:50 UTC",
356
+ "resource_status": "DELETE_IN_PROGRESS"
357
+ },
358
+ {
359
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
360
+ "event_id": "Elb-517f88c1-b105-4b7c-aef7-85c6fe3be8a0",
361
+ "stack_name": "demo-web",
362
+ "logical_resource_id": "Elb",
363
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2",
364
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
365
+ "timestamp": "2018-06-19 04:20:49 UTC",
366
+ "resource_status": "DELETE_COMPLETE"
367
+ },
368
+ {
369
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
370
+ "event_id": "Elb-51289eca-7784-40a0-b2f8-21c28e1f2018",
371
+ "stack_name": "demo-web",
372
+ "logical_resource_id": "Elb",
373
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2",
374
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
375
+ "timestamp": "2018-06-19 04:20:49 UTC",
376
+ "resource_status": "DELETE_IN_PROGRESS"
377
+ },
378
+ {
379
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
380
+ "event_id": "TargetGroup-78721bc5-aa8a-4275-9f62-b410afa40ff4",
381
+ "stack_name": "demo-web",
382
+ "logical_resource_id": "TargetGroup",
383
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1BJRUBNUBZ6HK/c3c886f6645f1711",
384
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
385
+ "timestamp": "2018-06-19 04:20:48 UTC",
386
+ "resource_status": "DELETE_COMPLETE"
387
+ },
388
+ {
389
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
390
+ "event_id": "TargetGroup-13da7402-75cb-43bb-b206-659851667471",
391
+ "stack_name": "demo-web",
392
+ "logical_resource_id": "TargetGroup",
393
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1BJRUBNUBZ6HK/c3c886f6645f1711",
394
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
395
+ "timestamp": "2018-06-19 04:20:48 UTC",
396
+ "resource_status": "DELETE_IN_PROGRESS"
397
+ },
398
+ {
399
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
400
+ "event_id": "EcsSecurityGroupRule-330afa27-ab75-4073-a2a8-fe9c4ede6833",
401
+ "stack_name": "demo-web",
402
+ "logical_resource_id": "EcsSecurityGroupRule",
403
+ "physical_resource_id": "EcsSecurityGroupRule",
404
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
405
+ "timestamp": "2018-06-19 04:20:46 UTC",
406
+ "resource_status": "DELETE_COMPLETE"
407
+ },
408
+ {
409
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
410
+ "event_id": "Listener-e336c4ff-6d26-4df0-b930-5ace0f92563e",
411
+ "stack_name": "demo-web",
412
+ "logical_resource_id": "Listener",
413
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2/d6526fb6485b4cc0",
414
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
415
+ "timestamp": "2018-06-19 04:20:46 UTC",
416
+ "resource_status": "DELETE_COMPLETE"
417
+ },
418
+ {
419
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
420
+ "event_id": "Listener-33699a29-3bb9-4bf9-aac9-a33450ecc9d5",
421
+ "stack_name": "demo-web",
422
+ "logical_resource_id": "Listener",
423
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2/d6526fb6485b4cc0",
424
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
425
+ "timestamp": "2018-06-19 04:20:46 UTC",
426
+ "resource_status": "DELETE_IN_PROGRESS"
427
+ },
428
+ {
429
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
430
+ "event_id": "EcsSecurityGroupRule-1590555e-a238-4507-8d3a-38c4fbaaf41e",
431
+ "stack_name": "demo-web",
432
+ "logical_resource_id": "EcsSecurityGroupRule",
433
+ "physical_resource_id": "EcsSecurityGroupRule",
434
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
435
+ "timestamp": "2018-06-19 04:20:45 UTC",
436
+ "resource_status": "DELETE_IN_PROGRESS"
437
+ },
438
+ {
439
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
440
+ "event_id": "21eed490-7378-11e8-8f8c-50d5ca63268e",
441
+ "stack_name": "demo-web",
442
+ "logical_resource_id": "demo-web",
443
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
444
+ "resource_type": "AWS::CloudFormation::Stack",
445
+ "timestamp": "2018-06-19 04:20:43 UTC",
446
+ "resource_status": "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS"
447
+ },
448
+ {
449
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
450
+ "event_id": "EcsService-UPDATE_COMPLETE-2018-06-19T04:20:42.574Z",
451
+ "stack_name": "demo-web",
452
+ "logical_resource_id": "EcsService",
453
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web",
454
+ "resource_type": "AWS::ECS::Service",
455
+ "timestamp": "2018-06-19 04:20:42 UTC",
456
+ "resource_status": "UPDATE_COMPLETE",
457
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"ServiceName\":\"demo-web\",\"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\"}"
458
+ },
459
+ {
460
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
461
+ "event_id": "EcsSecurityGroup-UPDATE_COMPLETE-2018-06-19T04:20:41.044Z",
462
+ "stack_name": "demo-web",
463
+ "logical_resource_id": "EcsSecurityGroup",
464
+ "physical_resource_id": "sg-dc379997",
465
+ "resource_type": "AWS::EC2::SecurityGroup",
466
+ "timestamp": "2018-06-19 04:20:41 UTC",
467
+ "resource_status": "UPDATE_COMPLETE",
468
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-19\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
469
+ },
470
+ {
471
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
472
+ "event_id": "EcsSecurityGroup-UPDATE_IN_PROGRESS-2018-06-19T04:20:25.198Z",
473
+ "stack_name": "demo-web",
474
+ "logical_resource_id": "EcsSecurityGroup",
475
+ "physical_resource_id": "sg-dc379997",
476
+ "resource_type": "AWS::EC2::SecurityGroup",
477
+ "timestamp": "2018-06-19 04:20:25 UTC",
478
+ "resource_status": "UPDATE_IN_PROGRESS",
479
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-19\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
480
+ },
481
+ {
482
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
483
+ "event_id": "0a72b700-7378-11e8-b6bc-50d5ca6326ba",
484
+ "stack_name": "demo-web",
485
+ "logical_resource_id": "demo-web",
486
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
487
+ "resource_type": "AWS::CloudFormation::Stack",
488
+ "timestamp": "2018-06-19 04:20:04 UTC",
489
+ "resource_status": "UPDATE_ROLLBACK_IN_PROGRESS",
490
+ "resource_status_reason": "The following resource(s) failed to create: [Listener]. The following resource(s) failed to update: [EcsService]. "
491
+ },
492
+ {
493
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
494
+ "event_id": "Listener-CREATE_FAILED-2018-06-19T04:20:02.895Z",
495
+ "stack_name": "demo-web",
496
+ "logical_resource_id": "Listener",
497
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2/d6526fb6485b4cc0",
498
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
499
+ "timestamp": "2018-06-19 04:20:02 UTC",
500
+ "resource_status": "CREATE_FAILED",
501
+ "resource_status_reason": "Resource creation cancelled",
502
+ "resource_properties": "{\"LoadBalancerArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2\",\"DefaultActions\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1BJRUBNUBZ6HK/c3c886f6645f1711\",\"Type\":\"forward\"}],\"Port\":\"443\",\"Certificates\":[{\"CertificateArn\":\"arn:aws:acm:us-east-1:111111111111:certificate/9e961e3b-8ef3-47df-b654-17cece664a5b\"}],\"Protocol\":\"HTTPS\"}"
503
+ },
504
+ {
505
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
506
+ "event_id": "Listener-CREATE_IN_PROGRESS-2018-06-19T04:20:02.577Z",
507
+ "stack_name": "demo-web",
508
+ "logical_resource_id": "Listener",
509
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:listener/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2/d6526fb6485b4cc0",
510
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
511
+ "timestamp": "2018-06-19 04:20:02 UTC",
512
+ "resource_status": "CREATE_IN_PROGRESS",
513
+ "resource_status_reason": "Resource creation Initiated",
514
+ "resource_properties": "{\"LoadBalancerArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2\",\"DefaultActions\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1BJRUBNUBZ6HK/c3c886f6645f1711\",\"Type\":\"forward\"}],\"Port\":\"443\",\"Certificates\":[{\"CertificateArn\":\"arn:aws:acm:us-east-1:111111111111:certificate/9e961e3b-8ef3-47df-b654-17cece664a5b\"}],\"Protocol\":\"HTTPS\"}"
515
+ },
516
+ {
517
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
518
+ "event_id": "EcsService-UPDATE_FAILED-2018-06-19T04:20:01.990Z",
519
+ "stack_name": "demo-web",
520
+ "logical_resource_id": "EcsService",
521
+ "physical_resource_id": "arn:aws:ecs:us-east-1:111111111111:service/demo-web",
522
+ "resource_type": "AWS::ECS::Service",
523
+ "timestamp": "2018-06-19 04:20:01 UTC",
524
+ "resource_status": "UPDATE_FAILED",
525
+ "resource_status_reason": "CloudFormation cannot update a stack when a custom-named resource requires replacing. Rename development|demo-web and update the stack again.",
526
+ "resource_properties": "{\"TaskDefinition\":\"arn:aws:ecs:us-east-1:111111111111:task-definition/demo-web:191\",\"ServiceName\":\"demo-web\",\"Cluster\":\"development\",\"LoadBalancers\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1BJRUBNUBZ6HK/c3c886f6645f1711\",\"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\"}"
527
+ },
528
+ {
529
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
530
+ "event_id": "Listener-CREATE_IN_PROGRESS-2018-06-19T04:20:01.592Z",
531
+ "stack_name": "demo-web",
532
+ "logical_resource_id": "Listener",
533
+ "physical_resource_id": "",
534
+ "resource_type": "AWS::ElasticLoadBalancingV2::Listener",
535
+ "timestamp": "2018-06-19 04:20:01 UTC",
536
+ "resource_status": "CREATE_IN_PROGRESS",
537
+ "resource_properties": "{\"LoadBalancerArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2\",\"DefaultActions\":[{\"TargetGroupArn\":\"arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1BJRUBNUBZ6HK/c3c886f6645f1711\",\"Type\":\"forward\"}],\"Port\":\"443\",\"Certificates\":[{\"CertificateArn\":\"arn:aws:acm:us-east-1:111111111111:certificate/9e961e3b-8ef3-47df-b654-17cece664a5b\"}],\"Protocol\":\"HTTPS\"}"
538
+ },
539
+ {
540
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
541
+ "event_id": "TargetGroup-CREATE_COMPLETE-2018-06-19T04:19:59.250Z",
542
+ "stack_name": "demo-web",
543
+ "logical_resource_id": "TargetGroup",
544
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1BJRUBNUBZ6HK/c3c886f6645f1711",
545
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
546
+ "timestamp": "2018-06-19 04:19:59 UTC",
547
+ "resource_status": "CREATE_COMPLETE",
548
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"443\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTPS\"}"
549
+ },
550
+ {
551
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
552
+ "event_id": "TargetGroup-CREATE_IN_PROGRESS-2018-06-19T04:19:58.558Z",
553
+ "stack_name": "demo-web",
554
+ "logical_resource_id": "TargetGroup",
555
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:targetgroup/hi-we-Targe-1BJRUBNUBZ6HK/c3c886f6645f1711",
556
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
557
+ "timestamp": "2018-06-19 04:19:58 UTC",
558
+ "resource_status": "CREATE_IN_PROGRESS",
559
+ "resource_status_reason": "Resource creation Initiated",
560
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"443\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTPS\"}"
561
+ },
562
+ {
563
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
564
+ "event_id": "TargetGroup-CREATE_IN_PROGRESS-2018-06-19T04:19:58.117Z",
565
+ "stack_name": "demo-web",
566
+ "logical_resource_id": "TargetGroup",
567
+ "physical_resource_id": "",
568
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
569
+ "timestamp": "2018-06-19 04:19:58 UTC",
570
+ "resource_status": "CREATE_IN_PROGRESS",
571
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"443\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"HTTPS\"}"
572
+ },
573
+ {
574
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
575
+ "event_id": "Elb-CREATE_COMPLETE-2018-06-19T04:19:53.293Z",
576
+ "stack_name": "demo-web",
577
+ "logical_resource_id": "Elb",
578
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2",
579
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
580
+ "timestamp": "2018-06-19 04:19:53 UTC",
581
+ "resource_status": "CREATE_COMPLETE",
582
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-62f35829\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
583
+ },
584
+ {
585
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
586
+ "event_id": "EcsSecurityGroupRule-CREATE_COMPLETE-2018-06-19T04:18:03.808Z",
587
+ "stack_name": "demo-web",
588
+ "logical_resource_id": "EcsSecurityGroupRule",
589
+ "physical_resource_id": "EcsSecurityGroupRule",
590
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
591
+ "timestamp": "2018-06-19 04:18:03 UTC",
592
+ "resource_status": "CREATE_COMPLETE",
593
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-62f35829\",\"GroupId\":\"sg-dc379997\"}"
594
+ },
595
+ {
596
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
597
+ "event_id": "EcsSecurityGroupRule-CREATE_IN_PROGRESS-2018-06-19T04:18:02.998Z",
598
+ "stack_name": "demo-web",
599
+ "logical_resource_id": "EcsSecurityGroupRule",
600
+ "physical_resource_id": "EcsSecurityGroupRule",
601
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
602
+ "timestamp": "2018-06-19 04:18:02 UTC",
603
+ "resource_status": "CREATE_IN_PROGRESS",
604
+ "resource_status_reason": "Resource creation Initiated",
605
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-62f35829\",\"GroupId\":\"sg-dc379997\"}"
606
+ },
607
+ {
608
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
609
+ "event_id": "EcsSecurityGroupRule-CREATE_IN_PROGRESS-2018-06-19T04:18:02.834Z",
610
+ "stack_name": "demo-web",
611
+ "logical_resource_id": "EcsSecurityGroupRule",
612
+ "physical_resource_id": "",
613
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
614
+ "timestamp": "2018-06-19 04:18:02 UTC",
615
+ "resource_status": "CREATE_IN_PROGRESS",
616
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-62f35829\",\"GroupId\":\"sg-dc379997\"}"
617
+ },
618
+ {
619
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
620
+ "event_id": "EcsSecurityGroup-UPDATE_COMPLETE-2018-06-19T04:18:00.490Z",
621
+ "stack_name": "demo-web",
622
+ "logical_resource_id": "EcsSecurityGroup",
623
+ "physical_resource_id": "sg-dc379997",
624
+ "resource_type": "AWS::EC2::SecurityGroup",
625
+ "timestamp": "2018-06-19 04:18:00 UTC",
626
+ "resource_status": "UPDATE_COMPLETE",
627
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-20\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
628
+ },
629
+ {
630
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
631
+ "event_id": "Elb-CREATE_IN_PROGRESS-2018-06-19T04:17:51.034Z",
632
+ "stack_name": "demo-web",
633
+ "logical_resource_id": "Elb",
634
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-PQWMNMKXJL0N/10980e2f9f8459c2",
635
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
636
+ "timestamp": "2018-06-19 04:17:51 UTC",
637
+ "resource_status": "CREATE_IN_PROGRESS",
638
+ "resource_status_reason": "Resource creation Initiated",
639
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-62f35829\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
640
+ },
641
+ {
642
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
643
+ "event_id": "Elb-CREATE_IN_PROGRESS-2018-06-19T04:17:50.132Z",
644
+ "stack_name": "demo-web",
645
+ "logical_resource_id": "Elb",
646
+ "physical_resource_id": "",
647
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
648
+ "timestamp": "2018-06-19 04:17:50 UTC",
649
+ "resource_status": "CREATE_IN_PROGRESS",
650
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-62f35829\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
651
+ },
652
+ {
653
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
654
+ "event_id": "ElbSecurityGroup-CREATE_COMPLETE-2018-06-19T04:17:47.418Z",
655
+ "stack_name": "demo-web",
656
+ "logical_resource_id": "ElbSecurityGroup",
657
+ "physical_resource_id": "sg-62f35829",
658
+ "resource_type": "AWS::EC2::SecurityGroup",
659
+ "timestamp": "2018-06-19 04:17:47 UTC",
660
+ "resource_status": "CREATE_COMPLETE",
661
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"443\",\"ToPort\":\"443\",\"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\"}]}"
662
+ },
663
+ {
664
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
665
+ "event_id": "ElbSecurityGroup-CREATE_IN_PROGRESS-2018-06-19T04:17:45.070Z",
666
+ "stack_name": "demo-web",
667
+ "logical_resource_id": "ElbSecurityGroup",
668
+ "physical_resource_id": "sg-62f35829",
669
+ "resource_type": "AWS::EC2::SecurityGroup",
670
+ "timestamp": "2018-06-19 04:17:45 UTC",
671
+ "resource_status": "CREATE_IN_PROGRESS",
672
+ "resource_status_reason": "Resource creation Initiated",
673
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"443\",\"ToPort\":\"443\",\"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\"}]}"
674
+ },
675
+ {
676
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
677
+ "event_id": "EcsSecurityGroup-UPDATE_IN_PROGRESS-2018-06-19T04:17:44.598Z",
678
+ "stack_name": "demo-web",
679
+ "logical_resource_id": "EcsSecurityGroup",
680
+ "physical_resource_id": "sg-dc379997",
681
+ "resource_type": "AWS::EC2::SecurityGroup",
682
+ "timestamp": "2018-06-19 04:17:44 UTC",
683
+ "resource_status": "UPDATE_IN_PROGRESS",
684
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-20\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
685
+ },
686
+ {
687
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
688
+ "event_id": "ElbSecurityGroup-CREATE_IN_PROGRESS-2018-06-19T04:17:44.233Z",
689
+ "stack_name": "demo-web",
690
+ "logical_resource_id": "ElbSecurityGroup",
691
+ "physical_resource_id": "",
692
+ "resource_type": "AWS::EC2::SecurityGroup",
693
+ "timestamp": "2018-06-19 04:17:44 UTC",
694
+ "resource_status": "CREATE_IN_PROGRESS",
695
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"443\",\"ToPort\":\"443\",\"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\"}]}"
696
+ },
697
+ {
698
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
699
+ "event_id": "b46f84f0-7377-11e8-a71a-500abe22848d",
700
+ "stack_name": "demo-web",
701
+ "logical_resource_id": "demo-web",
702
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
703
+ "resource_type": "AWS::CloudFormation::Stack",
704
+ "timestamp": "2018-06-19 04:17:40 UTC",
705
+ "resource_status": "UPDATE_IN_PROGRESS",
706
+ "resource_status_reason": "User Initiated"
707
+ },
708
+ {
709
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
710
+ "event_id": "2118b550-7377-11e8-a536-0ecb4f4abeea",
711
+ "stack_name": "demo-web",
712
+ "logical_resource_id": "demo-web",
713
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
714
+ "resource_type": "AWS::CloudFormation::Stack",
715
+ "timestamp": "2018-06-19 04:13:32 UTC",
716
+ "resource_status": "UPDATE_ROLLBACK_COMPLETE"
717
+ },
718
+ {
719
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
720
+ "event_id": "ElbSecurityGroup-c1c4b5e2-4672-427c-978b-477662690779",
721
+ "stack_name": "demo-web",
722
+ "logical_resource_id": "ElbSecurityGroup",
723
+ "physical_resource_id": "sg-26ea416d",
724
+ "resource_type": "AWS::EC2::SecurityGroup",
725
+ "timestamp": "2018-06-19 04:13:32 UTC",
726
+ "resource_status": "DELETE_COMPLETE"
727
+ },
728
+ {
729
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
730
+ "event_id": "ElbSecurityGroup-df9d71b1-f5cb-4158-a2f9-8fda2506ca67",
731
+ "stack_name": "demo-web",
732
+ "logical_resource_id": "ElbSecurityGroup",
733
+ "physical_resource_id": "sg-26ea416d",
734
+ "resource_type": "AWS::EC2::SecurityGroup",
735
+ "timestamp": "2018-06-19 04:12:47 UTC",
736
+ "resource_status": "DELETE_IN_PROGRESS"
737
+ },
738
+ {
739
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
740
+ "event_id": "Elb-47dcbd24-1ac7-470a-9ab6-394f5ecf0c2f",
741
+ "stack_name": "demo-web",
742
+ "logical_resource_id": "Elb",
743
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-IH53TQTYVEGX/c94632bf703a39b3",
744
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
745
+ "timestamp": "2018-06-19 04:12:46 UTC",
746
+ "resource_status": "DELETE_COMPLETE"
747
+ },
748
+ {
749
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
750
+ "event_id": "EcsSecurityGroupRule-8444d2a0-4b8a-480e-ae96-b11d67f86a6f",
751
+ "stack_name": "demo-web",
752
+ "logical_resource_id": "EcsSecurityGroupRule",
753
+ "physical_resource_id": "EcsSecurityGroupRule",
754
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
755
+ "timestamp": "2018-06-19 04:12:45 UTC",
756
+ "resource_status": "DELETE_COMPLETE"
757
+ },
758
+ {
759
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
760
+ "event_id": "Elb-fb07e640-0660-4afd-b12e-7e5ba82a2bca",
761
+ "stack_name": "demo-web",
762
+ "logical_resource_id": "Elb",
763
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-IH53TQTYVEGX/c94632bf703a39b3",
764
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
765
+ "timestamp": "2018-06-19 04:12:45 UTC",
766
+ "resource_status": "DELETE_IN_PROGRESS"
767
+ },
768
+ {
769
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
770
+ "event_id": "TargetGroup-9eb93d10-090b-4579-9cd0-aedc3adcd868",
771
+ "stack_name": "demo-web",
772
+ "logical_resource_id": "TargetGroup",
773
+ "physical_resource_id": "",
774
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
775
+ "timestamp": "2018-06-19 04:12:44 UTC",
776
+ "resource_status": "DELETE_COMPLETE"
777
+ },
778
+ {
779
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
780
+ "event_id": "EcsSecurityGroupRule-94ae8e59-f57f-4410-bc3b-b36f6d39f3fd",
781
+ "stack_name": "demo-web",
782
+ "logical_resource_id": "EcsSecurityGroupRule",
783
+ "physical_resource_id": "EcsSecurityGroupRule",
784
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
785
+ "timestamp": "2018-06-19 04:12:44 UTC",
786
+ "resource_status": "DELETE_IN_PROGRESS"
787
+ },
788
+ {
789
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
790
+ "event_id": "03575e40-7377-11e8-a765-500c28b38499",
791
+ "stack_name": "demo-web",
792
+ "logical_resource_id": "demo-web",
793
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
794
+ "resource_type": "AWS::CloudFormation::Stack",
795
+ "timestamp": "2018-06-19 04:12:42 UTC",
796
+ "resource_status": "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS"
797
+ },
798
+ {
799
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
800
+ "event_id": "EcsSecurityGroup-UPDATE_COMPLETE-2018-06-19T04:12:40.384Z",
801
+ "stack_name": "demo-web",
802
+ "logical_resource_id": "EcsSecurityGroup",
803
+ "physical_resource_id": "sg-dc379997",
804
+ "resource_type": "AWS::EC2::SecurityGroup",
805
+ "timestamp": "2018-06-19 04:12:40 UTC",
806
+ "resource_status": "UPDATE_COMPLETE",
807
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-19\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
808
+ },
809
+ {
810
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
811
+ "event_id": "EcsSecurityGroup-UPDATE_IN_PROGRESS-2018-06-19T04:12:24.289Z",
812
+ "stack_name": "demo-web",
813
+ "logical_resource_id": "EcsSecurityGroup",
814
+ "physical_resource_id": "sg-dc379997",
815
+ "resource_type": "AWS::EC2::SecurityGroup",
816
+ "timestamp": "2018-06-19 04:12:24 UTC",
817
+ "resource_status": "UPDATE_IN_PROGRESS",
818
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-19\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
819
+ },
820
+ {
821
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
822
+ "event_id": "e7f18360-7376-11e8-9fd4-50d5ca6e6082",
823
+ "stack_name": "demo-web",
824
+ "logical_resource_id": "demo-web",
825
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
826
+ "resource_type": "AWS::CloudFormation::Stack",
827
+ "timestamp": "2018-06-19 04:11:56 UTC",
828
+ "resource_status": "UPDATE_ROLLBACK_IN_PROGRESS",
829
+ "resource_status_reason": "The following resource(s) failed to create: [TargetGroup]. "
830
+ },
831
+ {
832
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
833
+ "event_id": "TargetGroup-CREATE_FAILED-2018-06-19T04:11:56.079Z",
834
+ "stack_name": "demo-web",
835
+ "logical_resource_id": "TargetGroup",
836
+ "physical_resource_id": "",
837
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
838
+ "timestamp": "2018-06-19 04:11:56 UTC",
839
+ "resource_status": "CREATE_FAILED",
840
+ "resource_status_reason": "1 validation error detected: Value 'https' at 'protocol' failed to satisfy constraint: Member must satisfy enum value set: [TCP, HTTP, HTTPS, TLS] (Service: AmazonElasticLoadBalancingV2; Status Code: 400; Error Code: ValidationError; Request ID: e7523709-7376-11e8-b6be-9525f7263b2f)",
841
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"443\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"https\"}"
842
+ },
843
+ {
844
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
845
+ "event_id": "TargetGroup-CREATE_IN_PROGRESS-2018-06-19T04:11:55.608Z",
846
+ "stack_name": "demo-web",
847
+ "logical_resource_id": "TargetGroup",
848
+ "physical_resource_id": "",
849
+ "resource_type": "AWS::ElasticLoadBalancingV2::TargetGroup",
850
+ "timestamp": "2018-06-19 04:11:55 UTC",
851
+ "resource_status": "CREATE_IN_PROGRESS",
852
+ "resource_properties": "{\"HealthCheckIntervalSeconds\":\"60\",\"VpcId\":\"vpc-d79753ae\",\"HealthCheckPath\":\"/\",\"Port\":\"443\",\"TargetType\":\"ip\",\"TargetGroupAttributes\":[{\"Value\":\"0\",\"Key\":\"deregistration_delay.timeout_seconds\"}],\"UnhealthyThresholdCount\":\"10\",\"Protocol\":\"https\"}"
853
+ },
854
+ {
855
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
856
+ "event_id": "Elb-CREATE_COMPLETE-2018-06-19T04:11:53.320Z",
857
+ "stack_name": "demo-web",
858
+ "logical_resource_id": "Elb",
859
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-IH53TQTYVEGX/c94632bf703a39b3",
860
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
861
+ "timestamp": "2018-06-19 04:11:53 UTC",
862
+ "resource_status": "CREATE_COMPLETE",
863
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-26ea416d\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
864
+ },
865
+ {
866
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
867
+ "event_id": "EcsSecurityGroupRule-CREATE_COMPLETE-2018-06-19T04:10:06.616Z",
868
+ "stack_name": "demo-web",
869
+ "logical_resource_id": "EcsSecurityGroupRule",
870
+ "physical_resource_id": "EcsSecurityGroupRule",
871
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
872
+ "timestamp": "2018-06-19 04:10:06 UTC",
873
+ "resource_status": "CREATE_COMPLETE",
874
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-26ea416d\",\"GroupId\":\"sg-dc379997\"}"
875
+ },
876
+ {
877
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
878
+ "event_id": "EcsSecurityGroupRule-CREATE_IN_PROGRESS-2018-06-19T04:10:05.834Z",
879
+ "stack_name": "demo-web",
880
+ "logical_resource_id": "EcsSecurityGroupRule",
881
+ "physical_resource_id": "EcsSecurityGroupRule",
882
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
883
+ "timestamp": "2018-06-19 04:10:05 UTC",
884
+ "resource_status": "CREATE_IN_PROGRESS",
885
+ "resource_status_reason": "Resource creation Initiated",
886
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-26ea416d\",\"GroupId\":\"sg-dc379997\"}"
887
+ },
888
+ {
889
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
890
+ "event_id": "EcsSecurityGroupRule-CREATE_IN_PROGRESS-2018-06-19T04:10:05.646Z",
891
+ "stack_name": "demo-web",
892
+ "logical_resource_id": "EcsSecurityGroupRule",
893
+ "physical_resource_id": "",
894
+ "resource_type": "AWS::EC2::SecurityGroupIngress",
895
+ "timestamp": "2018-06-19 04:10:05 UTC",
896
+ "resource_status": "CREATE_IN_PROGRESS",
897
+ "resource_properties": "{\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\",\"SourceSecurityGroupId\":\"sg-26ea416d\",\"GroupId\":\"sg-dc379997\"}"
898
+ },
899
+ {
900
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
901
+ "event_id": "EcsSecurityGroup-UPDATE_COMPLETE-2018-06-19T04:10:03.141Z",
902
+ "stack_name": "demo-web",
903
+ "logical_resource_id": "EcsSecurityGroup",
904
+ "physical_resource_id": "sg-dc379997",
905
+ "resource_type": "AWS::EC2::SecurityGroup",
906
+ "timestamp": "2018-06-19 04:10:03 UTC",
907
+ "resource_status": "UPDATE_COMPLETE",
908
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-90\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
909
+ },
910
+ {
911
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
912
+ "event_id": "Elb-CREATE_IN_PROGRESS-2018-06-19T04:09:51.032Z",
913
+ "stack_name": "demo-web",
914
+ "logical_resource_id": "Elb",
915
+ "physical_resource_id": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/demo-web-Elb-IH53TQTYVEGX/c94632bf703a39b3",
916
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
917
+ "timestamp": "2018-06-19 04:09:51 UTC",
918
+ "resource_status": "CREATE_IN_PROGRESS",
919
+ "resource_status_reason": "Resource creation Initiated",
920
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-26ea416d\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
921
+ },
922
+ {
923
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
924
+ "event_id": "Elb-CREATE_IN_PROGRESS-2018-06-19T04:09:50.083Z",
925
+ "stack_name": "demo-web",
926
+ "logical_resource_id": "Elb",
927
+ "physical_resource_id": "",
928
+ "resource_type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
929
+ "timestamp": "2018-06-19 04:09:50 UTC",
930
+ "resource_status": "CREATE_IN_PROGRESS",
931
+ "resource_properties": "{\"SecurityGroups\":[\"sg-32a30579\",\"sg-26ea416d\"],\"Subnets\":[\"subnet-29e75925\",\"subnet-3fb1875a\",\"subnet-4ac50f66\",\"subnet-622eee38\",\"subnet-83cf49cb\",\"subnet-f45d02c8\"],\"Scheme\":\"internet-facing\",\"Tags\":[{\"Value\":\"demo-web\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
932
+ },
933
+ {
934
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
935
+ "event_id": "ElbSecurityGroup-CREATE_COMPLETE-2018-06-19T04:09:48.143Z",
936
+ "stack_name": "demo-web",
937
+ "logical_resource_id": "ElbSecurityGroup",
938
+ "physical_resource_id": "sg-26ea416d",
939
+ "resource_type": "AWS::EC2::SecurityGroup",
940
+ "timestamp": "2018-06-19 04:09:48 UTC",
941
+ "resource_status": "CREATE_COMPLETE",
942
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"443\",\"ToPort\":\"443\",\"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\"}]}"
943
+ },
944
+ {
945
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
946
+ "event_id": "ElbSecurityGroup-CREATE_IN_PROGRESS-2018-06-19T04:09:45.792Z",
947
+ "stack_name": "demo-web",
948
+ "logical_resource_id": "ElbSecurityGroup",
949
+ "physical_resource_id": "sg-26ea416d",
950
+ "resource_type": "AWS::EC2::SecurityGroup",
951
+ "timestamp": "2018-06-19 04:09:45 UTC",
952
+ "resource_status": "CREATE_IN_PROGRESS",
953
+ "resource_status_reason": "Resource creation Initiated",
954
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"443\",\"ToPort\":\"443\",\"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\"}]}"
955
+ },
956
+ {
957
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
958
+ "event_id": "EcsSecurityGroup-UPDATE_IN_PROGRESS-2018-06-19T04:09:44.986Z",
959
+ "stack_name": "demo-web",
960
+ "logical_resource_id": "EcsSecurityGroup",
961
+ "physical_resource_id": "sg-dc379997",
962
+ "resource_type": "AWS::EC2::SecurityGroup",
963
+ "timestamp": "2018-06-19 04:09:44 UTC",
964
+ "resource_status": "UPDATE_IN_PROGRESS",
965
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-90\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
966
+ },
967
+ {
968
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
969
+ "event_id": "ElbSecurityGroup-CREATE_IN_PROGRESS-2018-06-19T04:09:44.923Z",
970
+ "stack_name": "demo-web",
971
+ "logical_resource_id": "ElbSecurityGroup",
972
+ "physical_resource_id": "",
973
+ "resource_type": "AWS::EC2::SecurityGroup",
974
+ "timestamp": "2018-06-19 04:09:44 UTC",
975
+ "resource_status": "CREATE_IN_PROGRESS",
976
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"443\",\"ToPort\":\"443\",\"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\"}]}"
977
+ },
978
+ {
979
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
980
+ "event_id": "96b43dd0-7376-11e8-aa9b-500c285ebe99",
981
+ "stack_name": "demo-web",
982
+ "logical_resource_id": "demo-web",
983
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
984
+ "resource_type": "AWS::CloudFormation::Stack",
985
+ "timestamp": "2018-06-19 04:09:40 UTC",
986
+ "resource_status": "UPDATE_IN_PROGRESS",
987
+ "resource_status_reason": "User Initiated"
988
+ },
989
+ {
990
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
991
+ "event_id": "5bc8edb0-7376-11e8-ba1b-50fae9e50c9a",
992
+ "stack_name": "demo-web",
993
+ "logical_resource_id": "demo-web",
994
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
995
+ "resource_type": "AWS::CloudFormation::Stack",
996
+ "timestamp": "2018-06-19 04:08:01 UTC",
997
+ "resource_status": "UPDATE_COMPLETE"
998
+ },
999
+ {
1000
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1001
+ "event_id": "5b1b2180-7376-11e8-9c59-500c219b8099",
1002
+ "stack_name": "demo-web",
1003
+ "logical_resource_id": "demo-web",
1004
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1005
+ "resource_type": "AWS::CloudFormation::Stack",
1006
+ "timestamp": "2018-06-19 04:08:00 UTC",
1007
+ "resource_status": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
1008
+ },
1009
+ {
1010
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1011
+ "event_id": "EcsSecurityGroup-UPDATE_COMPLETE-2018-06-19T04:07:56.645Z",
1012
+ "stack_name": "demo-web",
1013
+ "logical_resource_id": "EcsSecurityGroup",
1014
+ "physical_resource_id": "sg-dc379997",
1015
+ "resource_type": "AWS::EC2::SecurityGroup",
1016
+ "timestamp": "2018-06-19 04:07:56 UTC",
1017
+ "resource_status": "UPDATE_COMPLETE",
1018
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-19\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
1019
+ },
1020
+ {
1021
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1022
+ "event_id": "EcsSecurityGroup-UPDATE_IN_PROGRESS-2018-06-19T04:07:40.825Z",
1023
+ "stack_name": "demo-web",
1024
+ "logical_resource_id": "EcsSecurityGroup",
1025
+ "physical_resource_id": "sg-dc379997",
1026
+ "resource_type": "AWS::EC2::SecurityGroup",
1027
+ "timestamp": "2018-06-19 04:07:40 UTC",
1028
+ "resource_status": "UPDATE_IN_PROGRESS",
1029
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-19\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
1030
+ },
1031
+ {
1032
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1033
+ "event_id": "4c469770-7376-11e8-a536-0ecb4f4abeea",
1034
+ "stack_name": "demo-web",
1035
+ "logical_resource_id": "demo-web",
1036
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1037
+ "resource_type": "AWS::CloudFormation::Stack",
1038
+ "timestamp": "2018-06-19 04:07:35 UTC",
1039
+ "resource_status": "UPDATE_IN_PROGRESS",
1040
+ "resource_status_reason": "User Initiated"
1041
+ },
1042
+ {
1043
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1044
+ "event_id": "f921e9b0-7374-11e8-b486-50a686e4bbe6",
1045
+ "stack_name": "demo-web",
1046
+ "logical_resource_id": "demo-web",
1047
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1048
+ "resource_type": "AWS::CloudFormation::Stack",
1049
+ "timestamp": "2018-06-19 03:58:06 UTC",
1050
+ "resource_status": "UPDATE_COMPLETE"
1051
+ },
1052
+ {
1053
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1054
+ "event_id": "f89205c0-7374-11e8-b676-500c21998436",
1055
+ "stack_name": "demo-web",
1056
+ "logical_resource_id": "demo-web",
1057
+ "physical_resource_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1058
+ "resource_type": "AWS::CloudFormation::Stack",
1059
+ "timestamp": "2018-06-19 03:58:05 UTC",
1060
+ "resource_status": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
1061
+ },
1062
+ {
1063
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1064
+ "event_id": "EcsSecurityGroup-UPDATE_COMPLETE-2018-06-19T03:58:00.559Z",
1065
+ "stack_name": "demo-web",
1066
+ "logical_resource_id": "EcsSecurityGroup",
1067
+ "physical_resource_id": "sg-dc379997",
1068
+ "resource_type": "AWS::EC2::SecurityGroup",
1069
+ "timestamp": "2018-06-19 03:58:00 UTC",
1070
+ "resource_status": "UPDATE_COMPLETE",
1071
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-98\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
1072
+ },
1073
+ {
1074
+ "stack_id": "arn:aws:cloudformation:us-east-1:111111111111:stack/demo-web/2813d320-733c-11e8-8746-503f23fb55fe",
1075
+ "event_id": "EcsSecurityGroup-UPDATE_IN_PROGRESS-2018-06-19T03:57:44.796Z",
1076
+ "stack_name": "demo-web",
1077
+ "logical_resource_id": "EcsSecurityGroup",
1078
+ "physical_resource_id": "sg-dc379997",
1079
+ "resource_type": "AWS::EC2::SecurityGroup",
1080
+ "timestamp": "2018-06-19 03:57:44 UTC",
1081
+ "resource_status": "UPDATE_IN_PROGRESS",
1082
+ "resource_properties": "{\"GroupDescription\":\"Allow http to client host\",\"VpcId\":\"vpc-d79753ae\",\"SecurityGroupEgress\":[{\"CidrIp\":\"0.0.0.0/0\",\"FromPort\":\"0\",\"ToPort\":\"65535\",\"IpProtocol\":\"tcp\"}],\"Tags\":[{\"Value\":\"demo-web-98\",\"Key\":\"Name\"},{\"Value\":\"demo-web\",\"Key\":\"ufo\"}]}"
1083
+ }
1084
+ ],
1085
+ "next_token": "U4IjVR/3Ow1Kx4+tuI0UUODQByXxb7Gg04UCI2rMczTiDqq33MJ3M1+IvR6ck5ckL4hvcD2PaKzzyFYyydd7jAC8yv8UJsWW1iswqwirQie1zKMXb3UyB8Qg0jXS8yoE03AJfSzKJ21Xi+1knHqG4vaQboEOujYcQZNWRADcKzVo/LDraeKGzkWywMx2XvjlJRuJYzGhJpdBTcZ12x9DOAllcrhkgm2QwKBvCiKGjWq8kcAXuWTdyRJG8XoMHVE/XSA+xkofBx4SbP1KL3n/2ipuasjmkxCSYm4IdarObjod8/QrzcSzhxYgfsRnA1USYonRg+h1aS8HvEDqdSJO75WNEOgkmlVsbRqgNXfSsvTfiSF2atQpXjKXuKiuEhWbOaPFfGCWSKaUcxTD4Z7m9Zvs1nea/DM9Xk/oNqQgjcCnlmIDCdSx8GmtpgicIMbZRDuBQkGkq8wxht3f8mn1ybsAB6kGY6niwiZO1sTNyWe3jI+AesgrdQLZ8quAxh1O55ji9LRKrF7wNpUQxP+87DV0rpd4VBROvxwowDHQ4S2wudCHVKaYHHYWF9nY9uEDLHODaX2cr95obmbYxSxtFLgmV4gixHEk+bH4etrClGjhLTtpgbbAxhImc10EScTjHjaDQd9aJDmwCAYKzIUP5QNqeBBj4+Luiu69zvkOIu2+BEEhOpQ8atBcflXjERgNMCdE5DCArMPGZjRJOaUzNVs5dFzLECWAIs9pn47VWqo5TjumjTUaeadTz9ANA/xQ|hafrGSCu4UkIhhtOekQzPQ==|1|aa32071311bacf4d39ea4c8fa4e2f3c8d840f82a0a2a6ec713d543f5546c859a"
1086
+ }