lono 7.5.2 → 8.0.0.pre.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (458) hide show
  1. checksums.yaml +4 -4
  2. data/.cody/README.md +5 -15
  3. data/.cody/acceptance/bin/build.sh +52 -0
  4. data/.cody/acceptance/buildspec.yml +10 -0
  5. data/.cody/acceptance/project.rb +6 -0
  6. data/.cody/{role.rb → acceptance/role.rb} +0 -0
  7. data/.cody/shared/script/install/lono.sh +40 -0
  8. data/.cody/shared/script/install.sh +5 -0
  9. data/CHANGELOG.md +21 -4
  10. data/CONTRIBUTING.md +2 -2
  11. data/Gemfile +5 -1
  12. data/LICENSE.txt +201 -1
  13. data/README.md +4 -4
  14. data/lib/lono/api/client.rb +3 -2
  15. data/lib/lono/app/inits.rb +13 -0
  16. data/lib/lono/app.rb +71 -0
  17. data/lib/lono/app_file/base.rb +1 -1
  18. data/lib/lono/app_file/build/lambda_layer/ruby_packager.rb +9 -9
  19. data/lib/lono/app_file/build/lambda_layer.rb +3 -3
  20. data/lib/lono/app_file/build.rb +9 -14
  21. data/lib/lono/app_file/registry/item.rb +4 -4
  22. data/lib/lono/app_file/upload.rb +1 -1
  23. data/lib/lono/autoloader.rb +2 -2
  24. data/lib/lono/aws_services/helper.rb +43 -6
  25. data/lib/lono/aws_services.rb +37 -6
  26. data/lib/lono/blueprint.rb +18 -9
  27. data/lib/lono/booter.rb +28 -0
  28. data/lib/lono/{template → builder}/context/helpers.rb +1 -1
  29. data/lib/lono/{template → builder}/context/loader/load_files.rb +5 -6
  30. data/lib/lono/builder/context/loader.rb +35 -0
  31. data/lib/lono/builder/context/params.rb +7 -0
  32. data/lib/lono/{template → builder}/context/ssm_fetcher.rb +1 -1
  33. data/lib/lono/{template → builder}/context.rb +5 -9
  34. data/lib/lono/{param/generator.rb → builder/param.rb} +21 -22
  35. data/lib/lono/builder/template/aws_service.rb +15 -0
  36. data/lib/lono/builder/template/bashify.rb +43 -0
  37. data/lib/lono/{template → builder/template}/configset_injector.rb +4 -4
  38. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/fn.rb +2 -2
  39. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/helpers/core_helper.rb +1 -1
  40. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/helpers/ec2_helper.rb +1 -1
  41. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/helpers/file_helper.rb +8 -12
  42. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/helpers/s3_helper.rb +2 -2
  43. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/helpers/stack_helper.rb +11 -8
  44. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/helpers/tags_helper.rb +1 -1
  45. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/helpers.rb +2 -2
  46. data/lib/lono/builder/template/dsl/evaluator/section/base.rb +23 -0
  47. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/section/condition.rb +1 -1
  48. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/section/mapping.rb +1 -1
  49. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/section/methods.rb +7 -7
  50. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/section/output.rb +1 -1
  51. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/section/parameter.rb +1 -1
  52. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/section/resource/property_mover.rb +1 -1
  53. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/section/resource.rb +1 -1
  54. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/section/section.rb +1 -1
  55. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/squeezer.rb +1 -1
  56. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/stringify.rb +1 -1
  57. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/syntax/extend_with.rb +1 -1
  58. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/syntax/parameter_group.rb +1 -1
  59. data/lib/lono/{template/strategy/dsl/builder → builder/template/dsl/evaluator}/syntax.rb +3 -3
  60. data/lib/lono/builder/template/dsl/evaluator.rb +45 -0
  61. data/lib/lono/{template/strategy → builder/template}/dsl/finalizer/parameter_groups.rb +2 -2
  62. data/lib/lono/{template/strategy → builder/template}/dsl/finalizer.rb +1 -1
  63. data/lib/lono/builder/template/dsl.rb +14 -0
  64. data/lib/lono/{template → builder/template}/evaluate.rb +18 -6
  65. data/lib/lono/builder/template/helpers.rb +149 -0
  66. data/lib/lono/{output/template.rb → builder/template/output.rb} +14 -7
  67. data/lib/lono/{template → builder/template}/post_processor.rb +4 -4
  68. data/lib/lono/{template → builder/template}/upload.rb +3 -5
  69. data/lib/lono/builder/template.rb +55 -0
  70. data/lib/lono/bundler/cli/base.rb +10 -0
  71. data/lib/lono/bundler/cli/bundle.rb +44 -0
  72. data/lib/lono/bundler/cli/clean.rb +27 -0
  73. data/lib/lono/bundler/cli/help/bundle.md +3 -0
  74. data/lib/lono/bundler/cli/help.rb +11 -0
  75. data/lib/lono/bundler/cli.rb +7 -0
  76. data/lib/lono/bundler/component/concerns/local_concern.rb +10 -0
  77. data/lib/lono/bundler/component/concerns/notation_concern.rb +59 -0
  78. data/lib/lono/bundler/component/concerns/path_concern.rb +68 -0
  79. data/lib/lono/bundler/component/concerns/stack_concern.rb +60 -0
  80. data/lib/lono/bundler/component/fetcher/base.rb +27 -0
  81. data/lib/lono/bundler/component/fetcher/gcs.rb +69 -0
  82. data/lib/lono/bundler/component/fetcher/git.rb +69 -0
  83. data/lib/lono/bundler/component/fetcher/local.rb +15 -0
  84. data/lib/lono/bundler/component/fetcher/s3.rb +66 -0
  85. data/lib/lono/bundler/component/fetcher.rb +18 -0
  86. data/lib/lono/bundler/component/http/concern.rb +45 -0
  87. data/lib/lono/bundler/component/http/source.rb +19 -0
  88. data/lib/lono/bundler/component/org_repo.rb +65 -0
  89. data/lib/lono/bundler/component/props/extension.rb +19 -0
  90. data/lib/lono/bundler/component/props/typer.rb +41 -0
  91. data/lib/lono/bundler/component/props.rb +122 -0
  92. data/lib/lono/bundler/component/registry.rb +136 -0
  93. data/lib/lono/bundler/component.rb +52 -0
  94. data/lib/lono/bundler/config.rb +18 -0
  95. data/lib/lono/bundler/dsl/syntax.rb +46 -0
  96. data/lib/lono/bundler/dsl.rb +21 -0
  97. data/lib/lono/bundler/exporter/base.rb +6 -0
  98. data/lib/lono/bundler/exporter/copy.rb +22 -0
  99. data/lib/lono/bundler/exporter.rb +50 -0
  100. data/lib/lono/bundler/extract/tar.rb +34 -0
  101. data/lib/lono/bundler/extract/zip.rb +16 -0
  102. data/lib/lono/bundler/info.rb +39 -0
  103. data/lib/lono/bundler/list.rb +26 -0
  104. data/lib/lono/bundler/lockfile/version_comparer.rb +56 -0
  105. data/lib/lono/bundler/lockfile/yamler.rb +36 -0
  106. data/lib/lono/bundler/lockfile.rb +66 -0
  107. data/lib/lono/bundler/lonofile.rb +32 -0
  108. data/lib/lono/bundler/runner.rb +27 -0
  109. data/lib/lono/bundler/syncer.rb +70 -0
  110. data/lib/lono/bundler/util/git.rb +37 -0
  111. data/lib/lono/bundler/util/logging.rb +7 -0
  112. data/lib/lono/bundler/util/sure.rb +5 -0
  113. data/lib/lono/{bundle.rb → bundler.rb} +38 -4
  114. data/lib/lono/cfn/base.rb +9 -195
  115. data/lib/lono/cfn/cancel.rb +9 -26
  116. data/lib/lono/cfn/concerns/build.rb +10 -0
  117. data/lib/lono/cfn/concerns/template_output.rb +10 -0
  118. data/lib/lono/cfn/concerns.rb +43 -0
  119. data/lib/lono/cfn/delete.rb +8 -32
  120. data/lib/lono/cfn/deploy/base.rb +4 -0
  121. data/lib/lono/cfn/deploy/iam.rb +49 -0
  122. data/lib/lono/cfn/deploy/notification.rb +8 -0
  123. data/lib/lono/cfn/deploy/operable.rb +18 -0
  124. data/lib/lono/cfn/deploy/opts.rb +49 -0
  125. data/lib/lono/cfn/deploy/rollback.rb +46 -0
  126. data/lib/lono/cfn/deploy/tags.rb +18 -0
  127. data/lib/lono/cfn/deploy.rb +71 -5
  128. data/lib/lono/cfn/download.rb +5 -7
  129. data/lib/lono/cfn/output.rb +49 -0
  130. data/lib/lono/cfn/plan/base.rb +19 -0
  131. data/lib/lono/cfn/plan/changeset/base.rb +19 -0
  132. data/lib/lono/cfn/plan/changeset/notifications.rb +24 -0
  133. data/lib/lono/cfn/plan/changeset/outputs.rb +25 -0
  134. data/lib/lono/cfn/plan/changeset/resources.rb +48 -0
  135. data/lib/lono/cfn/plan/changeset/tags.rb +16 -0
  136. data/lib/lono/cfn/plan/changeset.rb +136 -0
  137. data/lib/lono/cfn/plan/concerns.rb +10 -0
  138. data/lib/lono/cfn/plan/delete.rb +16 -0
  139. data/lib/lono/cfn/plan/diff/base.rb +10 -0
  140. data/lib/lono/cfn/plan/diff/data.rb +52 -0
  141. data/lib/lono/cfn/plan/diff/file.rb +56 -0
  142. data/lib/lono/cfn/plan/new.rb +26 -0
  143. data/lib/lono/cfn/{preview → plan}/param.rb +26 -34
  144. data/lib/lono/cfn/plan/summary.rb +16 -0
  145. data/lib/lono/cfn/plan/template.rb +28 -0
  146. data/lib/lono/cfn/plan.rb +33 -0
  147. data/lib/lono/cfn/show.rb +30 -0
  148. data/lib/lono/cfn/status.rb +1 -1
  149. data/lib/lono/cli/abstract.rb +17 -0
  150. data/lib/lono/cli/base.rb +9 -0
  151. data/lib/lono/cli/build.rb +101 -0
  152. data/lib/lono/cli/bundle.rb +21 -0
  153. data/lib/lono/cli/cfn/opts.rb +59 -0
  154. data/lib/lono/cli/cfn.rb +19 -0
  155. data/lib/lono/cli/clean.rb +22 -0
  156. data/lib/lono/{code.rb → cli/code.rb} +2 -2
  157. data/lib/lono/{completion.rb → cli/completion.rb} +2 -2
  158. data/lib/lono/{help → cli/help}/blueprint/new.md +4 -4
  159. data/lib/lono/{help/generate.md → cli/help/build.md} +6 -6
  160. data/lib/lono/{help → cli/help}/cfn/cancel.md +0 -0
  161. data/lib/lono/cli/help/cfn/download.md +3 -0
  162. data/lib/lono/{help → cli/help}/cfn/preview.md +9 -8
  163. data/lib/lono/{help → cli/help}/cfn/status.md +0 -0
  164. data/lib/lono/cli/help/cfn.md +4 -0
  165. data/lib/lono/{help → cli/help}/code/convert.md +0 -0
  166. data/lib/lono/{help → cli/help}/code/import.md +2 -2
  167. data/lib/lono/{help → cli/help}/completion.md +3 -3
  168. data/lib/lono/{help → cli/help}/completion_script.md +0 -0
  169. data/lib/lono/{help → cli/help}/configsets.md +0 -0
  170. data/lib/lono/cli/help/down.md +13 -0
  171. data/lib/lono/cli/help/new/project.md +34 -0
  172. data/lib/lono/{help → cli/help}/param/generate.md +0 -0
  173. data/lib/lono/cli/help/param.md +6 -0
  174. data/lib/lono/{help → cli/help}/pro/blueprints.md +0 -0
  175. data/lib/lono/{help → cli/help}/pro/configsets.md +0 -0
  176. data/lib/lono/{help → cli/help}/script/build.md +0 -0
  177. data/lib/lono/{help → cli/help}/script/upload.md +0 -0
  178. data/lib/lono/{help → cli/help}/seed.md +2 -2
  179. data/lib/lono/cli/help/summary.md +33 -0
  180. data/lib/lono/{help → cli/help}/template/bashify.md +0 -0
  181. data/lib/lono/cli/help/template/generate.md +7 -0
  182. data/lib/lono/{help → cli/help}/template.md +0 -0
  183. data/lib/lono/cli/help/up.md +30 -0
  184. data/lib/lono/{help → cli/help}/user_data.md +3 -3
  185. data/lib/lono/cli/help.rb +56 -0
  186. data/lib/lono/cli/list.rb +28 -0
  187. data/lib/lono/cli/new/blueprint.rb +33 -0
  188. data/lib/lono/cli/new/concerns.rb +16 -0
  189. data/lib/lono/{configset/new.rb → cli/new/configset.rb} +2 -9
  190. data/lib/lono/{extension/new.rb → cli/new/extension.rb} +2 -10
  191. data/lib/lono/cli/new/helper.rb +32 -0
  192. data/lib/lono/cli/new/project.rb +77 -0
  193. data/lib/lono/cli/new/sequence.rb +51 -0
  194. data/lib/lono/cli/new/shim.rb +59 -0
  195. data/lib/lono/cli/new/test/blueprint.rb +23 -0
  196. data/lib/lono/cli/new/test/sequence.rb +10 -0
  197. data/lib/lono/cli/new/test.rb +8 -0
  198. data/lib/lono/cli/new.rb +31 -0
  199. data/lib/lono/{opts.rb → cli/opts.rb} +9 -12
  200. data/lib/lono/{s3.rb → cli/s3.rb} +9 -7
  201. data/lib/lono/cli/script/base.rb +5 -0
  202. data/lib/lono/cli/script/build.rb +72 -0
  203. data/lib/lono/cli/script/upload.rb +49 -0
  204. data/lib/lono/{script.rb → cli/script.rb} +2 -2
  205. data/lib/lono/cli/seed.rb +9 -0
  206. data/lib/lono/cli/test.rb +35 -0
  207. data/lib/lono/cli.rb +80 -109
  208. data/lib/lono/command.rb +27 -0
  209. data/lib/lono/configset/{generator.rb → builder.rb} +9 -7
  210. data/lib/lono/configset/combiner.rb +8 -6
  211. data/lib/lono/configset/evaluate_file.rb +1 -1
  212. data/lib/lono/configset/meta.rb +1 -1
  213. data/lib/lono/configset/s3_file/build.rb +5 -4
  214. data/lib/lono/configset/s3_file/item.rb +1 -1
  215. data/lib/lono/configset/s3_file/upload.rb +2 -2
  216. data/lib/lono/configset/strategy/base.rb +6 -6
  217. data/lib/lono/configset/strategy/helpers/dsl/core.rb +1 -1
  218. data/lib/lono/core.rb +25 -54
  219. data/lib/lono/extensions/dsl.rb +2 -5
  220. data/lib/lono/extensions/loader.rb +1 -12
  221. data/lib/lono/extensions.rb +2 -2
  222. data/lib/lono/importer/base.rb +5 -5
  223. data/lib/lono/importer/download.rb +7 -7
  224. data/lib/lono/importer/dsl.rb +3 -3
  225. data/lib/lono/importer/service/coder.rb +10 -10
  226. data/lib/lono/importer.rb +1 -10
  227. data/lib/lono/inspector/base.rb +7 -7
  228. data/lib/lono/inspector/summary.rb +19 -17
  229. data/lib/lono/layering/layer.rb +126 -0
  230. data/lib/lono/layering.rb +13 -55
  231. data/lib/lono/logger/formatter.rb +13 -0
  232. data/lib/lono/logger.rb +33 -0
  233. data/lib/lono/lookup.rb +12 -0
  234. data/lib/lono/names.rb +50 -0
  235. data/lib/lono/plugin/meta.rb +30 -0
  236. data/lib/lono/plugin/tester.rb +13 -0
  237. data/lib/lono/plugin.rb +10 -0
  238. data/lib/lono/s3/aws_setup.rb +4 -3
  239. data/lib/lono/s3/bucket.rb +19 -19
  240. data/lib/lono/s3/uploader.rb +10 -12
  241. data/lib/lono/script/base.rb +3 -3
  242. data/lib/lono/script/build.rb +11 -12
  243. data/lib/lono/script/upload.rb +7 -7
  244. data/lib/lono/{seed → seeder}/service_role.rb +1 -1
  245. data/lib/lono/{seed/base.rb → seeder.rb} +21 -36
  246. data/lib/lono/user_data.rb +8 -13
  247. data/lib/lono/utils/context.rb +15 -0
  248. data/lib/lono/utils/item/zip.rb +5 -5
  249. data/lib/lono/utils/logging.rb +7 -0
  250. data/lib/lono/utils/{pretty_time.rb → pretty.rb} +6 -2
  251. data/lib/lono/utils/quit.rb +7 -0
  252. data/lib/lono/utils/rsync.rb +4 -2
  253. data/lib/lono/utils/sure.rb +4 -4
  254. data/lib/lono/version.rb +1 -1
  255. data/lib/lono.rb +7 -12
  256. data/lib/templates/blueprint/template.rb +2 -0
  257. data/lib/templates/configset/{lib/configset.rb → configset.rb} +0 -0
  258. data/lib/templates/examples/blueprint/template.rb +9 -0
  259. data/lib/templates/helper/%underscore_name%_helper.rb.tt +6 -0
  260. data/lib/templates/{skeleton → project}/.gitignore +1 -2
  261. data/lib/templates/project/Gemfile.tt +11 -0
  262. data/lib/templates/project/README.md +9 -0
  263. data/lib/templates/project/config/app.rb +3 -0
  264. data/lib/templates/shim/lono +7 -0
  265. data/lono.gemspec +51 -44
  266. metadata +246 -269
  267. data/.circleci/README.md +0 -3
  268. data/.circleci/config.yml +0 -58
  269. data/.cody/acceptance.sh +0 -49
  270. data/.cody/buildspec.yml +0 -9
  271. data/.cody/demo.rb +0 -38
  272. data/.cody/project.rb +0 -6
  273. data/.gitmodules +0 -3
  274. data/lib/lono/abstract_base.rb +0 -25
  275. data/lib/lono/aws_services/stack.rb +0 -41
  276. data/lib/lono/aws_services/stack_set.rb +0 -41
  277. data/lib/lono/blueprint/configset/loader.rb +0 -7
  278. data/lib/lono/blueprint/helper.rb +0 -24
  279. data/lib/lono/blueprint/meta.rb +0 -30
  280. data/lib/lono/blueprint/new.rb +0 -127
  281. data/lib/lono/blueprint/root.rb +0 -25
  282. data/lib/lono/cfn/create.rb +0 -41
  283. data/lib/lono/cfn/opts.rb +0 -88
  284. data/lib/lono/cfn/preview/changeset.rb +0 -168
  285. data/lib/lono/cfn/preview/codediff.rb +0 -41
  286. data/lib/lono/cfn/preview/diff_viewer.rb +0 -23
  287. data/lib/lono/cfn/rollback.rb +0 -26
  288. data/lib/lono/cfn/update.rb +0 -71
  289. data/lib/lono/cfn.rb +0 -75
  290. data/lib/lono/clean.rb +0 -14
  291. data/lib/lono/configset/list.rb +0 -67
  292. data/lib/lono/configset/preparer.rb +0 -44
  293. data/lib/lono/configset/register/base.rb +0 -122
  294. data/lib/lono/configset/register/blueprint.rb +0 -16
  295. data/lib/lono/configset/register/dsl.rb +0 -14
  296. data/lib/lono/configset/register/project.rb +0 -13
  297. data/lib/lono/configset/resolver.rb +0 -47
  298. data/lib/lono/configset.rb +0 -16
  299. data/lib/lono/conventions.rb +0 -23
  300. data/lib/lono/core/config.rb +0 -22
  301. data/lib/lono/default/settings.yml +0 -21
  302. data/lib/lono/ext/bundler.rb +0 -7
  303. data/lib/lono/extension/helper.rb +0 -13
  304. data/lib/lono/extension/list.rb +0 -40
  305. data/lib/lono/extension.rb +0 -9
  306. data/lib/lono/extensions/preparer.rb +0 -26
  307. data/lib/lono/extensions/register.rb +0 -15
  308. data/lib/lono/file_uploader.rb +0 -21
  309. data/lib/lono/finder/base.rb +0 -152
  310. data/lib/lono/finder/blueprint/configset.rb +0 -17
  311. data/lib/lono/finder/blueprint.rb +0 -11
  312. data/lib/lono/finder/configset.rb +0 -11
  313. data/lib/lono/finder/extension.rb +0 -11
  314. data/lib/lono/generate.rb +0 -111
  315. data/lib/lono/help/cfn/create.md +0 -26
  316. data/lib/lono/help/cfn/delete.md +0 -13
  317. data/lib/lono/help/cfn/deploy.md +0 -21
  318. data/lib/lono/help/cfn/download.md +0 -3
  319. data/lib/lono/help/cfn/update.md +0 -49
  320. data/lib/lono/help/cfn.md +0 -7
  321. data/lib/lono/help/new.md +0 -57
  322. data/lib/lono/help/param.md +0 -6
  323. data/lib/lono/help/set_instances/delete.md +0 -21
  324. data/lib/lono/help/set_instances/deploy.md +0 -31
  325. data/lib/lono/help/set_instances/list.md +0 -14
  326. data/lib/lono/help/set_instances/status.md +0 -15
  327. data/lib/lono/help/set_instances/sync.md +0 -92
  328. data/lib/lono/help/sets/delete.md +0 -8
  329. data/lib/lono/help/sets/deploy.md +0 -76
  330. data/lib/lono/help/sets/status.md +0 -23
  331. data/lib/lono/help/summary.md +0 -33
  332. data/lib/lono/help/template/generate.md +0 -7
  333. data/lib/lono/help/upgrade.md +0 -1
  334. data/lib/lono/help/xgraph.md +0 -16
  335. data/lib/lono/help.rb +0 -15
  336. data/lib/lono/importer/erb.rb +0 -31
  337. data/lib/lono/inspector/graph.rb +0 -125
  338. data/lib/lono/jade/circular.rb +0 -26
  339. data/lib/lono/jade/materializer/final.rb +0 -10
  340. data/lib/lono/jade/materializer/gems_builder.rb +0 -81
  341. data/lib/lono/jade/materializer/source.rb +0 -54
  342. data/lib/lono/jade/materializer.rb +0 -15
  343. data/lib/lono/jade/registry.rb +0 -64
  344. data/lib/lono/jade.rb +0 -110
  345. data/lib/lono/jadespec.rb +0 -68
  346. data/lib/lono/new/helper.rb +0 -15
  347. data/lib/lono/new.rb +0 -95
  348. data/lib/lono/param.rb +0 -14
  349. data/lib/lono/pro/base.rb +0 -16
  350. data/lib/lono/pro/repo.rb +0 -28
  351. data/lib/lono/pro.rb +0 -15
  352. data/lib/lono/project_checker.rb +0 -35
  353. data/lib/lono/registration/base.rb +0 -37
  354. data/lib/lono/registration/check.rb +0 -15
  355. data/lib/lono/registration/temp.rb +0 -53
  356. data/lib/lono/registration/user.rb +0 -60
  357. data/lib/lono/seed.rb +0 -39
  358. data/lib/lono/sequence.rb +0 -35
  359. data/lib/lono/set_instances/base.rb +0 -30
  360. data/lib/lono/set_instances/changeable.rb +0 -53
  361. data/lib/lono/set_instances/create.rb +0 -7
  362. data/lib/lono/set_instances/delete.rb +0 -47
  363. data/lib/lono/set_instances/deploy.rb +0 -52
  364. data/lib/lono/set_instances/list.rb +0 -13
  365. data/lib/lono/set_instances/opts.rb +0 -37
  366. data/lib/lono/set_instances/status.rb +0 -12
  367. data/lib/lono/set_instances/sync.rb +0 -181
  368. data/lib/lono/set_instances/update.rb +0 -15
  369. data/lib/lono/set_instances.rb +0 -54
  370. data/lib/lono/sets/base.rb +0 -50
  371. data/lib/lono/sets/create.rb +0 -27
  372. data/lib/lono/sets/delete.rb +0 -43
  373. data/lib/lono/sets/deploy.rb +0 -11
  374. data/lib/lono/sets/list.rb +0 -35
  375. data/lib/lono/sets/opts.rb +0 -18
  376. data/lib/lono/sets/preview/codediff.rb +0 -35
  377. data/lib/lono/sets/preview/param.rb +0 -32
  378. data/lib/lono/sets/status/instance/base.rb +0 -120
  379. data/lib/lono/sets/status/instance/completed.rb +0 -35
  380. data/lib/lono/sets/status/instance/deleted.rb +0 -32
  381. data/lib/lono/sets/status/instance/show.rb +0 -7
  382. data/lib/lono/sets/status/instance.rb +0 -20
  383. data/lib/lono/sets/status/instances.rb +0 -136
  384. data/lib/lono/sets/status.rb +0 -128
  385. data/lib/lono/sets/summarize.rb +0 -22
  386. data/lib/lono/sets/time_spent.rb +0 -11
  387. data/lib/lono/sets/update.rb +0 -74
  388. data/lib/lono/sets/waiter.rb +0 -23
  389. data/lib/lono/sets.rb +0 -34
  390. data/lib/lono/setting.rb +0 -75
  391. data/lib/lono/template/aws_service.rb +0 -20
  392. data/lib/lono/template/bashify.rb +0 -39
  393. data/lib/lono/template/context/loader.rb +0 -52
  394. data/lib/lono/template/generator.rb +0 -23
  395. data/lib/lono/template/helper.rb +0 -152
  396. data/lib/lono/template/strategy/base.rb +0 -4
  397. data/lib/lono/template/strategy/common/helpers.rb +0 -44
  398. data/lib/lono/template/strategy/dsl/builder/section/base.rb +0 -30
  399. data/lib/lono/template/strategy/dsl/builder.rb +0 -59
  400. data/lib/lono/template/strategy/dsl.rb +0 -14
  401. data/lib/lono/template/strategy/erb.rb +0 -82
  402. data/lib/lono/template/strategy/source.rb +0 -8
  403. data/lib/lono/template/template.rb +0 -54
  404. data/lib/lono/template/util.rb +0 -8
  405. data/lib/lono/template.rb +0 -24
  406. data/lib/lono/upgrade.rb +0 -20
  407. data/lib/lono/utils/generators/tree.rb +0 -18
  408. data/lib/templates/blueprint/%blueprint_name%.gemspec.tt +0 -45
  409. data/lib/templates/blueprint/.gitignore +0 -11
  410. data/lib/templates/blueprint/CHANGELOG.md +0 -7
  411. data/lib/templates/blueprint/Gemfile +0 -4
  412. data/lib/templates/blueprint/README.md.tt +0 -33
  413. data/lib/templates/blueprint/Rakefile.tt +0 -9
  414. data/lib/templates/blueprint/seed/configs.rb +0 -28
  415. data/lib/templates/blueprint_types/dsl/app/templates/%blueprint_name%.rb +0 -36
  416. data/lib/templates/blueprint_types/dsl/app/user_data/bootstrap.sh +0 -2
  417. data/lib/templates/blueprint_types/erb/app/definitions/base.rb.tt +0 -1
  418. data/lib/templates/blueprint_types/erb/app/templates/%blueprint_name%.yml +0 -67
  419. data/lib/templates/configset/%configset_name%.gemspec.tt +0 -42
  420. data/lib/templates/configset/.gitignore +0 -10
  421. data/lib/templates/configset/CHANGELOG.md +0 -7
  422. data/lib/templates/configset/Gemfile +0 -4
  423. data/lib/templates/configset/README.md.tt +0 -3
  424. data/lib/templates/configset/Rakefile.tt +0 -9
  425. data/lib/templates/extension/%extension_name%.gemspec.tt +0 -46
  426. data/lib/templates/extension/.gitignore +0 -11
  427. data/lib/templates/extension/.rspec +0 -3
  428. data/lib/templates/extension/CHANGELOG.md +0 -7
  429. data/lib/templates/extension/Gemfile.tt +0 -4
  430. data/lib/templates/extension/Rakefile.tt +0 -9
  431. data/lib/templates/extension/spec/spec_helper.rb.tt +0 -29
  432. data/lib/templates/skeleton/Gemfile +0 -3
  433. data/lib/templates/skeleton/README.md +0 -58
  434. data/lib/templates/skeleton/configs/settings.yml +0 -13
  435. data/vendor/cfn-status/CHANGELOG.md +0 -14
  436. data/vendor/cfn-status/Gemfile +0 -4
  437. data/vendor/cfn-status/Gemfile.lock +0 -49
  438. data/vendor/cfn-status/LICENSE.txt +0 -21
  439. data/vendor/cfn-status/README.md +0 -58
  440. data/vendor/cfn-status/Rakefile +0 -6
  441. data/vendor/cfn-status/bin/console +0 -14
  442. data/vendor/cfn-status/bin/setup +0 -8
  443. data/vendor/cfn-status/cfn-status.gemspec +0 -30
  444. data/vendor/cfn-status/lib/cfn-status.rb +0 -1
  445. data/vendor/cfn-status/lib/cfn_status/aws_service.rb +0 -51
  446. data/vendor/cfn-status/lib/cfn_status/version.rb +0 -3
  447. data/vendor/cfn-status/lib/cfn_status.rb +0 -245
  448. data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-1.json +0 -1103
  449. data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-2.json +0 -1104
  450. data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-3.json +0 -1103
  451. data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-1.json +0 -1103
  452. data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-2.json +0 -1104
  453. data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-3.json +0 -1103
  454. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json +0 -1080
  455. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json +0 -1080
  456. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json +0 -1086
  457. data/vendor/cfn-status/spec/lib/cfn_status_spec.rb +0 -153
  458. data/vendor/cfn-status/spec/spec_helper.rb +0 -14
