@rockcarver/frodo-cli 2.0.0-57 → 2.0.0-59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/esm/cli/FrodoCommand.js +9 -1
  3. package/esm/cli/FrodoCommand.js.map +1 -1
  4. package/esm/cli/_template/something-delete.js +14 -12
  5. package/esm/cli/_template/something-delete.js.map +1 -1
  6. package/esm/cli/_template/something-describe.js +14 -12
  7. package/esm/cli/_template/something-describe.js.map +1 -1
  8. package/esm/cli/_template/something-else-delete.js +14 -12
  9. package/esm/cli/_template/something-else-delete.js.map +1 -1
  10. package/esm/cli/_template/something-else-describe.js +14 -12
  11. package/esm/cli/_template/something-else-describe.js.map +1 -1
  12. package/esm/cli/_template/something-else-export.js +14 -12
  13. package/esm/cli/_template/something-else-export.js.map +1 -1
  14. package/esm/cli/_template/something-else-import.js +14 -12
  15. package/esm/cli/_template/something-else-import.js.map +1 -1
  16. package/esm/cli/_template/something-else-list.js +14 -12
  17. package/esm/cli/_template/something-else-list.js.map +1 -1
  18. package/esm/cli/_template/something-else.js +15 -8
  19. package/esm/cli/_template/something-else.js.map +1 -1
  20. package/esm/cli/_template/something-export.js +14 -12
  21. package/esm/cli/_template/something-export.js.map +1 -1
  22. package/esm/cli/_template/something-import.js +14 -12
  23. package/esm/cli/_template/something-import.js.map +1 -1
  24. package/esm/cli/_template/something-list.js +14 -12
  25. package/esm/cli/_template/something-list.js.map +1 -1
  26. package/esm/cli/_template/something-other-delete.js +14 -12
  27. package/esm/cli/_template/something-other-delete.js.map +1 -1
  28. package/esm/cli/_template/something-other-describe.js +14 -12
  29. package/esm/cli/_template/something-other-describe.js.map +1 -1
  30. package/esm/cli/_template/something-other-export.js +14 -12
  31. package/esm/cli/_template/something-other-export.js.map +1 -1
  32. package/esm/cli/_template/something-other-import.js +14 -12
  33. package/esm/cli/_template/something-other-import.js.map +1 -1
  34. package/esm/cli/_template/something-other-list.js +14 -12
  35. package/esm/cli/_template/something-other-list.js.map +1 -1
  36. package/esm/cli/_template/something-other.js +15 -8
  37. package/esm/cli/_template/something-other.js.map +1 -1
  38. package/esm/cli/_template/something.js +15 -11
  39. package/esm/cli/_template/something.js.map +1 -1
  40. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +16 -14
  41. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  42. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +62 -60
  43. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  44. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +27 -25
  45. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-export.js +34 -32
  47. package/esm/cli/admin/admin-federation-export.js.map +1 -1
  48. package/esm/cli/admin/admin-federation-import.js +39 -37
  49. package/esm/cli/admin/admin-federation-import.js.map +1 -1
  50. package/esm/cli/admin/admin-federation-list.js +20 -18
  51. package/esm/cli/admin/admin-federation-list.js.map +1 -1
  52. package/esm/cli/admin/admin-federation.js +16 -8
  53. package/esm/cli/admin/admin-federation.js.map +1 -1
  54. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +29 -27
  55. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +1 -1
  56. package/esm/cli/admin/admin-get-access-token.js +16 -14
  57. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  58. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +16 -14
  59. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  60. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +16 -14
  61. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  62. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +16 -14
  63. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +16 -14
  65. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  66. package/esm/cli/admin/admin-list-static-user-mappings.js +16 -14
  67. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  68. package/esm/cli/admin/admin-remove-static-user-mapping.js +16 -14
  69. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  70. package/esm/cli/admin/admin-repair-org-model.js +16 -14
  71. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  72. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +16 -14
  73. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  74. package/esm/cli/admin/admin-show-generic-extension-attributes.js +16 -14
  75. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  76. package/esm/cli/admin/admin-train-auto-access-model.js +19 -17
  77. package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -1
  78. package/esm/cli/admin/admin.js +34 -20
  79. package/esm/cli/admin/admin.js.map +1 -1
  80. package/esm/cli/agent/agent-delete.js +28 -26
  81. package/esm/cli/agent/agent-delete.js.map +1 -1
  82. package/esm/cli/agent/agent-describe.js +14 -12
  83. package/esm/cli/agent/agent-describe.js.map +1 -1
  84. package/esm/cli/agent/agent-export.js +34 -32
  85. package/esm/cli/agent/agent-export.js.map +1 -1
  86. package/esm/cli/agent/agent-gateway-delete.js +28 -26
  87. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-describe.js +14 -12
  89. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-export.js +34 -32
  91. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway-import.js +40 -38
  93. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  94. package/esm/cli/agent/agent-gateway-list.js +15 -13
  95. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  96. package/esm/cli/agent/agent-gateway.js +15 -8
  97. package/esm/cli/agent/agent-gateway.js.map +1 -1
  98. package/esm/cli/agent/agent-import.js +40 -38
  99. package/esm/cli/agent/agent-import.js.map +1 -1
  100. package/esm/cli/agent/agent-java-delete.js +28 -26
  101. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  102. package/esm/cli/agent/agent-java-describe.js +14 -12
  103. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  104. package/esm/cli/agent/agent-java-export.js +34 -32
  105. package/esm/cli/agent/agent-java-export.js.map +1 -1
  106. package/esm/cli/agent/agent-java-import.js +40 -38
  107. package/esm/cli/agent/agent-java-import.js.map +1 -1
  108. package/esm/cli/agent/agent-java-list.js +15 -13
  109. package/esm/cli/agent/agent-java-list.js.map +1 -1
  110. package/esm/cli/agent/agent-java.js +15 -8
  111. package/esm/cli/agent/agent-java.js.map +1 -1
  112. package/esm/cli/agent/agent-list.js +15 -13
  113. package/esm/cli/agent/agent-list.js.map +1 -1
  114. package/esm/cli/agent/agent-web-delete.js +28 -26
  115. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  116. package/esm/cli/agent/agent-web-describe.js +14 -12
  117. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  118. package/esm/cli/agent/agent-web-export.js +34 -32
  119. package/esm/cli/agent/agent-web-export.js.map +1 -1
  120. package/esm/cli/agent/agent-web-import.js +40 -38
  121. package/esm/cli/agent/agent-web-import.js.map +1 -1
  122. package/esm/cli/agent/agent-web-list.js +15 -13
  123. package/esm/cli/agent/agent-web-list.js.map +1 -1
  124. package/esm/cli/agent/agent-web.js +15 -8
  125. package/esm/cli/agent/agent-web.js.map +1 -1
  126. package/esm/cli/agent/agent.js +17 -12
  127. package/esm/cli/agent/agent.js.map +1 -1
  128. package/esm/cli/app/app-delete.js +27 -25
  129. package/esm/cli/app/app-delete.js.map +1 -1
  130. package/esm/cli/app/app-describe.js +14 -12
  131. package/esm/cli/app/app-describe.js.map +1 -1
  132. package/esm/cli/app/app-export.js +42 -40
  133. package/esm/cli/app/app-export.js.map +1 -1
  134. package/esm/cli/app/app-import.js +47 -45
  135. package/esm/cli/app/app-import.js.map +1 -1
  136. package/esm/cli/app/app-list.js +16 -14
  137. package/esm/cli/app/app-list.js.map +1 -1
  138. package/esm/cli/app/app.js +11 -10
  139. package/esm/cli/app/app.js.map +1 -1
  140. package/esm/cli/authn/authn-describe.js +20 -18
  141. package/esm/cli/authn/authn-describe.js.map +1 -1
  142. package/esm/cli/authn/authn-export.js +16 -14
  143. package/esm/cli/authn/authn-export.js.map +1 -1
  144. package/esm/cli/authn/authn-import.js +16 -14
  145. package/esm/cli/authn/authn-import.js.map +1 -1
  146. package/esm/cli/authn/authn.js +7 -7
  147. package/esm/cli/authn/authn.js.map +1 -1
  148. package/esm/cli/authz/authz-policy-delete.js +33 -31
  149. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  150. package/esm/cli/authz/authz-policy-describe.js +20 -18
  151. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  152. package/esm/cli/authz/authz-policy-export.js +65 -63
  153. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  154. package/esm/cli/authz/authz-policy-import.js +55 -53
  155. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  156. package/esm/cli/authz/authz-policy-list.js +27 -25
  157. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  158. package/esm/cli/authz/authz-policy.js +15 -8
  159. package/esm/cli/authz/authz-policy.js.map +1 -1
  160. package/esm/cli/authz/authz-set-delete.js +27 -25
  161. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  162. package/esm/cli/authz/authz-set-describe.js +20 -18
  163. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  164. package/esm/cli/authz/authz-set-export.js +45 -43
  165. package/esm/cli/authz/authz-set-export.js.map +1 -1
  166. package/esm/cli/authz/authz-set-import.js +51 -49
  167. package/esm/cli/authz/authz-set-import.js.map +1 -1
  168. package/esm/cli/authz/authz-set-list.js +16 -14
  169. package/esm/cli/authz/authz-set-list.js.map +1 -1
  170. package/esm/cli/authz/authz-set.js +15 -8
  171. package/esm/cli/authz/authz-set.js.map +1 -1
  172. package/esm/cli/authz/authz-type-delete.js +33 -31
  173. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  174. package/esm/cli/authz/authz-type-describe.js +24 -22
  175. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  176. package/esm/cli/authz/authz-type-export.js +39 -37
  177. package/esm/cli/authz/authz-type-export.js.map +1 -1
  178. package/esm/cli/authz/authz-type-import.js +45 -43
  179. package/esm/cli/authz/authz-type-import.js.map +1 -1
  180. package/esm/cli/authz/authz-type-list.js +16 -14
  181. package/esm/cli/authz/authz-type-list.js.map +1 -1
  182. package/esm/cli/authz/authz-type.js +15 -8
  183. package/esm/cli/authz/authz-type.js.map +1 -1
  184. package/esm/cli/authz/authz.js +7 -7
  185. package/esm/cli/authz/authz.js.map +1 -1
  186. package/esm/cli/config/config-delete.js +14 -12
  187. package/esm/cli/config/config-delete.js.map +1 -1
  188. package/esm/cli/config/config-describe.js +14 -12
  189. package/esm/cli/config/config-describe.js.map +1 -1
  190. package/esm/cli/config/config-export.js +43 -41
  191. package/esm/cli/config/config-export.js.map +1 -1
  192. package/esm/cli/config/config-import.js +53 -51
  193. package/esm/cli/config/config-import.js.map +1 -1
  194. package/esm/cli/config/config-list.js +14 -12
  195. package/esm/cli/config/config-list.js.map +1 -1
  196. package/esm/cli/config/config.js +12 -9
  197. package/esm/cli/config/config.js.map +1 -1
  198. package/esm/cli/conn/conn-delete.js +15 -13
  199. package/esm/cli/conn/conn-delete.js.map +1 -1
  200. package/esm/cli/conn/conn-describe.js +11 -9
  201. package/esm/cli/conn/conn-describe.js.map +1 -1
  202. package/esm/cli/conn/conn-list.js +11 -9
  203. package/esm/cli/conn/conn-list.js.map +1 -1
  204. package/esm/cli/conn/conn-save.js +77 -75
  205. package/esm/cli/conn/conn-save.js.map +1 -1
  206. package/esm/cli/conn/conn.js +9 -8
  207. package/esm/cli/conn/conn.js.map +1 -1
  208. package/esm/cli/email/email-template-export.js +33 -31
  209. package/esm/cli/email/email-template-export.js.map +1 -1
  210. package/esm/cli/email/email-template-import.js +39 -37
  211. package/esm/cli/email/email-template-import.js.map +1 -1
  212. package/esm/cli/email/email-template-list.js +16 -14
  213. package/esm/cli/email/email-template-list.js.map +1 -1
  214. package/esm/cli/email/email-template.js +11 -6
  215. package/esm/cli/email/email-template.js.map +1 -1
  216. package/esm/cli/email/email.js +3 -5
  217. package/esm/cli/email/email.js.map +1 -1
  218. package/esm/cli/esv/esv-apply.js +39 -37
  219. package/esm/cli/esv/esv-apply.js.map +1 -1
  220. package/esm/cli/esv/esv-secret-create.js +19 -17
  221. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  222. package/esm/cli/esv/esv-secret-delete.js +26 -24
  223. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  224. package/esm/cli/esv/esv-secret-describe.js +16 -14
  225. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  226. package/esm/cli/esv/esv-secret-export.js +25 -23
  227. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  228. package/esm/cli/esv/esv-secret-import.js +14 -12
  229. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  230. package/esm/cli/esv/esv-secret-list.js +16 -14
  231. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  232. package/esm/cli/esv/esv-secret-set.js +16 -14
  233. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  234. package/esm/cli/esv/esv-secret-version-activate.js +20 -18
  235. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  236. package/esm/cli/esv/esv-secret-version-create.js +19 -17
  237. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  238. package/esm/cli/esv/esv-secret-version-deactivate.js +20 -18
  239. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  240. package/esm/cli/esv/esv-secret-version-delete.js +26 -24
  241. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  242. package/esm/cli/esv/esv-secret-version-list.js +16 -14
  243. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  244. package/esm/cli/esv/esv-secret-version.js +15 -8
  245. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  246. package/esm/cli/esv/esv-secret.js +21 -11
  247. package/esm/cli/esv/esv-secret.js.map +1 -1
  248. package/esm/cli/esv/esv-variable-create.js +16 -14
  249. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  250. package/esm/cli/esv/esv-variable-delete.js +27 -25
  251. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  252. package/esm/cli/esv/esv-variable-describe.js +16 -14
  253. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  254. package/esm/cli/esv/esv-variable-export.js +26 -24
  255. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  256. package/esm/cli/esv/esv-variable-import.js +14 -12
  257. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  258. package/esm/cli/esv/esv-variable-list.js +16 -14
  259. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  260. package/esm/cli/esv/esv-variable-set.js +24 -22
  261. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  262. package/esm/cli/esv/esv-variable.js +19 -10
  263. package/esm/cli/esv/esv-variable.js.map +1 -1
  264. package/esm/cli/esv/esv.js +7 -7
  265. package/esm/cli/esv/esv.js.map +1 -1
  266. package/esm/cli/idm/idm-count.js +16 -14
  267. package/esm/cli/idm/idm-count.js.map +1 -1
  268. package/esm/cli/idm/idm-export.js +41 -39
  269. package/esm/cli/idm/idm-export.js.map +1 -1
  270. package/esm/cli/idm/idm-import.js +45 -43
  271. package/esm/cli/idm/idm-import.js.map +1 -1
  272. package/esm/cli/idm/idm-list.js +21 -19
  273. package/esm/cli/idm/idm-list.js.map +1 -1
  274. package/esm/cli/idm/idm.js +9 -8
  275. package/esm/cli/idm/idm.js.map +1 -1
  276. package/esm/cli/idp/idp-export.js +34 -32
  277. package/esm/cli/idp/idp-export.js.map +1 -1
  278. package/esm/cli/idp/idp-import.js +47 -45
  279. package/esm/cli/idp/idp-import.js.map +1 -1
  280. package/esm/cli/idp/idp-list.js +20 -18
  281. package/esm/cli/idp/idp-list.js.map +1 -1
  282. package/esm/cli/idp/idp.js +7 -7
  283. package/esm/cli/idp/idp.js.map +1 -1
  284. package/esm/cli/journey/journey-delete.js +27 -25
  285. package/esm/cli/journey/journey-delete.js.map +1 -1
  286. package/esm/cli/journey/journey-describe.js +92 -90
  287. package/esm/cli/journey/journey-describe.js.map +1 -1
  288. package/esm/cli/journey/journey-disable.js +27 -25
  289. package/esm/cli/journey/journey-disable.js.map +1 -1
  290. package/esm/cli/journey/journey-enable.js +27 -25
  291. package/esm/cli/journey/journey-enable.js.map +1 -1
  292. package/esm/cli/journey/journey-export.js +55 -53
  293. package/esm/cli/journey/journey-export.js.map +1 -1
  294. package/esm/cli/journey/journey-import.js +51 -49
  295. package/esm/cli/journey/journey-import.js.map +1 -1
  296. package/esm/cli/journey/journey-list.js +16 -14
  297. package/esm/cli/journey/journey-list.js.map +1 -1
  298. package/esm/cli/journey/journey-prune.js +26 -24
  299. package/esm/cli/journey/journey-prune.js.map +1 -1
  300. package/esm/cli/journey/journey.js +17 -12
  301. package/esm/cli/journey/journey.js.map +1 -1
  302. package/esm/cli/log/log-fetch.js +98 -96
  303. package/esm/cli/log/log-fetch.js.map +1 -1
  304. package/esm/cli/log/log-key-delete.js +25 -23
  305. package/esm/cli/log/log-key-delete.js.map +1 -1
  306. package/esm/cli/log/log-key-describe.js +14 -12
  307. package/esm/cli/log/log-key-describe.js.map +1 -1
  308. package/esm/cli/log/log-key-list.js +16 -14
  309. package/esm/cli/log/log-key-list.js.map +1 -1
  310. package/esm/cli/log/log-key.js +11 -6
  311. package/esm/cli/log/log-key.js.map +1 -1
  312. package/esm/cli/log/log-list.js +70 -68
  313. package/esm/cli/log/log-list.js.map +1 -1
  314. package/esm/cli/log/log-tail.js +60 -58
  315. package/esm/cli/log/log-tail.js.map +1 -1
  316. package/esm/cli/log/log.js +9 -8
  317. package/esm/cli/log/log.js.map +1 -1
  318. package/esm/cli/oauth/oauth-client-delete.js +14 -12
  319. package/esm/cli/oauth/oauth-client-delete.js.map +1 -1
  320. package/esm/cli/oauth/oauth-client-describe.js +14 -12
  321. package/esm/cli/oauth/oauth-client-describe.js.map +1 -1
  322. package/esm/cli/oauth/oauth-client-export.js +42 -40
  323. package/esm/cli/oauth/oauth-client-export.js.map +1 -1
  324. package/esm/cli/oauth/oauth-client-import.js +47 -45
  325. package/esm/cli/oauth/oauth-client-import.js.map +1 -1
  326. package/esm/cli/oauth/oauth-client-list.js +16 -14
  327. package/esm/cli/oauth/oauth-client-list.js.map +1 -1
  328. package/esm/cli/oauth/oauth-client.js +16 -8
  329. package/esm/cli/oauth/oauth-client.js.map +1 -1
  330. package/esm/cli/oauth/oauth.js +4 -6
  331. package/esm/cli/oauth/oauth.js.map +1 -1
  332. package/esm/cli/realm/realm-add-custom-domain.js +15 -13
  333. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  334. package/esm/cli/realm/realm-describe.js +15 -13
  335. package/esm/cli/realm/realm-describe.js.map +1 -1
  336. package/esm/cli/realm/realm-list.js +15 -13
  337. package/esm/cli/realm/realm-list.js.map +1 -1
  338. package/esm/cli/realm/realm-remove-custom-domain.js +15 -13
  339. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  340. package/esm/cli/realm/realm.js +13 -10
  341. package/esm/cli/realm/realm.js.map +1 -1
  342. package/esm/cli/saml/saml-cot-export.js +33 -31
  343. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  344. package/esm/cli/saml/saml-cot-import.js +39 -37
  345. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  346. package/esm/cli/saml/saml-cot-list.js +16 -14
  347. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  348. package/esm/cli/saml/saml-cot.js +11 -6
  349. package/esm/cli/saml/saml-cot.js.map +1 -1
  350. package/esm/cli/saml/saml-delete.js +25 -23
  351. package/esm/cli/saml/saml-delete.js.map +1 -1
  352. package/esm/cli/saml/saml-describe.js +16 -14
  353. package/esm/cli/saml/saml-describe.js.map +1 -1
  354. package/esm/cli/saml/saml-export.js +39 -37
  355. package/esm/cli/saml/saml-export.js.map +1 -1
  356. package/esm/cli/saml/saml-import.js +47 -45
  357. package/esm/cli/saml/saml-import.js.map +1 -1
  358. package/esm/cli/saml/saml-list.js +16 -14
  359. package/esm/cli/saml/saml-list.js.map +1 -1
  360. package/esm/cli/saml/saml-metadata-export.js +33 -31
  361. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  362. package/esm/cli/saml/saml-metadata.js +7 -4
  363. package/esm/cli/saml/saml-metadata.js.map +1 -1
  364. package/esm/cli/saml/saml.js +15 -11
  365. package/esm/cli/saml/saml.js.map +1 -1
  366. package/esm/cli/script/script-delete.js +28 -27
  367. package/esm/cli/script/script-delete.js.map +1 -1
  368. package/esm/cli/script/script-describe.js +14 -12
  369. package/esm/cli/script/script-describe.js.map +1 -1
  370. package/esm/cli/script/script-export.js +43 -41
  371. package/esm/cli/script/script-export.js.map +1 -1
  372. package/esm/cli/script/script-import.js +32 -30
  373. package/esm/cli/script/script-import.js.map +1 -1
  374. package/esm/cli/script/script-list.js +16 -14
  375. package/esm/cli/script/script-list.js.map +1 -1
  376. package/esm/cli/script/script.js +11 -9
  377. package/esm/cli/script/script.js.map +1 -1
  378. package/esm/cli/service/service-delete.js +18 -16
  379. package/esm/cli/service/service-delete.js.map +1 -1
  380. package/esm/cli/service/service-export.js +32 -30
  381. package/esm/cli/service/service-export.js.map +1 -1
  382. package/esm/cli/service/service-import.js +56 -54
  383. package/esm/cli/service/service-import.js.map +1 -1
  384. package/esm/cli/service/service-list.js +14 -12
  385. package/esm/cli/service/service-list.js.map +1 -1
  386. package/esm/cli/service/service.js +9 -8
  387. package/esm/cli/service/service.js.map +1 -1
  388. package/esm/cli/theme/theme-delete.js +33 -31
  389. package/esm/cli/theme/theme-delete.js.map +1 -1
  390. package/esm/cli/theme/theme-export.js +39 -37
  391. package/esm/cli/theme/theme-export.js.map +1 -1
  392. package/esm/cli/theme/theme-import.js +45 -43
  393. package/esm/cli/theme/theme-import.js.map +1 -1
  394. package/esm/cli/theme/theme-list.js +16 -14
  395. package/esm/cli/theme/theme-list.js.map +1 -1
  396. package/esm/cli/theme/theme.js +9 -8
  397. package/esm/cli/theme/theme.js.map +1 -1
  398. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"journey-list.js","names":["state","Option","getTokens","listJourneys","verboseMessage","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","outcome","long","analyze","process","exitCode","parse"],"sources":["../../../src/cli/journey/journey-list.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { listJourneys } from '../../ops/JourneyOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo journey list');\n\nprogram\n .description('List journeys/trees.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .addOption(new Option('-a, --analyze', 'Analyze journeys for custom nodes.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing journeys in realm \"${state.getRealm()}\"...`);\n const outcome = await listJourneys(options.long, options.analyze);\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,oBAAoB,CAAC;AAEtDC,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIP,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACQ,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAD,SAAS,CAAC,IAAIP,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC,CAAC,CAC5ES,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrBE,cAAc,CAAE,8BAA6BJ,KAAK,CAACkB,QAAQ,CAAC,CAAE,MAAK,CAAC;IACpE,MAAMC,OAAO,GAAG,MAAMhB,YAAY,CAACY,OAAO,CAACK,IAAI,EAAEL,OAAO,CAACM,OAAO,CAAC;IACjE,IAAI,CAACF,OAAO,EAAEG,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHjB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"journey-list.js","names":["state","Option","getTokens","listJourneys","verboseMessage","FrodoCommand","setup","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","outcome","long","analyze","process","exitCode"],"sources":["../../../src/cli/journey/journey-list.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { listJourneys } from '../../ops/JourneyOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nexport default function setup() {\n const program = new FrodoCommand('frodo journey list');\n\n program\n .description('List journeys/trees.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .addOption(\n new Option('-a, --analyze', 'Analyze journeys for custom nodes.')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing journeys in realm \"${state.getRealm()}\"...`);\n const outcome = await listJourneys(options.long, options.analyze);\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,oBAAoB,CAAC;EAEtDE,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAD,SAAS,CACR,IAAIR,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAClE,CAAC,CACAU,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD,IAAI,MAAMf,SAAS,CAAC,CAAC,EAAE;MACrBE,cAAc,CAAE,8BAA6BJ,KAAK,CAACmB,QAAQ,CAAC,CAAE,MAAK,CAAC;MACpE,MAAMC,OAAO,GAAG,MAAMjB,YAAY,CAACa,OAAO,CAACK,IAAI,EAAEL,OAAO,CAACM,OAAO,CAAC;MACjE,IAAI,CAACF,OAAO,EAAEG,OAAO,CAACC,QAAQ,GAAG,CAAC;IACpC,CAAC,MAAM;MACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOjB,OAAO;AAChB"}
@@ -7,34 +7,36 @@ const {
7
7
  findOrphanedNodes,
8
8
  removeOrphanedNodes
9
9
  } = frodo.authn.node;
10
- const program = new FrodoCommand('frodo journey prune');
11
- program.description('Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.').action(
12
- // implement command logic inside action handler
13
- async (host, realm, user, password, options, command) => {
14
- command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
15
- if (await getTokens()) {
16
- verboseMessage(`Pruning orphaned configuration artifacts in realm "${state.getRealm()}"...`);
17
- try {
18
- const orphanedNodes = await findOrphanedNodes();
19
- if (orphanedNodes.length > 0) {
20
- const ok = await yesno({
21
- question: 'Prune (permanently delete) orphaned nodes? (y|n):'
22
- });
23
- if (ok) {
24
- await removeOrphanedNodes(orphanedNodes);
10
+ export default function setup() {
11
+ const program = new FrodoCommand('frodo journey prune');
12
+ program.description('Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.').action(
13
+ // implement command logic inside action handler
14
+ async (host, realm, user, password, options, command) => {
15
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
16
+ if (await getTokens()) {
17
+ verboseMessage(`Pruning orphaned configuration artifacts in realm "${state.getRealm()}"...`);
18
+ try {
19
+ const orphanedNodes = await findOrphanedNodes();
20
+ if (orphanedNodes.length > 0) {
21
+ const ok = await yesno({
22
+ question: 'Prune (permanently delete) orphaned nodes? (y|n):'
23
+ });
24
+ if (ok) {
25
+ await removeOrphanedNodes(orphanedNodes);
26
+ }
27
+ } else {
28
+ printMessage('No orphaned nodes found.');
25
29
  }
26
- } else {
27
- printMessage('No orphaned nodes found.');
30
+ } catch (error) {
31
+ printError(error);
32
+ process.exitCode = 1;
28
33
  }
29
- } catch (error) {
30
- printError(error);
34
+ } else {
31
35
  process.exitCode = 1;
32
36
  }
33
- } else {
34
- process.exitCode = 1;
35
37
  }
38
+ // end command logic inside action handler
39
+ );
40
+ return program;
36
41
  }
37
- // end command logic inside action handler
38
- );
39
- program.parse();
40
42
  //# sourceMappingURL=journey-prune.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey-prune.js","names":["frodo","state","yesno","getTokens","printError","printMessage","verboseMessage","FrodoCommand","findOrphanedNodes","removeOrphanedNodes","authn","node","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","orphanedNodes","length","ok","question","error","process","exitCode","parse"],"sources":["../../../src/cli/journey/journey-prune.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport yesno from 'yesno';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printError, printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { findOrphanedNodes, removeOrphanedNodes } = frodo.authn.node;\n\nconst program = new FrodoCommand('frodo journey prune');\n\nprogram\n .description(\n 'Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.'\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(\n `Pruning orphaned configuration artifacts in realm \"${state.getRealm()}\"...`\n );\n try {\n const orphanedNodes = await findOrphanedNodes();\n if (orphanedNodes.length > 0) {\n const ok = await yesno({\n question: 'Prune (permanently delete) orphaned nodes? (y|n):',\n });\n if (ok) {\n await removeOrphanedNodes(orphanedNodes);\n }\n } else {\n printMessage('No orphaned nodes found.');\n }\n } catch (error) {\n printError(error);\n process.exitCode = 1;\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,UAAU,EAAEC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAC9E,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC,iBAAiB;EAAEC;AAAoB,CAAC,GAAGT,KAAK,CAACU,KAAK,CAACC,IAAI;AAEnE,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,qBAAqB,CAAC;AAEvDK,OAAO,CACJC,WAAW,CACV,+JACF,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMjB,SAAS,CAAC,CAAC,EAAE;IACrBG,cAAc,CACX,sDAAqDL,KAAK,CAACqB,QAAQ,CAAC,CAAE,MACzE,CAAC;IACD,IAAI;MACF,MAAMC,aAAa,GAAG,MAAMf,iBAAiB,CAAC,CAAC;MAC/C,IAAIe,aAAa,CAACC,MAAM,GAAG,CAAC,EAAE;QAC5B,MAAMC,EAAE,GAAG,MAAMvB,KAAK,CAAC;UACrBwB,QAAQ,EAAE;QACZ,CAAC,CAAC;QACF,IAAID,EAAE,EAAE;UACN,MAAMhB,mBAAmB,CAACc,aAAa,CAAC;QAC1C;MACF,CAAC,MAAM;QACLlB,YAAY,CAAC,0BAA0B,CAAC;MAC1C;IACF,CAAC,CAAC,OAAOsB,KAAK,EAAE;MACdvB,UAAU,CAACuB,KAAK,CAAC;MACjBC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHjB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"journey-prune.js","names":["frodo","state","yesno","getTokens","printError","printMessage","verboseMessage","FrodoCommand","findOrphanedNodes","removeOrphanedNodes","authn","node","setup","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","orphanedNodes","length","ok","question","error","process","exitCode"],"sources":["../../../src/cli/journey/journey-prune.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport yesno from 'yesno';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printError, printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { findOrphanedNodes, removeOrphanedNodes } = frodo.authn.node;\n\nexport default function setup() {\n const program = new FrodoCommand('frodo journey prune');\n\n program\n .description(\n 'Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.'\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(\n `Pruning orphaned configuration artifacts in realm \"${state.getRealm()}\"...`\n );\n try {\n const orphanedNodes = await findOrphanedNodes();\n if (orphanedNodes.length > 0) {\n const ok = await yesno({\n question: 'Prune (permanently delete) orphaned nodes? (y|n):',\n });\n if (ok) {\n await removeOrphanedNodes(orphanedNodes);\n }\n } else {\n printMessage('No orphaned nodes found.');\n }\n } catch (error) {\n printError(error);\n process.exitCode = 1;\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,UAAU,EAAEC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAC9E,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC,iBAAiB;EAAEC;AAAoB,CAAC,GAAGT,KAAK,CAACU,KAAK,CAACC,IAAI;AAEnE,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIN,YAAY,CAAC,qBAAqB,CAAC;EAEvDM,OAAO,CACJC,WAAW,CACV,+JACF,CAAC,CACAC,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD,IAAI,MAAMlB,SAAS,CAAC,CAAC,EAAE;MACrBG,cAAc,CACX,sDAAqDL,KAAK,CAACsB,QAAQ,CAAC,CAAE,MACzE,CAAC;MACD,IAAI;QACF,MAAMC,aAAa,GAAG,MAAMhB,iBAAiB,CAAC,CAAC;QAC/C,IAAIgB,aAAa,CAACC,MAAM,GAAG,CAAC,EAAE;UAC5B,MAAMC,EAAE,GAAG,MAAMxB,KAAK,CAAC;YACrByB,QAAQ,EAAE;UACZ,CAAC,CAAC;UACF,IAAID,EAAE,EAAE;YACN,MAAMjB,mBAAmB,CAACe,aAAa,CAAC;UAC1C;QACF,CAAC,MAAM;UACLnB,YAAY,CAAC,0BAA0B,CAAC;QAC1C;MACF,CAAC,CAAC,OAAOuB,KAAK,EAAE;QACdxB,UAAU,CAACwB,KAAK,CAAC;QACjBC,OAAO,CAACC,QAAQ,GAAG,CAAC;MACtB;IACF,CAAC,MAAM;MACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOjB,OAAO;AAChB"}
@@ -1,17 +1,22 @@
1
- import path from 'path';
2
- import { fileURLToPath } from 'url';
3
1
  import { FrodoStubCommand } from '../FrodoCommand';
4
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
2
+ import DeleteCmd from './journey-delete.js';
3
+ import DescribeCmd from './journey-describe.js';
4
+ import DisableCmd from './journey-disable.js';
5
+ import EnableCmd from './journey-enable.js';
6
+ import ExportCmd from './journey-export.js';
7
+ import ImportCmd from './journey-import.js';
8
+ import ListCmd from './journey-list.js';
9
+ import PruneCmd from './journey-prune.js';
5
10
  export default function setup() {
6
- const program = new FrodoStubCommand('journey').description('Manage journeys/trees.').executableDir(__dirname);
7
- program.command('list', 'List journeys/trees.');
8
- program.command('describe', 'If host argument is supplied, describe the journey/tree indicated by -t, or all journeys/trees in the realm if no -t is supplied, otherwise describe the journey/tree export file indicated by -f.');
9
- program.command('export', 'Export journeys/trees.');
10
- program.command('import', 'Import journeys/trees.');
11
- program.command('delete', 'Delete journeys/trees.');
12
- program.command('prune', 'Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.');
13
- program.command('enable', 'Enable journeys/trees.');
14
- program.command('disable', 'Disable journeys/trees.');
11
+ const program = new FrodoStubCommand('journey').description('Manage journeys/trees.');
12
+ program.addCommand(ListCmd().name('list'));
13
+ program.addCommand(DescribeCmd().name('describe'));
14
+ program.addCommand(ExportCmd().name('export'));
15
+ program.addCommand(ImportCmd().name('import'));
16
+ program.addCommand(DeleteCmd().name('delete'));
17
+ program.addCommand(PruneCmd().name('prune'));
18
+ program.addCommand(EnableCmd().name('enable'));
19
+ program.addCommand(DisableCmd().name('disable'));
15
20
  return program;
16
21
  }
17
22
  //# sourceMappingURL=journey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["../../../src/cli/journey/journey.ts"],"sourcesContent":["import path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FrodoStubCommand } from '../FrodoCommand';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('journey')\n .description('Manage journeys/trees.')\n .executableDir(__dirname);\n\n program.command('list', 'List journeys/trees.');\n\n program.command(\n 'describe',\n 'If host argument is supplied, describe the journey/tree indicated by -t, or all journeys/trees in the realm if no -t is supplied, otherwise describe the journey/tree export file indicated by -f.'\n );\n\n program.command('export', 'Export journeys/trees.');\n\n program.command('import', 'Import journeys/trees.');\n\n program.command('delete', 'Delete journeys/trees.');\n\n program.command(\n 'prune',\n 'Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.'\n );\n\n program.command('enable', 'Enable journeys/trees.');\n\n program.command('disable', 'Disable journeys/trees.');\n\n return program;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,SAAS,GAAGH,IAAI,CAACI,OAAO,CAACH,aAAa,CAACI,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,SAAS,CAAC,CAC5CQ,WAAW,CAAC,wBAAwB,CAAC,CACrCC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC;EAE/CH,OAAO,CAACG,OAAO,CACb,UAAU,EACV,oMACF,CAAC;EAEDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CACb,OAAO,EACP,+JACF,CAAC;EAEDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC;EAErD,OAAOH,OAAO;AAChB"}
1
+ {"version":3,"file":"journey.js","names":["FrodoStubCommand","DeleteCmd","DescribeCmd","DisableCmd","EnableCmd","ExportCmd","ImportCmd","ListCmd","PruneCmd","setup","program","description","addCommand","name"],"sources":["../../../src/cli/journey/journey.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\nimport DeleteCmd from './journey-delete.js';\nimport DescribeCmd from './journey-describe.js';\nimport DisableCmd from './journey-disable.js';\nimport EnableCmd from './journey-enable.js';\nimport ExportCmd from './journey-export.js';\nimport ImportCmd from './journey-import.js';\nimport ListCmd from './journey-list.js';\nimport PruneCmd from './journey-prune.js';\n\nexport default function setup() {\n const program = new FrodoStubCommand('journey').description(\n 'Manage journeys/trees.'\n );\n\n program.addCommand(ListCmd().name('list'));\n\n program.addCommand(DescribeCmd().name('describe'));\n\n program.addCommand(ExportCmd().name('export'));\n\n program.addCommand(ImportCmd().name('import'));\n\n program.addCommand(DeleteCmd().name('delete'));\n\n program.addCommand(PruneCmd().name('prune'));\n\n program.addCommand(EnableCmd().name('enable'));\n\n program.addCommand(DisableCmd().name('disable'));\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,WAAW,MAAM,uBAAuB;AAC/C,OAAOC,UAAU,MAAM,sBAAsB;AAC7C,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,OAAO,MAAM,mBAAmB;AACvC,OAAOC,QAAQ,MAAM,oBAAoB;AAEzC,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIV,gBAAgB,CAAC,SAAS,CAAC,CAACW,WAAW,CACzD,wBACF,CAAC;EAEDD,OAAO,CAACE,UAAU,CAACL,OAAO,CAAC,CAAC,CAACM,IAAI,CAAC,MAAM,CAAC,CAAC;EAE1CH,OAAO,CAACE,UAAU,CAACV,WAAW,CAAC,CAAC,CAACW,IAAI,CAAC,UAAU,CAAC,CAAC;EAElDH,OAAO,CAACE,UAAU,CAACP,SAAS,CAAC,CAAC,CAACQ,IAAI,CAAC,QAAQ,CAAC,CAAC;EAE9CH,OAAO,CAACE,UAAU,CAACN,SAAS,CAAC,CAAC,CAACO,IAAI,CAAC,QAAQ,CAAC,CAAC;EAE9CH,OAAO,CAACE,UAAU,CAACX,SAAS,CAAC,CAAC,CAACY,IAAI,CAAC,QAAQ,CAAC,CAAC;EAE9CH,OAAO,CAACE,UAAU,CAACJ,QAAQ,CAAC,CAAC,CAACK,IAAI,CAAC,OAAO,CAAC,CAAC;EAE5CH,OAAO,CAACE,UAAU,CAACR,SAAS,CAAC,CAAC,CAACS,IAAI,CAAC,QAAQ,CAAC,CAAC;EAE9CH,OAAO,CAACE,UAAU,CAACT,UAAU,CAAC,CAAC,CAACU,IAAI,CAAC,SAAS,CAAC,CAAC;EAEhD,OAAOH,OAAO;AAChB"}
@@ -17,109 +17,111 @@ const SECONDS_IN_30_DAYS = 2592000;
17
17
  const SECONDS_IN_1_HOUR = 3600;
18
18
  const LOG_TIME_WINDOW_MAX = SECONDS_IN_30_DAYS;
19
19
  const LOG_TIME_WINDOW_INCREMENT = 1;
20
- const program = new FrodoCommand('frodo log fetch', ['realm', 'type']);
21
- program.description('Fetch Identity Cloud logs between a specified begin and end time period.\
22
- WARNING: depending on filters and time period specified, this could take substantial time to complete.').addOption(sourcesOptionM).addOption(new Option('-l, --level <level>', 'Set log level filter. You can specify the level as a number or a string. \
23
- Following values are possible (values on the same line are equivalent): \
24
- \n0, SEVERE, FATAL, or ERROR\n1, WARNING, WARN or CONFIG\
25
- \n2, INFO or INFORMATION\n3, DEBUG, FINE, FINER or FINEST\
26
- \n4 or ALL').default('ERROR', `${resolveLevel('ERROR')}`)).addOption(new Option('-t, --transaction-id <txid>', 'Filter by transactionId')).addOption(new Option('-b, --begin-timestamp <beginTs>', 'Begin timestamp for period (in ISO8601, example: "2022-10-13T19:06:28Z", or "2022-09.30". \
27
- Cannot be more than 30 days in the past. If not specified, logs from one hour ago are fetched \
28
- (-e is ignored)')).addOption(new Option('-e, --end-timestamp <endTs>', 'End timestamp for period. Default: "now"')).addOption(new Option('-s, --search-string <ss>', 'Filter by a specific string (ANDed with transactionID filter)')).addOption(new Option('-d, --defaults', 'Use default logging noise filters').default(false, `Use custom logging noise filters defined in $HOME/${config.FRODO_LOG_NOISEFILTER_FILENAME}`)).action(async (host, user, password, options, command) => {
29
- command.handleDefaultArgsAndOpts(host, user, password, options, command);
30
- let foundCredentials = false;
31
- const conn = await getConnectionProfile();
32
- if (conn) state.setHost(conn.tenant);
20
+ export default function setup() {
21
+ const program = new FrodoCommand('frodo log fetch', ['realm', 'type']);
22
+ program.description('Fetch Identity Cloud logs between a specified begin and end time period.\
23
+ WARNING: depending on filters and time period specified, this could take substantial time to complete.').addOption(sourcesOptionM).addOption(new Option('-l, --level <level>', 'Set log level filter. You can specify the level as a number or a string. \
24
+ Following values are possible (values on the same line are equivalent): \
25
+ \n0, SEVERE, FATAL, or ERROR\n1, WARNING, WARN or CONFIG\
26
+ \n2, INFO or INFORMATION\n3, DEBUG, FINE, FINER or FINEST\
27
+ \n4 or ALL').default('ERROR', `${resolveLevel('ERROR')}`)).addOption(new Option('-t, --transaction-id <txid>', 'Filter by transactionId')).addOption(new Option('-b, --begin-timestamp <beginTs>', 'Begin timestamp for period (in ISO8601, example: "2022-10-13T19:06:28Z", or "2022-09.30". \
28
+ Cannot be more than 30 days in the past. If not specified, logs from one hour ago are fetched \
29
+ (-e is ignored)')).addOption(new Option('-e, --end-timestamp <endTs>', 'End timestamp for period. Default: "now"')).addOption(new Option('-s, --search-string <ss>', 'Filter by a specific string (ANDed with transactionID filter)')).addOption(new Option('-d, --defaults', 'Use default logging noise filters').default(false, `Use custom logging noise filters defined in $HOME/${config.FRODO_LOG_NOISEFILTER_FILENAME}`)).action(async (host, user, password, options, command) => {
30
+ command.handleDefaultArgsAndOpts(host, user, password, options, command);
31
+ let foundCredentials = false;
32
+ const conn = await getConnectionProfile();
33
+ if (conn) state.setHost(conn.tenant);
33
34
 
34
- // log api creds have been supplied as username and password arguments
35
- if (state.getUsername() && state.getPassword()) {
36
- verboseMessage(`Using log api credentials from command line.`);
37
- state.setLogApiKey(state.getUsername());
38
- state.setLogApiSecret(state.getPassword());
39
- foundCredentials = true;
40
- }
41
- // log api creds from connection profile
42
- else if (conn && conn.logApiKey != null && conn.logApiSecret != null) {
43
- verboseMessage(`Using log api credentials from connection profile.`);
44
- state.setLogApiKey(conn.logApiKey);
45
- state.setLogApiSecret(conn.logApiSecret);
46
- foundCredentials = true;
47
- }
48
- // log api creds have been supplied via env variables
49
- else if (state.getLogApiKey() && state.getLogApiSecret()) {
50
- verboseMessage(`Using log api credentials from environment variables.`);
51
- foundCredentials = true;
52
- }
53
- // no log api creds but got username and password, so can try to create them
54
- else if (conn && conn.username && conn.password) {
55
- printMessage(`Found admin credentials in connection profile, attempting to create log api credentials...`);
56
- state.setUsername(conn.username);
57
- state.setPassword(conn.password);
58
- if (await getTokens(true)) {
59
- const creds = await provisionCreds();
60
- state.setLogApiKey(creds.api_key_id);
61
- state.setLogApiSecret(creds.api_key_secret);
62
- try {
63
- await saveConnectionProfile(state.getHost());
64
- } catch (error) {
65
- printError(error);
66
- }
35
+ // log api creds have been supplied as username and password arguments
36
+ if (state.getUsername() && state.getPassword()) {
37
+ verboseMessage(`Using log api credentials from command line.`);
38
+ state.setLogApiKey(state.getUsername());
39
+ state.setLogApiSecret(state.getPassword());
67
40
  foundCredentials = true;
68
41
  }
69
- // unable to create credentials
70
- else {
71
- printMessage(`Unable to create log api credentials.`);
42
+ // log api creds from connection profile
43
+ else if (conn && conn.logApiKey != null && conn.logApiSecret != null) {
44
+ verboseMessage(`Using log api credentials from connection profile.`);
45
+ state.setLogApiKey(conn.logApiKey);
46
+ state.setLogApiSecret(conn.logApiSecret);
47
+ foundCredentials = true;
72
48
  }
73
- }
74
- if (foundCredentials) {
75
- const now = Date.now() / 1000;
76
- const nowString = new Date(now * 1000).toISOString();
77
- if (typeof options.beginTimestamp === 'undefined' || !options.beginTimestamp) {
78
- // no beginTimestamp value specified, default is 1 hour ago
79
- const tempStartDate = new Date();
80
- tempStartDate.setTime((now - SECONDS_IN_1_HOUR) * 1000);
81
- options.beginTimestamp = tempStartDate.toISOString();
82
- // also override endTimestamp to now
83
- const tempEndDate = new Date();
84
- tempEndDate.setTime(now * 1000);
85
- options.endTimestamp = tempEndDate;
86
- printMessage('No timestamps specified, defaulting to logs from 1 hour ago', 'info');
49
+ // log api creds have been supplied via env variables
50
+ else if (state.getLogApiKey() && state.getLogApiSecret()) {
51
+ verboseMessage(`Using log api credentials from environment variables.`);
52
+ foundCredentials = true;
87
53
  }
88
- if (typeof options.endTimestamp === 'undefined' || !options.endTimestamp) {
89
- // no endTimestamp value specified, default is now
90
- options.endTimestamp = nowString;
91
- printMessage('No end timestamp specified, defaulting end timestamp to "now"', 'info');
54
+ // no log api creds but got username and password, so can try to create them
55
+ else if (conn && conn.username && conn.password) {
56
+ printMessage(`Found admin credentials in connection profile, attempting to create log api credentials...`);
57
+ state.setUsername(conn.username);
58
+ state.setPassword(conn.password);
59
+ if (await getTokens(true)) {
60
+ const creds = await provisionCreds();
61
+ state.setLogApiKey(creds.api_key_id);
62
+ state.setLogApiSecret(creds.api_key_secret);
63
+ try {
64
+ await saveConnectionProfile(state.getHost());
65
+ } catch (error) {
66
+ printError(error);
67
+ }
68
+ foundCredentials = true;
69
+ }
70
+ // unable to create credentials
71
+ else {
72
+ printMessage(`Unable to create log api credentials.`);
73
+ }
92
74
  }
93
- let beginTs = Date.parse(options.beginTimestamp) / 1000;
94
- const endTs = Date.parse(options.endTimestamp) / 1000;
95
- if (endTs < beginTs) {
96
- printMessage('End timestamp can not be before begin timestamp', 'error');
97
- process.exitCode = 1;
98
- return;
75
+ if (foundCredentials) {
76
+ const now = Date.now() / 1000;
77
+ const nowString = new Date(now * 1000).toISOString();
78
+ if (typeof options.beginTimestamp === 'undefined' || !options.beginTimestamp) {
79
+ // no beginTimestamp value specified, default is 1 hour ago
80
+ const tempStartDate = new Date();
81
+ tempStartDate.setTime((now - SECONDS_IN_1_HOUR) * 1000);
82
+ options.beginTimestamp = tempStartDate.toISOString();
83
+ // also override endTimestamp to now
84
+ const tempEndDate = new Date();
85
+ tempEndDate.setTime(now * 1000);
86
+ options.endTimestamp = tempEndDate;
87
+ printMessage('No timestamps specified, defaulting to logs from 1 hour ago', 'info');
88
+ }
89
+ if (typeof options.endTimestamp === 'undefined' || !options.endTimestamp) {
90
+ // no endTimestamp value specified, default is now
91
+ options.endTimestamp = nowString;
92
+ printMessage('No end timestamp specified, defaulting end timestamp to "now"', 'info');
93
+ }
94
+ let beginTs = Date.parse(options.beginTimestamp) / 1000;
95
+ const endTs = Date.parse(options.endTimestamp) / 1000;
96
+ if (endTs < beginTs) {
97
+ printMessage('End timestamp can not be before begin timestamp', 'error');
98
+ process.exitCode = 1;
99
+ return;
100
+ }
101
+ if (now - beginTs > LOG_TIME_WINDOW_MAX) {
102
+ printMessage('Begin timestamp can not be more than 30 days in the past', 'error');
103
+ process.exitCode = 1;
104
+ return;
105
+ }
106
+ let intermediateEndTs = 0;
107
+ printMessage(`Fetching ID Cloud logs from the following sources: ${command.opts().sources} and levels [${resolveLevel(command.opts().level)}] of ${conn.tenant}...`);
108
+ let timeIncrement = LOG_TIME_WINDOW_INCREMENT;
109
+ if (endTs - beginTs > 30) {
110
+ timeIncrement = timeIncrement * 30;
111
+ }
112
+ do {
113
+ intermediateEndTs = beginTs + timeIncrement;
114
+ await fetchLogs(command.opts().sources, new Date(beginTs * 1000).toISOString(), new Date(intermediateEndTs * 1000).toISOString(), resolveLevel(command.opts().level), command.opts().transactionId, command.opts().searchString, null, config.getNoiseFilters(options.defaults));
115
+ beginTs = intermediateEndTs;
116
+ } while (intermediateEndTs < endTs);
99
117
  }
100
- if (now - beginTs > LOG_TIME_WINDOW_MAX) {
101
- printMessage('Begin timestamp can not be more than 30 days in the past', 'error');
118
+ // no log api credentials
119
+ else {
120
+ printMessage('No log api credentials found!');
121
+ program.help();
102
122
  process.exitCode = 1;
103
- return;
104
- }
105
- let intermediateEndTs = 0;
106
- printMessage(`Fetching ID Cloud logs from the following sources: ${command.opts().sources} and levels [${resolveLevel(command.opts().level)}] of ${conn.tenant}...`);
107
- let timeIncrement = LOG_TIME_WINDOW_INCREMENT;
108
- if (endTs - beginTs > 30) {
109
- timeIncrement = timeIncrement * 30;
110
123
  }
111
- do {
112
- intermediateEndTs = beginTs + timeIncrement;
113
- await fetchLogs(command.opts().sources, new Date(beginTs * 1000).toISOString(), new Date(intermediateEndTs * 1000).toISOString(), resolveLevel(command.opts().level), command.opts().transactionId, command.opts().searchString, null, config.getNoiseFilters(options.defaults));
114
- beginTs = intermediateEndTs;
115
- } while (intermediateEndTs < endTs);
116
- }
117
- // no log api credentials
118
- else {
119
- printMessage('No log api credentials found!');
120
- program.help();
121
- process.exitCode = 1;
122
- }
123
- });
124
- program.parse();
124
+ });
125
+ return program;
126
+ }
125
127
  //# sourceMappingURL=log-fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-fetch.js","names":["frodo","state","Option","getTokens","fetchLogs","provisionCreds","config","printError","printMessage","verboseMessage","FrodoCommand","sourcesOptionM","resolveLevel","cloud","log","getConnectionProfile","saveConnectionProfile","conn","SECONDS_IN_30_DAYS","SECONDS_IN_1_HOUR","LOG_TIME_WINDOW_MAX","LOG_TIME_WINDOW_INCREMENT","program","description","addOption","default","FRODO_LOG_NOISEFILTER_FILENAME","action","host","user","password","options","command","handleDefaultArgsAndOpts","foundCredentials","setHost","tenant","getUsername","getPassword","setLogApiKey","setLogApiSecret","logApiKey","logApiSecret","getLogApiKey","getLogApiSecret","username","setUsername","setPassword","creds","api_key_id","api_key_secret","getHost","error","now","Date","nowString","toISOString","beginTimestamp","tempStartDate","setTime","tempEndDate","endTimestamp","beginTs","parse","endTs","process","exitCode","intermediateEndTs","opts","sources","level","timeIncrement","transactionId","searchString","getNoiseFilters","defaults","help"],"sources":["../../../src/cli/log/log-fetch.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { fetchLogs, provisionCreds } from '../../ops/LogOps';\nimport * as config from '../../utils/Config';\nimport { printError, printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\nimport { sourcesOptionM } from './log';\n\nconst { resolveLevel } = frodo.cloud.log;\nconst { getConnectionProfile, saveConnectionProfile } = frodo.conn;\n\nconst SECONDS_IN_30_DAYS = 2592000;\nconst SECONDS_IN_1_HOUR = 3600;\nconst LOG_TIME_WINDOW_MAX = SECONDS_IN_30_DAYS;\nconst LOG_TIME_WINDOW_INCREMENT = 1;\n\nconst program = new FrodoCommand('frodo log fetch', ['realm', 'type']);\nprogram\n .description(\n 'Fetch Identity Cloud logs between a specified begin and end time period.\\\n WARNING: depending on filters and time period specified, this could take substantial time to complete.'\n )\n .addOption(sourcesOptionM)\n .addOption(\n new Option(\n '-l, --level <level>',\n 'Set log level filter. You can specify the level as a number or a string. \\\nFollowing values are possible (values on the same line are equivalent): \\\n\\n0, SEVERE, FATAL, or ERROR\\n1, WARNING, WARN or CONFIG\\\n\\n2, INFO or INFORMATION\\n3, DEBUG, FINE, FINER or FINEST\\\n\\n4 or ALL'\n ).default('ERROR', `${resolveLevel('ERROR')}`)\n )\n .addOption(\n new Option('-t, --transaction-id <txid>', 'Filter by transactionId')\n )\n .addOption(\n new Option(\n '-b, --begin-timestamp <beginTs>',\n 'Begin timestamp for period (in ISO8601, example: \"2022-10-13T19:06:28Z\", or \"2022-09.30\". \\\nCannot be more than 30 days in the past. If not specified, logs from one hour ago are fetched \\\n(-e is ignored)'\n )\n )\n .addOption(\n new Option(\n '-e, --end-timestamp <endTs>',\n 'End timestamp for period. Default: \"now\"'\n )\n )\n .addOption(\n new Option(\n '-s, --search-string <ss>',\n 'Filter by a specific string (ANDed with transactionID filter)'\n )\n )\n .addOption(\n new Option('-d, --defaults', 'Use default logging noise filters').default(\n false,\n `Use custom logging noise filters defined in $HOME/${config.FRODO_LOG_NOISEFILTER_FILENAME}`\n )\n )\n .action(async (host, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(host, user, password, options, command);\n\n let foundCredentials = false;\n\n const conn = await getConnectionProfile();\n if (conn) state.setHost(conn.tenant);\n\n // log api creds have been supplied as username and password arguments\n if (state.getUsername() && state.getPassword()) {\n verboseMessage(`Using log api credentials from command line.`);\n state.setLogApiKey(state.getUsername());\n state.setLogApiSecret(state.getPassword());\n foundCredentials = true;\n }\n // log api creds from connection profile\n else if (conn && conn.logApiKey != null && conn.logApiSecret != null) {\n verboseMessage(`Using log api credentials from connection profile.`);\n state.setLogApiKey(conn.logApiKey);\n state.setLogApiSecret(conn.logApiSecret);\n foundCredentials = true;\n }\n // log api creds have been supplied via env variables\n else if (state.getLogApiKey() && state.getLogApiSecret()) {\n verboseMessage(`Using log api credentials from environment variables.`);\n foundCredentials = true;\n }\n // no log api creds but got username and password, so can try to create them\n else if (conn && conn.username && conn.password) {\n printMessage(\n `Found admin credentials in connection profile, attempting to create log api credentials...`\n );\n state.setUsername(conn.username);\n state.setPassword(conn.password);\n if (await getTokens(true)) {\n const creds = await provisionCreds();\n state.setLogApiKey(creds.api_key_id as string);\n state.setLogApiSecret(creds.api_key_secret as string);\n try {\n await saveConnectionProfile(state.getHost());\n } catch (error) {\n printError(error);\n }\n foundCredentials = true;\n }\n // unable to create credentials\n else {\n printMessage(`Unable to create log api credentials.`);\n }\n }\n\n if (foundCredentials) {\n const now = Date.now() / 1000;\n const nowString = new Date(now * 1000).toISOString();\n if (\n typeof options.beginTimestamp === 'undefined' ||\n !options.beginTimestamp\n ) {\n // no beginTimestamp value specified, default is 1 hour ago\n const tempStartDate = new Date();\n tempStartDate.setTime((now - SECONDS_IN_1_HOUR) * 1000);\n options.beginTimestamp = tempStartDate.toISOString();\n // also override endTimestamp to now\n const tempEndDate = new Date();\n tempEndDate.setTime(now * 1000);\n options.endTimestamp = tempEndDate;\n printMessage(\n 'No timestamps specified, defaulting to logs from 1 hour ago',\n 'info'\n );\n }\n if (\n typeof options.endTimestamp === 'undefined' ||\n !options.endTimestamp\n ) {\n // no endTimestamp value specified, default is now\n options.endTimestamp = nowString;\n printMessage(\n 'No end timestamp specified, defaulting end timestamp to \"now\"',\n 'info'\n );\n }\n let beginTs = Date.parse(options.beginTimestamp) / 1000;\n const endTs = Date.parse(options.endTimestamp) / 1000;\n if (endTs < beginTs) {\n printMessage(\n 'End timestamp can not be before begin timestamp',\n 'error'\n );\n process.exitCode = 1;\n return;\n }\n if (now - beginTs > LOG_TIME_WINDOW_MAX) {\n printMessage(\n 'Begin timestamp can not be more than 30 days in the past',\n 'error'\n );\n process.exitCode = 1;\n return;\n }\n let intermediateEndTs = 0;\n printMessage(\n `Fetching ID Cloud logs from the following sources: ${\n command.opts().sources\n } and levels [${resolveLevel(command.opts().level)}] of ${\n conn.tenant\n }...`\n );\n\n let timeIncrement = LOG_TIME_WINDOW_INCREMENT;\n if (endTs - beginTs > 30) {\n timeIncrement = timeIncrement * 30;\n }\n do {\n intermediateEndTs = beginTs + timeIncrement;\n await fetchLogs(\n command.opts().sources,\n new Date(beginTs * 1000).toISOString(),\n new Date(intermediateEndTs * 1000).toISOString(),\n resolveLevel(command.opts().level),\n command.opts().transactionId,\n command.opts().searchString,\n null,\n config.getNoiseFilters(options.defaults)\n );\n beginTs = intermediateEndTs;\n } while (intermediateEndTs < endTs);\n }\n // no log api credentials\n else {\n printMessage('No log api credentials found!');\n program.help();\n process.exitCode = 1;\n }\n });\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"log-fetch.js","names":["frodo","state","Option","getTokens","fetchLogs","provisionCreds","config","printError","printMessage","verboseMessage","FrodoCommand","sourcesOptionM","resolveLevel","cloud","log","getConnectionProfile","saveConnectionProfile","conn","SECONDS_IN_30_DAYS","SECONDS_IN_1_HOUR","LOG_TIME_WINDOW_MAX","LOG_TIME_WINDOW_INCREMENT","setup","program","description","addOption","default","FRODO_LOG_NOISEFILTER_FILENAME","action","host","user","password","options","command","handleDefaultArgsAndOpts","foundCredentials","setHost","tenant","getUsername","getPassword","setLogApiKey","setLogApiSecret","logApiKey","logApiSecret","getLogApiKey","getLogApiSecret","username","setUsername","setPassword","creds","api_key_id","api_key_secret","getHost","error","now","Date","nowString","toISOString","beginTimestamp","tempStartDate","setTime","tempEndDate","endTimestamp","beginTs","parse","endTs","process","exitCode","intermediateEndTs","opts","sources","level","timeIncrement","transactionId","searchString","getNoiseFilters","defaults","help"],"sources":["../../../src/cli/log/log-fetch.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { fetchLogs, provisionCreds } from '../../ops/LogOps';\nimport * as config from '../../utils/Config';\nimport { printError, printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\nimport { sourcesOptionM } from './log';\n\nconst { resolveLevel } = frodo.cloud.log;\nconst { getConnectionProfile, saveConnectionProfile } = frodo.conn;\n\nconst SECONDS_IN_30_DAYS = 2592000;\nconst SECONDS_IN_1_HOUR = 3600;\nconst LOG_TIME_WINDOW_MAX = SECONDS_IN_30_DAYS;\nconst LOG_TIME_WINDOW_INCREMENT = 1;\n\nexport default function setup() {\n const program = new FrodoCommand('frodo log fetch', ['realm', 'type']);\n program\n .description(\n 'Fetch Identity Cloud logs between a specified begin and end time period.\\\n WARNING: depending on filters and time period specified, this could take substantial time to complete.'\n )\n .addOption(sourcesOptionM)\n .addOption(\n new Option(\n '-l, --level <level>',\n 'Set log level filter. You can specify the level as a number or a string. \\\n Following values are possible (values on the same line are equivalent): \\\n \\n0, SEVERE, FATAL, or ERROR\\n1, WARNING, WARN or CONFIG\\\n \\n2, INFO or INFORMATION\\n3, DEBUG, FINE, FINER or FINEST\\\n \\n4 or ALL'\n ).default('ERROR', `${resolveLevel('ERROR')}`)\n )\n .addOption(\n new Option('-t, --transaction-id <txid>', 'Filter by transactionId')\n )\n .addOption(\n new Option(\n '-b, --begin-timestamp <beginTs>',\n 'Begin timestamp for period (in ISO8601, example: \"2022-10-13T19:06:28Z\", or \"2022-09.30\". \\\n Cannot be more than 30 days in the past. If not specified, logs from one hour ago are fetched \\\n (-e is ignored)'\n )\n )\n .addOption(\n new Option(\n '-e, --end-timestamp <endTs>',\n 'End timestamp for period. Default: \"now\"'\n )\n )\n .addOption(\n new Option(\n '-s, --search-string <ss>',\n 'Filter by a specific string (ANDed with transactionID filter)'\n )\n )\n .addOption(\n new Option('-d, --defaults', 'Use default logging noise filters').default(\n false,\n `Use custom logging noise filters defined in $HOME/${config.FRODO_LOG_NOISEFILTER_FILENAME}`\n )\n )\n .action(async (host, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(host, user, password, options, command);\n\n let foundCredentials = false;\n\n const conn = await getConnectionProfile();\n if (conn) state.setHost(conn.tenant);\n\n // log api creds have been supplied as username and password arguments\n if (state.getUsername() && state.getPassword()) {\n verboseMessage(`Using log api credentials from command line.`);\n state.setLogApiKey(state.getUsername());\n state.setLogApiSecret(state.getPassword());\n foundCredentials = true;\n }\n // log api creds from connection profile\n else if (conn && conn.logApiKey != null && conn.logApiSecret != null) {\n verboseMessage(`Using log api credentials from connection profile.`);\n state.setLogApiKey(conn.logApiKey);\n state.setLogApiSecret(conn.logApiSecret);\n foundCredentials = true;\n }\n // log api creds have been supplied via env variables\n else if (state.getLogApiKey() && state.getLogApiSecret()) {\n verboseMessage(`Using log api credentials from environment variables.`);\n foundCredentials = true;\n }\n // no log api creds but got username and password, so can try to create them\n else if (conn && conn.username && conn.password) {\n printMessage(\n `Found admin credentials in connection profile, attempting to create log api credentials...`\n );\n state.setUsername(conn.username);\n state.setPassword(conn.password);\n if (await getTokens(true)) {\n const creds = await provisionCreds();\n state.setLogApiKey(creds.api_key_id as string);\n state.setLogApiSecret(creds.api_key_secret as string);\n try {\n await saveConnectionProfile(state.getHost());\n } catch (error) {\n printError(error);\n }\n foundCredentials = true;\n }\n // unable to create credentials\n else {\n printMessage(`Unable to create log api credentials.`);\n }\n }\n\n if (foundCredentials) {\n const now = Date.now() / 1000;\n const nowString = new Date(now * 1000).toISOString();\n if (\n typeof options.beginTimestamp === 'undefined' ||\n !options.beginTimestamp\n ) {\n // no beginTimestamp value specified, default is 1 hour ago\n const tempStartDate = new Date();\n tempStartDate.setTime((now - SECONDS_IN_1_HOUR) * 1000);\n options.beginTimestamp = tempStartDate.toISOString();\n // also override endTimestamp to now\n const tempEndDate = new Date();\n tempEndDate.setTime(now * 1000);\n options.endTimestamp = tempEndDate;\n printMessage(\n 'No timestamps specified, defaulting to logs from 1 hour ago',\n 'info'\n );\n }\n if (\n typeof options.endTimestamp === 'undefined' ||\n !options.endTimestamp\n ) {\n // no endTimestamp value specified, default is now\n options.endTimestamp = nowString;\n printMessage(\n 'No end timestamp specified, defaulting end timestamp to \"now\"',\n 'info'\n );\n }\n let beginTs = Date.parse(options.beginTimestamp) / 1000;\n const endTs = Date.parse(options.endTimestamp) / 1000;\n if (endTs < beginTs) {\n printMessage(\n 'End timestamp can not be before begin timestamp',\n 'error'\n );\n process.exitCode = 1;\n return;\n }\n if (now - beginTs > LOG_TIME_WINDOW_MAX) {\n printMessage(\n 'Begin timestamp can not be more than 30 days in the past',\n 'error'\n );\n process.exitCode = 1;\n return;\n }\n let intermediateEndTs = 0;\n printMessage(\n `Fetching ID Cloud logs from the following sources: ${\n command.opts().sources\n } and levels [${resolveLevel(command.opts().level)}] of ${\n conn.tenant\n }...`\n );\n\n let timeIncrement = LOG_TIME_WINDOW_INCREMENT;\n if (endTs - beginTs > 30) {\n timeIncrement = timeIncrement * 30;\n }\n do {\n intermediateEndTs = beginTs + timeIncrement;\n await fetchLogs(\n command.opts().sources,\n new Date(beginTs * 1000).toISOString(),\n new Date(intermediateEndTs * 1000).toISOString(),\n resolveLevel(command.opts().level),\n command.opts().transactionId,\n command.opts().searchString,\n null,\n config.getNoiseFilters(options.defaults)\n );\n beginTs = intermediateEndTs;\n } while (intermediateEndTs < endTs);\n }\n // no log api credentials\n else {\n printMessage('No log api credentials found!');\n program.help();\n process.exitCode = 1;\n }\n });\n\n return program;\n}\n"],"mappings":"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"}
@@ -3,29 +3,31 @@ import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { deleteLogApiKey, deleteLogApiKeys } from '../../ops/LogOps';
4
4
  import { printMessage, verboseMessage } from '../../utils/Console';
5
5
  import { FrodoCommand } from '../FrodoCommand';
6
- const program = new FrodoCommand('frodo log key delete');
7
- program.description('Delete log API keys.').addOption(new Option('-i, --key-id <key-id>', 'Key id. Regex if specified with -a.')).addOption(new Option('-a, --all', 'Delete all keys. Optionally specify regex filter -i.')).action(
8
- // implement command logic inside action handler
9
- async (host, realm, user, password, options, command) => {
10
- command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
- // delete by id
12
- if (options.keyId && (await getTokens(true))) {
13
- verboseMessage(`Deleting key ${options.keyId}`);
14
- deleteLogApiKey(options.keyId);
15
- }
16
- // --all -a
17
- else if (options.all && (await getTokens(true))) {
18
- verboseMessage('Deleting keys...');
19
- deleteLogApiKeys();
20
- }
21
- // unrecognized combination of options or no options
22
- else {
23
- printMessage('Unrecognized combination of options or no options...', 'error');
24
- program.help();
25
- process.exitCode = 1;
6
+ export default function setup() {
7
+ const program = new FrodoCommand('frodo log key delete');
8
+ program.description('Delete log API keys.').addOption(new Option('-i, --key-id <key-id>', 'Key id. Regex if specified with -a.')).addOption(new Option('-a, --all', 'Delete all keys. Optionally specify regex filter -i.')).action(
9
+ // implement command logic inside action handler
10
+ async (host, realm, user, password, options, command) => {
11
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
12
+ // delete by id
13
+ if (options.keyId && (await getTokens(true))) {
14
+ verboseMessage(`Deleting key ${options.keyId}`);
15
+ deleteLogApiKey(options.keyId);
16
+ }
17
+ // --all -a
18
+ else if (options.all && (await getTokens(true))) {
19
+ verboseMessage('Deleting keys...');
20
+ deleteLogApiKeys();
21
+ }
22
+ // unrecognized combination of options or no options
23
+ else {
24
+ printMessage('Unrecognized combination of options or no options...', 'error');
25
+ program.help();
26
+ process.exitCode = 1;
27
+ }
26
28
  }
29
+ // end command logic inside action handler
30
+ );
31
+ return program;
27
32
  }
28
- // end command logic inside action handler
29
- );
30
- program.parse();
31
33
  //# sourceMappingURL=log-key-delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-key-delete.js","names":["Option","getTokens","deleteLogApiKey","deleteLogApiKeys","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","keyId","all","help","process","exitCode","parse"],"sources":["../../../src/cli/log/log-key-delete.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { deleteLogApiKey, deleteLogApiKeys } from '../../ops/LogOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo log key delete');\n\nprogram\n .description('Delete log API keys.')\n .addOption(\n new Option('-i, --key-id <key-id>', 'Key id. Regex if specified with -a.')\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Delete all keys. Optionally specify regex filter -i.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // delete by id\n if (options.keyId && (await getTokens(true))) {\n verboseMessage(`Deleting key ${options.keyId}`);\n deleteLogApiKey(options.keyId);\n }\n // --all -a\n else if (options.all && (await getTokens(true))) {\n verboseMessage('Deleting keys...');\n deleteLogApiKeys();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,eAAe,EAAEC,gBAAgB,QAAQ,kBAAkB;AACpE,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,sBAAsB,CAAC;AAExDC,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIT,MAAM,CAAC,uBAAuB,EAAE,qCAAqC,CAC3E,CAAC,CACAS,SAAS,CACR,IAAIT,MAAM,CACR,WAAW,EACX,sDACF,CACF,CAAC,CACAU,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,KAAK,KAAK,MAAMjB,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;IAC5CI,cAAc,CAAE,gBAAeU,OAAO,CAACG,KAAM,EAAC,CAAC;IAC/ChB,eAAe,CAACa,OAAO,CAACG,KAAK,CAAC;EAChC;EACA;EAAA,KACK,IAAIH,OAAO,CAACI,GAAG,KAAK,MAAMlB,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;IAC/CI,cAAc,CAAC,kBAAkB,CAAC;IAClCF,gBAAgB,CAAC,CAAC;EACpB;EACA;EAAA,KACK;IACHC,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDG,OAAO,CAACa,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"log-key-delete.js","names":["Option","getTokens","deleteLogApiKey","deleteLogApiKeys","printMessage","verboseMessage","FrodoCommand","setup","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","keyId","all","help","process","exitCode"],"sources":["../../../src/cli/log/log-key-delete.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { deleteLogApiKey, deleteLogApiKeys } from '../../ops/LogOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nexport default function setup() {\n const program = new FrodoCommand('frodo log key delete');\n\n program\n .description('Delete log API keys.')\n .addOption(\n new Option('-i, --key-id <key-id>', 'Key id. Regex if specified with -a.')\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Delete all keys. Optionally specify regex filter -i.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // delete by id\n if (options.keyId && (await getTokens(true))) {\n verboseMessage(`Deleting key ${options.keyId}`);\n deleteLogApiKey(options.keyId);\n }\n // --all -a\n else if (options.all && (await getTokens(true))) {\n verboseMessage('Deleting keys...');\n deleteLogApiKeys();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,eAAe,EAAEC,gBAAgB,QAAQ,kBAAkB;AACpE,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,sBAAsB,CAAC;EAExDE,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIV,MAAM,CAAC,uBAAuB,EAAE,qCAAqC,CAC3E,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,sDACF,CACF,CAAC,CACAW,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD;IACA,IAAID,OAAO,CAACG,KAAK,KAAK,MAAMlB,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;MAC5CI,cAAc,CAAE,gBAAeW,OAAO,CAACG,KAAM,EAAC,CAAC;MAC/CjB,eAAe,CAACc,OAAO,CAACG,KAAK,CAAC;IAChC;IACA;IAAA,KACK,IAAIH,OAAO,CAACI,GAAG,KAAK,MAAMnB,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;MAC/CI,cAAc,CAAC,kBAAkB,CAAC;MAClCF,gBAAgB,CAAC,CAAC;IACpB;IACA;IAAA,KACK;MACHC,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;MACDI,OAAO,CAACa,IAAI,CAAC,CAAC;MACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOf,OAAO;AAChB"}
@@ -1,18 +1,20 @@
1
1
  import { Option } from 'commander';
2
2
  import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { FrodoCommand } from '../FrodoCommand';
4
- const program = new FrodoCommand('frodo log key describe');
5
- program.description('Describe log API keys.').addOption(new Option('-i, --key-id <key-id>', 'Key id. If specified, -a and -A are ignored.')).action(
6
- // implement command logic inside action handler
7
- async (host, realm, user, password, options, command) => {
8
- command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await getTokens()) {
10
- // code goes here
11
- } else {
12
- process.exitCode = 1;
4
+ export default function setup() {
5
+ const program = new FrodoCommand('frodo log key describe');
6
+ program.description('Describe log API keys.').addOption(new Option('-i, --key-id <key-id>', 'Key id. If specified, -a and -A are ignored.')).action(
7
+ // implement command logic inside action handler
8
+ async (host, realm, user, password, options, command) => {
9
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
10
+ if (await getTokens()) {
11
+ // code goes here
12
+ } else {
13
+ process.exitCode = 1;
14
+ }
13
15
  }
16
+ // end command logic inside action handler
17
+ );
18
+ return program;
14
19
  }
15
- // end command logic inside action handler
16
- );
17
- program.parse();
18
20
  //# sourceMappingURL=log-key-describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-key-describe.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/log/log-key-describe.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo log key describe');\n\nprogram\n .description('Describe log API keys.')\n .addOption(\n new Option(\n '-i, --key-id <key-id>',\n 'Key id. If specified, -a and -A are ignored.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,wBAAwB,CAAC;AAE1DC,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIL,MAAM,CACR,uBAAuB,EACvB,8CACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"log-key-describe.js","names":["Option","getTokens","FrodoCommand","setup","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode"],"sources":["../../../src/cli/log/log-key-describe.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nexport default function setup() {\n const program = new FrodoCommand('frodo log key describe');\n\n program\n .description('Describe log API keys.')\n .addOption(\n new Option(\n '-i, --key-id <key-id>',\n 'Key id. If specified, -a and -A are ignored.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,wBAAwB,CAAC;EAE1DE,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIN,MAAM,CACR,uBAAuB,EACvB,8CACF,CACF,CAAC,CACAO,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;MACrB;IAAA,CACD,MAAM;MACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOZ,OAAO;AAChB"}