@@ -1,49 +0,0 @@
1
- ## Examples
2
-
3
- Let's say we make a simple change to a template, like changing the default InstanceType from `t2.small` to `t2.micro`. Here's what happens when you run `lono cfn update`
4
-
5
- lono cfn update ec2
6
-
7
- The output should look similiar to this:
8
-
9
- <img src="/img/tutorials/ec2/cfn-update-instance-type.png" alt="Stack Update" class="doc-photo">
10
-
11
- Notice that before the update gets performed lono provides a preview of the changes that are about to take place. There are two types of "diffs" in the preview.
12
-
13
- 1. Source code diff of the templates. This is generated by downloading the current CloudFormation template and comparing it with the locally generated one using `colordiff`.
14
- 2. CloudFormation Change Set list of changes. This is generated using [AWS CloudFormation Change Set](https://medium.com/boltops/a-simple-introduction-to-cloudformation-part-4-change-sets-dry-run-mode-c14e41dfeab7) feature.
15
-
16
- You are prompted with an "Are you sure?" confirmation before lono continues.
17
-
18
- By default, the update command will display a preview of the stack changes before applying the update and prompt to check if you are sure. If you want to bypass the are you sure prompt, use the `--sure` option.
19
-
20
- lono cfn update ec2 --sure
21
-
22
- ## Conventions: template and param
23
-
24
- Lono follows some [coventions](https://lono.cloud/docs/conventions/) that helps keep the commands short. We'll go through an example to explain:
25
-
26
- Provided that you are in a lono project and have a `demo` lono blueprint that contains a `demo` template. To update a stack you can run:
27
-
28
- lono cfn update demo
29
-
30
- The above command will generate:
31
-
32
- * template: output/demo/templates/demo.yml
33
- * parameters: output/demo/params/development.json
34
-
35
- By [convention]({% link _docs/conventions/cli.md %}), the blueprint name is the same as the stack name. In turn, template name is the same as the blueprint name. Lastly, the param name will default to the template name.
36
-
37
- Here are examples of overriding the template and params name conventions.
38
-
39
- lono cfn update demo --template different1
40
-
41
- The template used is `app/templates/different1.rb` and the parameters used is `configs/demo/params/development/demo/different1.txt`.
42
-
43
- lono cfn update demo --param different2
44
-
45
- The template used is `app/templates/demo.rb` and the parameters used is `configs/demo/params/development/demo/different2.json`.
46
-
47
- lono cfn update demo --template different3 --param different4
48
-
49
- The template used is `app/templates/different3.rb` and the parameters used is `configs/demo/params/different3/different4.json`.
data/lib/lono/help/cfn.md DELETED
@@ -1,7 +0,0 @@
1
- ## Examples
2
-
3
- lono cfn deploy demo
4
- lono cfn create demo
5
- lono cfn preview demo
6
- lono cfn update demo
7
- lono cfn delete demo
data/lib/lono/help/new.md DELETED
@@ -1,57 +0,0 @@
1
- ## Examples
2
-
3
- lono new infra # starter project with demo blueprint
4
-
5
- By default, `lono new` generates a skeleton project. Use `TEMPLATE` to generate different starter projects. List of the [starter templates](https://github.com/tongueroo/lono/tree/master/lib/starter_projects).
6
-
7
- ## Example Output
8
-
9
- $ lono new infra
10
- => Creating new project called infra.
11
- create infra
12
- create infra/.gitignore
13
- create infra/Gemfile
14
- create infra/Guardfile
15
- create infra/README.md
16
- create infra/configs/settings.yml
17
- => Creating new blueprint called demo.
18
- create infra/blueprints/demo
19
- create infra/blueprints/demo/demo.gemspec
20
- create infra/blueprints/demo/.gitignore
21
- create infra/blueprints/demo/Gemfile
22
- create infra/blueprints/demo/README.md
23
- create infra/blueprints/demo/seed/configs.rb
24
- exist infra/blueprints/demo
25
- create infra/blueprints/demo/app/templates/demo.rb
26
- create infra/blueprints/demo/app/user_data/bootstrap.sh
27
- exist infra/blueprints/demo/app/templates
28
- exist infra
29
- create infra/configs/demo/params/base.txt
30
- create infra/configs/demo/params/development.txt
31
- create infra/configs/demo/variables/base.rb
32
- create infra/configs/demo/variables/development.rb
33
- => Initialize git repo
34
- => Installing dependencies with: bundle install
35
- => Commit git repo
36
- ================================================================
37
- Congrats You have successfully created a lono project. A starter demo blueprint was created
38
- and is at blueprints/demo. Check things out by going into the created infra folder.
39
-
40
- cd infra
41
-
42
- To create a new blueprint run:
43
-
44
- lono blueprint new demo
45
-
46
- To deploy the blueprint:
47
-
48
- lono cfn deploy my-demo --blueprint demo
49
-
50
- If you name the stack according to conventions, you can simply run:
51
-
52
- lono cfn deploy demo
53
-
54
- To list and create additional blueprints refer to https://lono.cloud/docs/core/blueprints
55
-
56
- More info: https://lono.cloud/
57
- $
@@ -1,6 +0,0 @@
1
- ## Examples
2
-
3
- $ lono param generate ecs-asg
4
- Generating parameter files for blueprint ecs-asg:
5
- output/ecs-asg/params/development.json
6
- $
@@ -1,21 +0,0 @@
1
- ## Example
2
-
3
- $ lono set_instances delete my-set --accounts 112233445566 --regions us-west-1 us-west-2
4
- Are you sure you want to delete the my-set instances?
5
- These stack instances will be deleted:
6
-
7
- accounts: 112233445566
8
- regions: us-west-1,us-west-2
9
-
10
-
11
- Are you sure? (y/N) y
12
- Stack Instance statuses... (takes a while)
13
- Stack Instance: account 112233445566 region us-west-1 status CURRENT
14
- Stack Instance: account 112233445566 region us-west-2 status CURRENT
15
- Stack Instance: account 112233445566 region us-west-2 status OUTDATED reason User initiated operation
16
- Stack Instance: account 112233445566 region us-west-1 status OUTDATED reason User initiated operation
17
- Stack Instance: account 112233445566 region us-west-1 status DELETED
18
- Stack Instance: account 112233445566 region us-west-2 status DELETED
19
- Time took to complete stack set operation: 30s
20
- Stack set operation completed.
21
- $
@@ -1,31 +0,0 @@
1
- The deploy command delegates to the `lono set_instances create` or `lono set_instances update` commands. This spares you from having to manually figuring out which stack instances need to be created and updated.
2
-
3
- ## Example
4
-
5
- $ lono set_instances deploy enable-aws-config --accounts 111111111111 222222222222 --regions us-west-2 us-east-2Running lono set_instances create on account: 111111111111 regions: us-west-2,us-east-2
6
- Deploying enable-aws-config stack set
7
- Stack Set Operation Status: RUNNING
8
- Stack Instance statuses... (takes a while)
9
- You can also check with StackSets console at the Operations Tab.
10
- Here is also the cli command to check:
11
-
12
- aws cloudformation describe-stack-set-operation --stack-set-name enable-aws-config --operation-id 44a50065-1b10-49f0-b6b9-853092a0cb09
13
-
14
- 2020-04-25 10:58:32PM Stack Instance: account 222222222222 region us-east-2 status CURRENT
15
- 2020-04-25 10:58:32PM Stack Instance: account 111111111111 region us-west-2 status OUTDATED reason User initiated operation
16
- 2020-04-25 10:58:32PM Stack Instance: account 222222222222 region us-west-2 status CURRENT
17
- 2020-04-25 10:58:32PM Stack Instance: account 111111111111 region us-east-2 status OUTDATED reason User initiated operation
18
- Stack Set Operation Status: SUCCEEDED
19
- Time took to complete stack set operation: 1m 23s
20
- Stack Set Operation Summary:
21
- account 111111111111 region us-west-2 status SUCCEEDED
22
- account 111111111111 region us-east-2 status SUCCEEDED
23
- Running lono set_instances update on account: 222222222222 regions: us-west-2,us-east-2
24
- Deploying enable-aws-config stack set
25
- Stack Set Operation Status: RUNNING
26
- Stack Set Operation Status: SUCCEEDED
27
- Time took to complete stack set operation: 23s
28
- Stack Set Operation Summary:
29
- account 222222222222 region us-west-2 status SUCCEEDED
30
- account 222222222222 region us-east-2 status SUCCEEDED
31
- $
@@ -1,14 +0,0 @@
1
- ## Example
2
-
3
- $ lono set_instances list my-set
4
- Stack Instance: account 112233445566 region ap-northeast-1 status CURRENT
5
- Stack Instance: account 223344556677 region us-west-1 status CURRENT
6
- Stack Instance: account 223344556677 region ap-northeast-1 status CURRENT
7
- Stack Instance: account 223344556677 region us-west-2 status CURRENT
8
- Stack Instance: account 223344556677 region ap-northeast-2 status CURRENT
9
- Stack Instance: account 112233445566 region ap-northeast-2 status CURRENT
10
- Stack Instance: account 112233445566 region us-west-2 status CURRENT
11
- Stack Instance: account 112233445566 region us-west-1 status CURRENT
12
- Time took to complete stack set operation: 4m 29s
13
- Stack set operation completed.
14
- $
@@ -1,15 +0,0 @@
1
- ## Example
2
-
3
- $ lono set_instances status my-set
4
- Stack Instance statuses... (takes a while)
5
- Stack Instance: account 112233445566 region ap-northeast-1 status CURRENT
6
- Stack Instance: account 112233445566 region us-west-1 status CURRENT
7
- Stack Instance: account 112233445566 region us-west-2 status CURRENT
8
- Stack Instance: account 112233445566 region ap-northeast-2 status CURRENT
9
- Stack Instance: account 223344556677 region us-west-2 status CURRENT
10
- Stack Instance: account 223344556677 region ap-northeast-2 status CURRENT
11
- Stack Instance: account 223344556677 region us-west-1 status CURRENT
12
- Stack Instance: account 223344556677 region ap-northeast-1 status CURRENT
13
- Time took to complete stack set operation: 4m 29s
14
- Stack set operation completed.
15
- $
@@ -1,92 +0,0 @@
1
- IMPORTANT: The `lono set_instances sync` command is deprecated in favor of `lono set_instances deploy`. With stack sets, found more success with explicitness.
2
-
3
- Lono uses the `config/accounts` and `config/regions` to calculate whether `create-stack-set` or `delete-stack-set` need to be called and calls them accordingly. You use this instead of `lono sets deploy` when only configs have been adjust and you want to keep the existing template.
4
-
5
- Provided:
6
-
7
- configs/demo/accounts/development/my-set.txt
8
-
9
- 112233445566
10
- 223344556677
11
-
12
- configs/demo/regions/development/my-set.txt
13
-
14
- us-east-1
15
- us-east-2
16
- us-west-1
17
- us-west-2
18
-
19
- And then we update:
20
-
21
- configs/demo/regions/development/my-set.txt
22
-
23
- us-west-1
24
- us-west-2
25
- ap-northeast-1
26
- ap-northeast-2
27
-
28
- Running `lono set_instances sync` will delete and add the stack instances accordingly.
29
-
30
- $ lono set_instances sync my-set --blueprint demo
31
- Using regions for development: configs/demo/regions/development/my-set.sh
32
- Using accounts for development: configs/demo/accounts/development/my-set.sh
33
- Are you sure you want to sync stack instances?
34
- lono will run:
35
- create_stack_instances for:
36
- accounts: 112233445566,223344556677
37
- regions: ap-northeast-1,ap-northeast-2
38
-
39
- Number of stack instances to be created: 4
40
- delete_stack_instances for:
41
- accounts: 112233445566,223344556677
42
- regions: us-east-1,us-east-2
43
-
44
- Number of stack instances to be deleted: 4
45
-
46
- Are you sure? (y/N) y
47
- => Running create_stack_instances on:
48
- accounts: 112233445566,223344556677
49
- regions: ap-northeast-1,ap-northeast-2
50
- Stack Instance statuses... (takes a while)
51
- 2019-12-19 10:59:07 PM Stack Instance: account 112233445566 region ap-northeast-1 status OUTDATED reason User initiated operation
52
- 2019-12-19 10:59:07 PM Stack Instance: account 223344556677 region ap-northeast-1 status OUTDATED reason User initiated operation
53
- 2019-12-19 10:59:07 PM Stack Instance: account 223344556677 region ap-northeast-2 status OUTDATED reason User initiated operation
54
- 2019-12-19 10:59:07 PM Stack Instance: account 112233445566 region ap-northeast-2 status OUTDATED reason User initiated operation
55
- 2019-12-19 10:59:17 PM Stack Instance: account 112233445566 region ap-northeast-1 status OUTDATED reason User Initiated
56
- 2019-12-19 10:59:26 PM Stack Instance: account 112233445566 region ap-northeast-1 status CURRENT
57
- 2019-12-19 10:59:40 PM Stack Instance: account 223344556677 region ap-northeast-1 status OUTDATED reason User Initiated
58
- 2019-12-19 10:59:49 PM Stack Instance: account 223344556677 region ap-northeast-1 status CURRENT
59
- 2019-12-19 11:00:04 PM Stack Instance: account 112233445566 region ap-northeast-2 status OUTDATED reason User Initiated
60
- 2019-12-19 11:00:17 PM Stack Instance: account 112233445566 region ap-northeast-2 status CURRENT
61
- 2019-12-19 11:00:27 PM Stack Instance: account 223344556677 region ap-northeast-2 status OUTDATED reason User Initiated
62
- Time took to complete stack set operation: 1m 40s
63
- Stack set operation completed.
64
- Stack Set Operation Summary:
65
- account 112233445566 region ap-northeast-2 status SUCCEEDED
66
- account 112233445566 region ap-northeast-1 status SUCCEEDED
67
- account 223344556677 region ap-northeast-2 status SUCCEEDED
68
- account 223344556677 region ap-northeast-1 status SUCCEEDED
69
- => Running delete_stack_instances on:
70
- accounts: 112233445566,223344556677
71
- regions: us-east-1,us-east-2
72
- Stack Instance statuses... (takes a while)
73
- 2019-12-19 11:00:40 PM Stack Instance: account 112233445566 region us-east-2 status CURRENT
74
- 2019-12-19 11:00:40 PM Stack Instance: account 112233445566 region us-east-1 status CURRENT
75
- 2019-12-19 11:00:40 PM Stack Instance: account 223344556677 region us-east-2 status CURRENT
76
- 2019-12-19 11:00:40 PM Stack Instance: account 223344556677 region us-east-1 status CURRENT
77
- 2019-12-19 11:00:40 PM Stack Instance: account 223344556677 region us-east-1 status OUTDATED reason User initiated operation
78
- 2019-12-19 11:00:41 PM Stack Instance: account 223344556677 region ap-northeast-2 status CURRENT
79
- 2019-12-19 11:00:44 PM Stack Instance: account 112233445566 region us-east-2 status OUTDATED reason User initiated operation
80
- 2019-12-19 11:00:45 PM Stack Instance: account 112233445566 region us-east-1 status OUTDATED reason User initiated operation
81
- 2019-12-19 11:00:45 PM Stack Instance: account 223344556677 region us-east-2 status OUTDATED reason User initiated operation
82
- 2019-12-19 11:01:03 PM Stack Instance: account 112233445566 region us-east-1 status DELETED
83
- 2019-12-19 11:01:17 PM Stack Instance: account 223344556677 region us-east-1 status DELETED
84
- 2019-12-19 11:01:31 PM Stack Instance: account 112233445566 region us-east-2 status DELETED
85
- Time took to complete stack set operation: 1m 3s
86
- Stack set operation completed.
87
- Stack Set Operation Summary:
88
- account 112233445566 region us-east-1 status SUCCEEDED
89
- account 112233445566 region us-east-2 status SUCCEEDED
90
- account 223344556677 region us-east-2 status SUCCEEDED
91
- account 223344556677 region us-east-1 status SUCCEEDED
92
- $
@@ -1,8 +0,0 @@
1
- ## Example
2
-
3
- $ lono sets delete my-set
4
- Are you sure you want to delete the my-set stack set?
5
- Be sure that it emptied of stack instances first.
6
- Are you sure? (y/N) y
7
- Deleting my-set stack set.
8
- $
@@ -1,76 +0,0 @@
1
- ## Example
2
-
3
- $ lono sets deploy my-set --blueprint demo
4
- Generating CloudFormation templates for blueprint demo:
5
- output/demo/templates/demo.yml
6
- Uploading CloudFormation templates...
7
- Uploaded: output/demo/templates/demo.yml to s3://lono-bucket-12di8xz5sy72z/development/output/demo/templates/demo.yml
8
- Templates uploaded to s3.
9
- Generating parameter files for blueprint demo:
10
- Using params for development: configs/demo/params/development.txt
11
- output/demo/params/development.json
12
- Parameter Diff Preview:
13
- Running: colordiff /tmp/lono/params-preview/existing.json /tmp/lono/params-preview/new.json
14
- There were no differences.
15
- Generating CloudFormation source code diff...
16
- Running: colordiff /tmp/existing_stack_set.yml /home/ec2-user/environment/infra/output/demo/templates/demo.yml
17
- 33c33
18
- < Value: '2019-12-19 22:46:33 +0000'
19
- ---
20
- > Value: '2019-12-19 23:08:05 +0000'
21
- Parameters passed to cfn.update_stack_set:
22
- ---
23
- stack_set_name: my-set
24
- parameters:
25
- - parameter_key: GroupDescription
26
- parameter_value: my-group-description-1
27
- template_url: https://lono-bucket-12di8xz5sy72z.s3.us-west-2.amazonaws.com/development/output/demo/templates/demo.yml
28
- template_body: 'Hidden due to size... View at: output/demo/templates/demo.yml'
29
- Are you sure you want to update the my-set stack set?
30
- Will deploy to:
31
- account: 112233445566
32
- regions: ap-northeast-1,ap-northeast-2,us-west-1,us-west-2
33
- account: 223344556677
34
- regions: ap-northeast-1,ap-northeast-2,us-west-1,us-west-2
35
-
36
- Number of stack instances to be updated: 8
37
- Are you sure? (y/N) y
38
- Updating my-set stack set
39
- Stack Set Operation Status: RUNNING
40
- Stack Instance statuses... (takes a while)
41
- 2019-12-19 11:08:21 PM Stack Instance: account 112233445566 region ap-northeast-1 status OUTDATED reason User initiated operation
42
- 2019-12-19 11:08:21 PM Stack Instance: account 112233445566 region us-west-2 status OUTDATED reason User initiated operation
43
- 2019-12-19 11:08:23 PM Stack Instance: account 112233445566 region ap-northeast-2 status OUTDATED reason User initiated operation
44
- 2019-12-19 11:08:30 PM Stack Instance: account 223344556677 region ap-northeast-1 status OUTDATED reason User initiated operation
45
- 2019-12-19 11:08:30 PM Stack Instance: account 223344556677 region ap-northeast-2 status OUTDATED reason User initiated operation
46
- 2019-12-19 11:08:30 PM Stack Instance: account 112233445566 region us-west-1 status OUTDATED reason User initiated operation
47
- 2019-12-19 11:08:30 PM Stack Instance: account 223344556677 region us-west-1 status OUTDATED reason User Initiated
48
- 2019-12-19 11:08:31 PM Stack Instance: account 223344556677 region us-west-2 status OUTDATED reason User initiated operation
49
- 2019-12-19 11:08:49 PM Stack Instance: account 223344556677 region us-west-1 status CURRENT
50
- 2019-12-19 11:08:58 PM Stack Instance: account 112233445566 region us-west-1 status OUTDATED reason User Initiated
51
- 2019-12-19 11:09:17 PM Stack Instance: account 112233445566 region us-west-1 status CURRENT
52
- 2019-12-19 11:09:28 PM Stack Instance: account 112233445566 region ap-northeast-2 status OUTDATED reason User Initiated
53
- 2019-12-19 11:09:51 PM Stack Instance: account 112233445566 region ap-northeast-2 status CURRENT
54
- 2019-12-19 11:10:03 PM Stack Instance: account 223344556677 region ap-northeast-2 status OUTDATED reason User Initiated
55
- 2019-12-19 11:10:27 PM Stack Instance: account 223344556677 region ap-northeast-2 status CURRENT
56
- 2019-12-19 11:10:36 PM Stack Instance: account 112233445566 region ap-northeast-1 status OUTDATED reason User Initiated
57
- 2019-12-19 11:10:59 PM Stack Instance: account 112233445566 region ap-northeast-1 status CURRENT
58
- 2019-12-19 11:11:08 PM Stack Instance: account 223344556677 region ap-northeast-1 status OUTDATED
59
- 2019-12-19 11:11:13 PM Stack Instance: account 223344556677 region ap-northeast-1 status OUTDATED reason User Initiated
60
- 2019-12-19 11:11:36 PM Stack Instance: account 223344556677 region ap-northeast-1 status CURRENT
61
- 2019-12-19 11:11:46 PM Stack Instance: account 112233445566 region us-west-2 status OUTDATED reason User Initiated
62
- 2019-12-19 11:12:09 PM Stack Instance: account 112233445566 region us-west-2 status CURRENT
63
- 2019-12-19 11:12:19 PM Stack Instance: account 223344556677 region us-west-2 status OUTDATED reason User Initiated
64
- Stack Set Operation Status: SUCCEEDED
65
- 2019-12-19 11:12:42 PM Stack Instance: account 223344556677 region us-west-2 status CURRENT
66
- Time took to complete stack set operation: 4m 29s
67
- Stack Set Operation Summary:
68
- account 223344556677 region us-west-1 status SUCCEEDED
69
- account 112233445566 region us-west-2 status SUCCEEDED
70
- account 112233445566 region ap-northeast-1 status SUCCEEDED
71
- account 112233445566 region ap-northeast-2 status SUCCEEDED
72
- account 223344556677 region ap-northeast-2 status SUCCEEDED
73
- account 223344556677 region us-west-2 status SUCCEEDED
74
- account 112233445566 region us-west-1 status SUCCEEDED
75
- account 223344556677 region ap-northeast-1 status SUCCEEDED
76
- demo
@@ -1,23 +0,0 @@
1
- ## Example
2
-
3
- $ lono sets status my-set
4
- Stack Set Operation Status: SUCCEEDED
5
- Stack Instance statuses... (takes a while)
6
- Stack Instance: account 112233445566 region ap-northeast-2 status CURRENT
7
- Stack Instance: account 112233445566 region ap-northeast-1 status CURRENT
8
- Stack Instance: account 223344556677 region us-west-1 status CURRENT
9
- Stack Instance: account 223344556677 region ap-northeast-1 status CURRENT
10
- Stack Instance: account 223344556677 region ap-northeast-2 status CURRENT
11
- Stack Instance: account 112233445566 region us-west-1 status CURRENT
12
- Stack Instance: account 112233445566 region us-west-2 status CURRENT
13
- Stack Instance: account 223344556677 region us-west-2 status CURRENT
14
- Stack Set Operation Summary:
15
- account 223344556677 region us-west-1 status SUCCEEDED
16
- account 112233445566 region us-west-2 status SUCCEEDED
17
- account 112233445566 region ap-northeast-1 status SUCCEEDED
18
- account 112233445566 region ap-northeast-2 status SUCCEEDED
19
- account 223344556677 region ap-northeast-2 status SUCCEEDED
20
- account 223344556677 region us-west-2 status SUCCEEDED
21
- account 112233445566 region us-west-1 status SUCCEEDED
22
- account 223344556677 region ap-northeast-1 status SUCCEEDED
23
- $
@@ -1,33 +0,0 @@
1
- The `lono summary` command helps you quickly understand a CloudFormation template.
2
-
3
- ## Examples
4
-
5
- $ bundle exec lono summary ec2
6
- Generating CloudFormation templates for blueprint ec2:
7
- output/ec2/templates/ec2-old.yml
8
- output/ec2/templates/ec2-new.yml
9
- => CloudFormation Template Summary for template ec2-new:
10
- Required Parameters (0):
11
- There are no required parameters.
12
- Optional Parameters (3):
13
- InstanceType (String) Default: t3.micro
14
- Subnet (String) Default:
15
- Vpc (String) Default:
16
- Resources:
17
- 1 AWS::EC2::Instance
18
- 1 AWS::EC2::SecurityGroup
19
- 2 Total
20
- => CloudFormation Template Summary for template ec2-old:
21
- Required Parameters (0):
22
- There are no required parameters.
23
- Optional Parameters (3):
24
- InstanceType (String) Default: t3.micro
25
- Subnet (String) Default:
26
- Vpc (String) Default:
27
- Resources:
28
- 1 AWS::EC2::Instance
29
- 1 AWS::EC2::SecurityGroup
30
- 2 Total
31
- $
32
-
33
- Blog Post also covers this: [lono summary Tutorial Introduction](https://blog.boltops.com/2017/09/18/lono-inspect-summary-tutorial-introduction)
@@ -1,7 +0,0 @@
1
- ## Examples
2
-
3
- lono template generate
4
- lono template generate --clean
5
- lono template g --clean
6
-
7
- Builds the CloudFormation templates files based on lono project and writes them to the output folder on the filesystem.
@@ -1 +0,0 @@
1
- The lono upgrade command works for v6 and onward.
@@ -1,16 +0,0 @@
1
- ## Example
2
-
3
- With more complex CloudFormation templates, the dependency can get difficult to follow. Visualizing the dependencies is helpful.
4
-
5
- lono code import https://s3.amazonaws.com/solutions-reference/aws-waf-security-automations/latest/aws-waf-security-automations.template --blueprint waf
6
- lono xgraph waf
7
-
8
- This above command generates a dependency chart. The command uses the DependsOn attribute specified in each resource to figure this out. It does not show implied dependencies that CloudFormaton automatically computes for us. The chart looks like this:
9
-
10
- ![](/img/tutorial/waf-chart.png){:.doc-photo}
11
-
12
- The chart is generated with [Graphviz](http://www.graphviz.org/). To install:
13
-
14
- brew install graphviz
15
-
16
- Blog Post also covers this: [lono inspect depends Tutorial Introduction](https://blog.boltops.com/2017/09/20/lono-inspect-depends-tutorial-introduction)
data/lib/lono/help.rb DELETED
@@ -1,15 +0,0 @@
1
- module Lono::Help
2
- class << self
3
- # namespaced_command: cfn/create or cfn:create both work.
4
- def text(namespaced_command)
5
- path = namespaced_command.to_s.gsub(':','/')
6
- path = File.expand_path("../help/#{path}.md", __FILE__)
7
- IO.read(path) if File.exist?(path)
8
- end
9
-
10
- # Generates a markdown file for site docuemtation
11
- def markdown
12
-
13
- end
14
- end
15
- end
@@ -1,31 +0,0 @@
1
- class Lono::Importer
2
- class Erb < Base
3
- def run
4
- puts "=> Imported CloudFormation template.".color(:green)
5
- template_path = "#{Lono.config.templates_path}/#{@template}.yml"
6
- download_template(@source, template_path)
7
- puts "Template created: #{pretty_path(template_path)}"
8
-
9
- create_dot_lono("erb")
10
- template_definition_path = add_template_definition
11
- puts "Template definition added: #{pretty_path(template_definition_path)}"
12
-
13
- create_params(template_path)
14
- summarize
15
- end
16
-
17
- # Add template definition to app/definitions/base.rb.
18
- def add_template_definition
19
- path = "#{Lono.config.definitions_path}/base.rb"
20
- lines = File.exist?(path) ? IO.readlines(path) : []
21
- new_template_definition = %Q|template "#{@template}"|
22
- unless lines.detect { |l| l.include?(new_template_definition) }
23
- lines << ["\n", new_template_definition]
24
- result = lines.join('')
25
- FileUtils.mkdir_p(File.dirname(path))
26
- IO.write(path, result)
27
- end
28
- path
29
- end
30
- end
31
- end
@@ -1,125 +0,0 @@
1
- require "yaml"
2
- require "graph"
3
-
4
- module Lono::Inspector
5
- class Graph < Base
6
- def initialize(options={})
7
- super
8
- @nodes = [] # lookup map
9
- end
10
-
11
- def perform(template)
12
- # little dirty but @template is used in data method so we dont have to pass it to the data method
13
- @template = template
14
-
15
- puts "Generating dependencies tree for template #{@template}..."
16
- return if @options[:noop]
17
-
18
- # First loop through top level nodes and build set depends_on property
19
- node_list = [] # top level node list
20
- resources = data["Resources"]
21
- resources.each do |logical_id, resource|
22
- node = Node.new(logical_id)
23
- node.depends_on = normalize_depends_on(resource)
24
- node.resource_type = normalize_resource_type(resource)
25
- node_list << node
26
- end
27
-
28
- # Now that we have loop through all the top level resources once
29
- # we can use the depends_on attribute on each node and set the
30
- # children property since the identity nodes are in memory.
31
- node_list.each do |node|
32
- node.children = normalize_children(node_list, node)
33
- end
34
-
35
- # At this point we have a tree of nodes.
36
- if @options[:display] == "text"
37
- puts "CloudFormation Dependencies:"
38
- node_list.each { |node| print_tree(node) }
39
- else
40
- print_graph(node_list)
41
- puts "CloudFormation Dependencies graph generated."
42
- end
43
- end
44
-
45
- # normalized DependOn attribute to an Array of Strings
46
- def normalize_depends_on(resource)
47
- dependencies = resource["DependOn"] || []
48
- [dependencies].flatten
49
- end
50
-
51
- def normalize_resource_type(resource)
52
- type = resource["Type"]
53
- type.sub("AWS::", "") # strip out AWS to make less verbose
54
- end
55
-
56
- # It is possible with bad CloudFormation templates that the dependency is not
57
- # resolved, but we wont deal with that. Users can validate their CloudFormation
58
- # template before using this tool.
59
- def normalize_children(node_list, node)
60
- kids = []
61
- node.depends_on.each do |dependent_logical_id|
62
- node = node_list.find { |n| n.name == dependent_logical_id }
63
- kids << node
64
- end
65
- kids
66
- end
67
-
68
- def print_tree(node, depth=0)
69
- spacing = " " * depth
70
- puts "#{spacing}#{node.name}"
71
- node.children.each do |node|
72
- print_tree(node, depth+1)
73
- end
74
- end
75
-
76
- def print_graph(node_list)
77
- check_graphviz_installed
78
- digraph do
79
- # graph_attribs << 'size="6,6"'
80
- node_attribs << lightblue << filled
81
-
82
- node_list.each do |n|
83
- node(n.graph_name)
84
- n.children.each do |child|
85
- edge n.graph_name, child.graph_name
86
- end
87
- end
88
-
89
- random = (0...8).map { (65 + rand(26)).chr }.join
90
- path = "/tmp/cloudformation-depends-on-#{random}"
91
- save path, "png"
92
- # Check if open command exists and use it to open the image.
93
- system "open #{path}.png" if system("type open > /dev/null 2>&1")
94
- end
95
- end
96
-
97
- # Check if Graphiz is installed and prints a user friendly message if it is not installed.
98
- # Provide instructions if on macosx.
99
- def check_graphviz_installed
100
- installed = system("type dot > /dev/null 2>&1") # dot is a command that is part of the graphviz package
101
- unless installed
102
- puts "It appears that the Graphviz is not installed. Please install it to generate the graph."
103
- if RUBY_PLATFORM =~ /darwin/
104
- puts "You can install Graphviz with homebrew:"
105
- puts " brew install graphviz"
106
- end
107
- exit 1
108
- end
109
- end
110
-
111
- class Node
112
- attr_accessor :name, :resource_type, :children, :depends_on
113
- def initialize(name)
114
- @name = name
115
- @children = []
116
- @depends_on = []
117
- end
118
-
119
- def graph_name
120
- type = "(#{resource_type})" if resource_type
121
- [name, type].compact.join("\n")
122
- end
123
- end
124
- end
125
- end