auth0-deploy-cli 7.15.1 → 7.16.0

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 (238) hide show
  1. package/.github/workflows/semgrep.yml +18 -0
  2. package/.nyc_output/{08f269c7-2bda-456b-9064-c7b1074e59c9.json → 0fafda5c-41f9-46fb-bd7b-6dab83c26135.json} +0 -0
  3. package/.nyc_output/{a6a342d6-c13c-4c02-9473-2dd51f10e305.json → a40df0b3-2286-48de-bc8c-3e7c403c0d90.json} +0 -0
  4. package/.nyc_output/d0ce7bd3-9483-465f-84b7-6b0c188b8615.json +1 -0
  5. package/.nyc_output/processinfo/0fafda5c-41f9-46fb-bd7b-6dab83c26135.json +1 -0
  6. package/.nyc_output/processinfo/a40df0b3-2286-48de-bc8c-3e7c403c0d90.json +1 -0
  7. package/.nyc_output/processinfo/d0ce7bd3-9483-465f-84b7-6b0c188b8615.json +1 -0
  8. package/.nyc_output/processinfo/index.json +1 -1
  9. package/CHANGELOG.md +33 -1
  10. package/README.md +35 -19
  11. package/coverage/lcov-report/index.html +53 -53
  12. package/coverage/lcov-report/src/args.ts.html +1 -1
  13. package/coverage/lcov-report/src/commands/export.ts.html +1 -1
  14. package/coverage/lcov-report/src/commands/import.ts.html +1 -1
  15. package/coverage/lcov-report/src/commands/index.html +1 -1
  16. package/coverage/lcov-report/src/configFactory.ts.html +1 -1
  17. package/coverage/lcov-report/src/context/defaults.ts.html +1 -1
  18. package/coverage/lcov-report/src/context/directory/handlers/actions.ts.html +1 -1
  19. package/coverage/lcov-report/src/context/directory/handlers/attackProtection.ts.html +1 -1
  20. package/coverage/lcov-report/src/context/directory/handlers/branding.ts.html +1 -1
  21. package/coverage/lcov-report/src/context/directory/handlers/clientGrants.ts.html +14 -5
  22. package/coverage/lcov-report/src/context/directory/handlers/clients.ts.html +1 -1
  23. package/coverage/lcov-report/src/context/directory/handlers/connections.ts.html +1 -1
  24. package/coverage/lcov-report/src/context/directory/handlers/customDomains.ts.html +1 -1
  25. package/coverage/lcov-report/src/context/directory/handlers/databases.ts.html +1 -1
  26. package/coverage/lcov-report/src/context/directory/handlers/emailProvider.ts.html +1 -1
  27. package/coverage/lcov-report/src/context/directory/handlers/emailTemplates.ts.html +1 -1
  28. package/coverage/lcov-report/src/context/directory/handlers/guardianFactorProviders.ts.html +1 -1
  29. package/coverage/lcov-report/src/context/directory/handlers/guardianFactorTemplates.ts.html +1 -1
  30. package/coverage/lcov-report/src/context/directory/handlers/guardianFactors.ts.html +1 -1
  31. package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorMessageTypes.ts.html +1 -1
  32. package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorSelectedProvider.ts.html +1 -1
  33. package/coverage/lcov-report/src/context/directory/handlers/guardianPolicies.ts.html +1 -1
  34. package/coverage/lcov-report/src/context/directory/handlers/hooks.ts.html +1 -1
  35. package/coverage/lcov-report/src/context/directory/handlers/index.html +1 -1
  36. package/coverage/lcov-report/src/context/directory/handlers/index.ts.html +1 -1
  37. package/coverage/lcov-report/src/context/directory/handlers/logStreams.ts.html +1 -1
  38. package/coverage/lcov-report/src/context/directory/handlers/migrations.ts.html +1 -1
  39. package/coverage/lcov-report/src/context/directory/handlers/organizations.ts.html +1 -1
  40. package/coverage/lcov-report/src/context/directory/handlers/pages.ts.html +1 -1
  41. package/coverage/lcov-report/src/context/directory/handlers/prompts.ts.html +1 -1
  42. package/coverage/lcov-report/src/context/directory/handlers/resourceServers.ts.html +1 -1
  43. package/coverage/lcov-report/src/context/directory/handlers/roles.ts.html +1 -1
  44. package/coverage/lcov-report/src/context/directory/handlers/rules.ts.html +1 -1
  45. package/coverage/lcov-report/src/context/directory/handlers/rulesConfigs.ts.html +1 -1
  46. package/coverage/lcov-report/src/context/directory/handlers/tenant.ts.html +11 -11
  47. package/coverage/lcov-report/src/context/directory/handlers/themes.ts.html +1 -1
  48. package/coverage/lcov-report/src/context/directory/handlers/triggers.ts.html +1 -1
  49. package/coverage/lcov-report/src/context/directory/index.html +11 -11
  50. package/coverage/lcov-report/src/context/directory/index.ts.html +30 -21
  51. package/coverage/lcov-report/src/context/index.html +19 -19
  52. package/coverage/lcov-report/src/context/index.ts.html +124 -37
  53. package/coverage/lcov-report/src/context/yaml/handlers/actions.ts.html +3 -3
  54. package/coverage/lcov-report/src/context/yaml/handlers/attackProtection.ts.html +3 -3
  55. package/coverage/lcov-report/src/context/yaml/handlers/branding.ts.html +2 -2
  56. package/coverage/lcov-report/src/context/yaml/handlers/clientGrants.ts.html +3 -3
  57. package/coverage/lcov-report/src/context/yaml/handlers/clients.ts.html +4 -4
  58. package/coverage/lcov-report/src/context/yaml/handlers/connections.ts.html +5 -5
  59. package/coverage/lcov-report/src/context/yaml/handlers/customDomains.ts.html +3 -3
  60. package/coverage/lcov-report/src/context/yaml/handlers/databases.ts.html +3 -3
  61. package/coverage/lcov-report/src/context/yaml/handlers/emailProvider.ts.html +3 -3
  62. package/coverage/lcov-report/src/context/yaml/handlers/emailTemplates.ts.html +3 -3
  63. package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorProviders.ts.html +3 -3
  64. package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorTemplates.ts.html +3 -3
  65. package/coverage/lcov-report/src/context/yaml/handlers/guardianFactors.ts.html +3 -3
  66. package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorMessageTypes.ts.html +3 -3
  67. package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorSelectedProvider.ts.html +3 -3
  68. package/coverage/lcov-report/src/context/yaml/handlers/guardianPolicies.ts.html +3 -3
  69. package/coverage/lcov-report/src/context/yaml/handlers/hooks.ts.html +3 -3
  70. package/coverage/lcov-report/src/context/yaml/handlers/index.html +1 -1
  71. package/coverage/lcov-report/src/context/yaml/handlers/index.ts.html +1 -1
  72. package/coverage/lcov-report/src/context/yaml/handlers/logStreams.ts.html +3 -3
  73. package/coverage/lcov-report/src/context/yaml/handlers/migrations.ts.html +3 -3
  74. package/coverage/lcov-report/src/context/yaml/handlers/organizations.ts.html +3 -3
  75. package/coverage/lcov-report/src/context/yaml/handlers/pages.ts.html +3 -3
  76. package/coverage/lcov-report/src/context/yaml/handlers/prompts.ts.html +3 -3
  77. package/coverage/lcov-report/src/context/yaml/handlers/resourceServers.ts.html +4 -4
  78. package/coverage/lcov-report/src/context/yaml/handlers/roles.ts.html +3 -3
  79. package/coverage/lcov-report/src/context/yaml/handlers/rules.ts.html +3 -3
  80. package/coverage/lcov-report/src/context/yaml/handlers/rulesConfigs.ts.html +3 -3
  81. package/coverage/lcov-report/src/context/yaml/handlers/tenant.ts.html +8 -8
  82. package/coverage/lcov-report/src/context/yaml/handlers/themes.ts.html +3 -3
  83. package/coverage/lcov-report/src/context/yaml/handlers/triggers.ts.html +2 -2
  84. package/coverage/lcov-report/src/context/yaml/index.html +17 -17
  85. package/coverage/lcov-report/src/context/yaml/index.ts.html +75 -48
  86. package/coverage/lcov-report/src/index.html +1 -1
  87. package/coverage/lcov-report/src/index.ts.html +1 -1
  88. package/coverage/lcov-report/src/logger.ts.html +2 -2
  89. package/coverage/lcov-report/src/readonly.ts.html +3 -6
  90. package/coverage/lcov-report/src/sessionDurationsToMinutes.ts.html +5 -5
  91. package/coverage/lcov-report/src/tools/auth0/client.ts.html +4 -4
  92. package/coverage/lcov-report/src/tools/auth0/handlers/actions.ts.html +32 -14
  93. package/coverage/lcov-report/src/tools/auth0/handlers/attackProtection.ts.html +2 -2
  94. package/coverage/lcov-report/src/tools/auth0/handlers/branding.ts.html +2 -2
  95. package/coverage/lcov-report/src/tools/auth0/handlers/clientGrants.ts.html +2 -2
  96. package/coverage/lcov-report/src/tools/auth0/handlers/clients.ts.html +2 -2
  97. package/coverage/lcov-report/src/tools/auth0/handlers/connections.ts.html +2 -2
  98. package/coverage/lcov-report/src/tools/auth0/handlers/customDomains.ts.html +2 -2
  99. package/coverage/lcov-report/src/tools/auth0/handlers/databases.ts.html +2 -2
  100. package/coverage/lcov-report/src/tools/auth0/handlers/default.ts.html +37 -37
  101. package/coverage/lcov-report/src/tools/auth0/handlers/emailProvider.ts.html +26 -32
  102. package/coverage/lcov-report/src/tools/auth0/handlers/emailTemplates.ts.html +2 -2
  103. package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorProviders.ts.html +2 -2
  104. package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorTemplates.ts.html +2 -2
  105. package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactors.ts.html +2 -2
  106. package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts.html +2 -2
  107. package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts.html +2 -2
  108. package/coverage/lcov-report/src/tools/auth0/handlers/guardianPolicies.ts.html +2 -2
  109. package/coverage/lcov-report/src/tools/auth0/handlers/hooks.ts.html +2 -2
  110. package/coverage/lcov-report/src/tools/auth0/handlers/index.html +41 -41
  111. package/coverage/lcov-report/src/tools/auth0/handlers/index.ts.html +1 -1
  112. package/coverage/lcov-report/src/tools/auth0/handlers/logStreams.ts.html +44 -23
  113. package/coverage/lcov-report/src/tools/auth0/handlers/migrations.ts.html +2 -2
  114. package/coverage/lcov-report/src/tools/auth0/handlers/organizations.ts.html +2 -2
  115. package/coverage/lcov-report/src/tools/auth0/handlers/pages.ts.html +2 -2
  116. package/coverage/lcov-report/src/tools/auth0/handlers/prompts.ts.html +25 -16
  117. package/coverage/lcov-report/src/tools/auth0/handlers/resourceServers.ts.html +2 -2
  118. package/coverage/lcov-report/src/tools/auth0/handlers/roles.ts.html +2 -2
  119. package/coverage/lcov-report/src/tools/auth0/handlers/rules.ts.html +2 -2
  120. package/coverage/lcov-report/src/tools/auth0/handlers/rulesConfigs.ts.html +2 -2
  121. package/coverage/lcov-report/src/tools/auth0/handlers/tenant.ts.html +7 -7
  122. package/coverage/lcov-report/src/tools/auth0/handlers/themes.ts.html +2 -2
  123. package/coverage/lcov-report/src/tools/auth0/handlers/triggers.ts.html +2 -2
  124. package/coverage/lcov-report/src/tools/auth0/index.html +18 -18
  125. package/coverage/lcov-report/src/tools/auth0/index.ts.html +64 -34
  126. package/coverage/lcov-report/src/tools/auth0/schema.ts.html +1 -1
  127. package/coverage/lcov-report/src/tools/calculateChanges.ts.html +16 -16
  128. package/coverage/lcov-report/src/tools/constants.ts.html +1 -1
  129. package/coverage/lcov-report/src/tools/deploy.ts.html +1 -1
  130. package/coverage/lcov-report/src/tools/index.html +1 -1
  131. package/coverage/lcov-report/src/tools/index.ts.html +2 -2
  132. package/coverage/lcov-report/src/tools/utils.ts.html +18 -18
  133. package/coverage/lcov-report/src/tools/validationError.ts.html +1 -1
  134. package/coverage/lcov-report/src/types.ts.html +26 -5
  135. package/coverage/lcov-report/src/utils.ts.html +12 -12
  136. package/coverage/lcov.info +1054 -986
  137. package/docs/configuring-the-deploy-cli.md +18 -2
  138. package/docs/excluding-from-management.md +19 -4
  139. package/docs/resource-specific-documentation.md +162 -0
  140. package/lib/args.d.ts +6 -6
  141. package/lib/configFactory.d.ts +1 -1
  142. package/lib/context/directory/handlers/actions.d.ts +1 -1
  143. package/lib/context/directory/handlers/attackProtection.d.ts +1 -1
  144. package/lib/context/directory/handlers/branding.d.ts +1 -1
  145. package/lib/context/directory/handlers/clientGrants.d.ts +1 -1
  146. package/lib/context/directory/handlers/clientGrants.js +3 -2
  147. package/lib/context/directory/handlers/clientGrants.js.map +1 -1
  148. package/lib/context/directory/handlers/clients.d.ts +1 -1
  149. package/lib/context/directory/handlers/connections.d.ts +1 -1
  150. package/lib/context/directory/handlers/customDomains.d.ts +1 -1
  151. package/lib/context/directory/handlers/databases.d.ts +1 -1
  152. package/lib/context/directory/handlers/emailProvider.d.ts +1 -1
  153. package/lib/context/directory/handlers/emailTemplates.d.ts +1 -1
  154. package/lib/context/directory/handlers/guardianFactorProviders.d.ts +1 -1
  155. package/lib/context/directory/handlers/guardianFactorTemplates.d.ts +1 -1
  156. package/lib/context/directory/handlers/guardianFactors.d.ts +1 -1
  157. package/lib/context/directory/handlers/guardianPhoneFactorMessageTypes.d.ts +1 -1
  158. package/lib/context/directory/handlers/guardianPhoneFactorSelectedProvider.d.ts +1 -1
  159. package/lib/context/directory/handlers/guardianPolicies.d.ts +1 -1
  160. package/lib/context/directory/handlers/hooks.d.ts +1 -1
  161. package/lib/context/directory/handlers/index.d.ts +1 -1
  162. package/lib/context/directory/handlers/logStreams.d.ts +1 -1
  163. package/lib/context/directory/handlers/migrations.d.ts +1 -1
  164. package/lib/context/directory/handlers/organizations.d.ts +1 -1
  165. package/lib/context/directory/handlers/pages.d.ts +1 -1
  166. package/lib/context/directory/handlers/prompts.d.ts +1 -1
  167. package/lib/context/directory/handlers/resourceServers.d.ts +1 -1
  168. package/lib/context/directory/handlers/roles.d.ts +1 -1
  169. package/lib/context/directory/handlers/rules.d.ts +1 -1
  170. package/lib/context/directory/handlers/rulesConfigs.d.ts +1 -1
  171. package/lib/context/directory/handlers/tenant.d.ts +1 -1
  172. package/lib/context/directory/handlers/themes.d.ts +1 -1
  173. package/lib/context/directory/handlers/triggers.d.ts +1 -1
  174. package/lib/context/directory/index.d.ts +1 -1
  175. package/lib/context/directory/index.js +3 -0
  176. package/lib/context/directory/index.js.map +1 -1
  177. package/lib/context/index.d.ts +2 -1
  178. package/lib/context/index.js +22 -2
  179. package/lib/context/index.js.map +1 -1
  180. package/lib/context/yaml/handlers/actions.d.ts +1 -1
  181. package/lib/context/yaml/handlers/attackProtection.d.ts +1 -1
  182. package/lib/context/yaml/handlers/branding.d.ts +2 -2
  183. package/lib/context/yaml/handlers/clientGrants.d.ts +1 -1
  184. package/lib/context/yaml/handlers/clients.d.ts +1 -1
  185. package/lib/context/yaml/handlers/connections.d.ts +1 -1
  186. package/lib/context/yaml/handlers/customDomains.d.ts +1 -1
  187. package/lib/context/yaml/handlers/databases.d.ts +1 -1
  188. package/lib/context/yaml/handlers/emailProvider.d.ts +1 -1
  189. package/lib/context/yaml/handlers/emailTemplates.d.ts +1 -1
  190. package/lib/context/yaml/handlers/guardianFactorProviders.d.ts +1 -1
  191. package/lib/context/yaml/handlers/guardianFactorTemplates.d.ts +1 -1
  192. package/lib/context/yaml/handlers/guardianFactors.d.ts +1 -1
  193. package/lib/context/yaml/handlers/guardianPhoneFactorMessageTypes.d.ts +1 -1
  194. package/lib/context/yaml/handlers/guardianPhoneFactorSelectedProvider.d.ts +1 -1
  195. package/lib/context/yaml/handlers/guardianPolicies.d.ts +1 -1
  196. package/lib/context/yaml/handlers/hooks.d.ts +1 -1
  197. package/lib/context/yaml/handlers/index.d.ts +1 -1
  198. package/lib/context/yaml/handlers/logStreams.d.ts +1 -1
  199. package/lib/context/yaml/handlers/migrations.d.ts +1 -1
  200. package/lib/context/yaml/handlers/organizations.d.ts +1 -1
  201. package/lib/context/yaml/handlers/pages.d.ts +1 -1
  202. package/lib/context/yaml/handlers/prompts.d.ts +1 -1
  203. package/lib/context/yaml/handlers/resourceServers.d.ts +1 -1
  204. package/lib/context/yaml/handlers/roles.d.ts +1 -1
  205. package/lib/context/yaml/handlers/rules.d.ts +1 -1
  206. package/lib/context/yaml/handlers/rulesConfigs.d.ts +1 -1
  207. package/lib/context/yaml/handlers/tenant.d.ts +1 -1
  208. package/lib/context/yaml/handlers/themes.d.ts +1 -1
  209. package/lib/context/yaml/handlers/triggers.d.ts +1 -1
  210. package/lib/context/yaml/index.js +9 -2
  211. package/lib/context/yaml/index.js.map +1 -1
  212. package/lib/readonly.js +0 -1
  213. package/lib/readonly.js.map +1 -1
  214. package/lib/tools/auth0/handlers/actions.d.ts +1 -1
  215. package/lib/tools/auth0/handlers/actions.js +3 -0
  216. package/lib/tools/auth0/handlers/actions.js.map +1 -1
  217. package/lib/tools/auth0/handlers/default.d.ts +1 -1
  218. package/lib/tools/auth0/handlers/emailProvider.js +2 -2
  219. package/lib/tools/auth0/handlers/emailProvider.js.map +1 -1
  220. package/lib/tools/auth0/handlers/logStreams.d.ts +9 -0
  221. package/lib/tools/auth0/handlers/logStreams.js +13 -6
  222. package/lib/tools/auth0/handlers/logStreams.js.map +1 -1
  223. package/lib/tools/auth0/handlers/pages.d.ts +1 -1
  224. package/lib/tools/auth0/handlers/prompts.d.ts +6 -6
  225. package/lib/tools/auth0/handlers/prompts.js +5 -1
  226. package/lib/tools/auth0/handlers/prompts.js.map +1 -1
  227. package/lib/tools/auth0/handlers/tenant.d.ts +2 -2
  228. package/lib/tools/auth0/index.d.ts +1 -1
  229. package/lib/tools/auth0/index.js +9 -1
  230. package/lib/tools/auth0/index.js.map +1 -1
  231. package/lib/types.d.ts +27 -18
  232. package/lib/types.js.map +1 -1
  233. package/lib/utils.d.ts +2 -2
  234. package/package.json +9 -9
  235. package/.nyc_output/68afeb31-a1f4-4c3a-9fd6-ba40a6c4bbc6.json +0 -1
  236. package/.nyc_output/processinfo/08f269c7-2bda-456b-9064-c7b1074e59c9.json +0 -1
  237. package/.nyc_output/processinfo/68afeb31-a1f4-4c3a-9fd6-ba40a6c4bbc6.json +0 -1
  238. package/.nyc_output/processinfo/a6a342d6-c13c-4c02-9473-2dd51f10e305.json +0 -1
@@ -19,7 +19,7 @@ Example **config.json** file:
19
19
  }
20
20
  ```
21
21
 
22
- > ⚠️ **NOTE:** Hard-coding credentials is not recommended, and risks secret leakage should this file ever be committed to a public version control system. Instead, passing credentials as [environment variables](#Environment variables) is considered best practice.
22
+ > ⚠️ **NOTE:** Hard-coding credentials is not recommended, and risks secret leakage should this file ever be committed to a public version control system. Instead, passing credentials as [environment variables](#environment-variables) is considered best practice.
23
23
 
24
24
  ### Environment variables
25
25
 
@@ -72,7 +72,9 @@ Boolean. When enabled, will allow the tool to delete resources. Default: `false`
72
72
 
73
73
  ### `AUTH0_EXCLUDED`
74
74
 
75
- Array of strings. Excludes entire resource types from being managed, bi-directionally. See also: [excluding resources from management](excluding-from-management.md). Possible values: `actions`, `attackProtection`, `branding`, `clientGrants`, `clients`, `connections`, `customDomains`, `databases`, `emailProvider`, `emailTemplates`, `guardianFactorProviders`, `guardianFactorTemplates`, `guardianFactors`, `guardianPhoneFactorMessageTypes`, `guardianPhoneFactorSelectedProvider`, `guardianPolicies`, `hooks`, `logStreams`, `migrations`, `organizations`, `pages`, `prompts`, `resourceServers`, `roles`, `rules`, `rulesConfigs`, `tenant`, `triggers`
75
+ Array of strings. Excludes entire resource types from being managed, bi-directionally. See also: [excluding resources from management](excluding-from-management.md). Possible values: `actions`, `attackProtection`, `branding`, `clientGrants`, `clients`, `connections`, `customDomains`, `databases`, `emailProvider`, `emailTemplates`, `guardianFactorProviders`, `guardianFactorTemplates`, `guardianFactors`, `guardianPhoneFactorMessageTypes`, `guardianPhoneFactorSelectedProvider`, `guardianPolicies`, `hooks`, `logStreams`, `migrations`, `organizations`, `pages`, `prompts`, `resourceServers`, `roles`, `rules`, `rulesConfigs`, `tenant`, `triggers`.
76
+
77
+ Cannot be used simultaneously with `AUTH0_INCLUDED_ONLY`.
76
78
 
77
79
  #### Example
78
80
 
@@ -82,6 +84,20 @@ Array of strings. Excludes entire resource types from being managed, bi-directio
82
84
  }
83
85
  ```
84
86
 
87
+ ### `AUTH0_INCLUDED_ONLY`
88
+
89
+ Array of strings. Dictates which resource types to _only_ manage, bi-directionally. See also: [excluding resources from management](excluding-from-management.md). Possible values: `actions`, `attackProtection`, `branding`, `clientGrants`, `clients`, `connections`, `customDomains`, `databases`, `emailProvider`, `emailTemplates`, `guardianFactorProviders`, `guardianFactorTemplates`, `guardianFactors`, `guardianPhoneFactorMessageTypes`, `guardianPhoneFactorSelectedProvider`, `guardianPolicies`, `hooks`, `logStreams`, `migrations`, `organizations`, `pages`, `prompts`, `resourceServers`, `roles`, `rules`, `rulesConfigs`, `tenant`, `triggers`
90
+
91
+ #### Example
92
+
93
+ ```json
94
+ {
95
+ "AUTH0_INCLUDED_ONLY": ["clients", "connections", "tenant", "branding"]
96
+ }
97
+ ```
98
+
99
+ Cannot be used simultaneously with `AUTH0_EXCLUDED`.
100
+
85
101
  ### `AUTH0_KEYWORD_REPLACE_MAPPINGS`
86
102
 
87
103
  Mapping of specific keywords to facilities dynamic replacement. See also: [keyword replacement](keyword-replacement.md).
@@ -10,13 +10,13 @@ For more complex tenants, you may find yourself wanting to omit entire resource
10
10
  - CI/CD process only focuses on managing roles, you may wish to exclude all others
11
11
  - Feature development pertains to hook, you may wish to temporarily exclude all others to optimize performance
12
12
 
13
- This type of exclusion is expressed by passing an array of resource names into the `AUTH0_EXCLUDED` configuration property. This exclusion works **bi-directionally**, that is, both when export from Auth0 and importing to Auth0, regardless if resource configuration files exist or not.
13
+ This type of exclusion is expressed by passing an array of resource names into either the `AUTH0_EXCLUDED` or `AUTH0_INCLUDED_ONLY` configuration properties. The `AUTH0_EXCLUDED` configuration property excludes only the resource types provided to it. Inversely, the `AUTH0_INCLUDED_ONLY` property excludes all properties except the ones defined. Exclusion works **bi-directionally**, that is, both when export from Auth0 and importing to Auth0, regardless if resource configuration files exist or not.
14
14
 
15
15
  All supported resource values for exclusion:
16
16
 
17
17
  `actions`, `attackProtection`, `branding`, `clientGrants`, `clients`, `connections`, `customDomains`, `databases`, `emailProvider`, `emailTemplates`, `guardianFactorProviders`, `guardianFactorTemplates`, `guardianFactors`, `guardianPhoneFactorMessageTypes`, `guardianPhoneFactorSelectedProvider`, `guardianPolicies`, `hooks`, `logStreams`, `migrations`, `organizations`, `pages`, `prompts`, `resourceServers`, `roles`, `rules`, `rulesConfigs`, `tenant`, `triggers`
18
18
 
19
- ### Example
19
+ ### Exclusion Example
20
20
 
21
21
  The following example excludes `clients`, `connections`, `databases` and `organizations` from being managed by the Deploy CLI. However, this example is arbitrary and your use case may require you to exclude less or more types.
22
22
 
@@ -28,6 +28,18 @@ The following example excludes `clients`, `connections`, `databases` and `organi
28
28
  }
29
29
  ```
30
30
 
31
+ ### Inclusion Example
32
+
33
+ The following example dictates to _only_ manage `actions`, `hooks` and `rules` by the Deploy CLI.
34
+
35
+ ```json
36
+ {
37
+ "AUTH0_DOMAIN": "example-site.us.auth0.com",
38
+ "AUTH0_CLIENT_ID": "<YOUR_AUTH0_CLIENT_ID>",
39
+ "AUTH0_INCLUDED_ONLY": ["actions", "hooks", "rules"]
40
+ }
41
+ ```
42
+
31
43
  ## Excluding single resources by ID
32
44
 
33
45
  Some resource types support exclusions of individual resource by ID. This is primarily useful if you work in a multi-environment context and wish to omit a production single, specific resource from your lower-level environments. The by-ID method of exclusion is supported for rules, clients, databases, connections and resource servers with the `AUTH0_EXCLUDED_RULES` ,`AUTH0_EXCLUDED_CLIENTS`, `AUTH0_EXCLUDED_DATABASES`, `AUTH0_EXCLUDED_CONNECTIONS`, `AUTH0_EXCLUDED_RESOURCE_SERVERS` configuration values respectively.
@@ -66,14 +78,17 @@ roles: # roles configuration is not omitted
66
78
 
67
79
  ### Empty
68
80
 
69
- Resource configuration that is explicitly defined as empty. For set-based configurations like hooks, organizations and actions, setting these configurations to an empty set expresses an intentional emptying of those resources. In practice, this would signal a deletion, so long as the [`AUTH0_ALLOW_DELETE` deletion configuration property](configuring-the-deploy-cli.md#AUTH0_ALLOW_DELETE) is enabled. For non-set-based resource configuration like tenant and branding, the concept of emptiness does not apply, will not trigger any deletions or removals.
81
+ Resource configuration that is explicitly defined as empty. For set-based configurations like hooks, organizations and actions, setting these configurations to an empty set expresses an intentional emptying of those resources. In practice, this would signal a deletion, so long as the [`AUTH0_ALLOW_DELETE` deletion configuration property](configuring-the-deploy-cli.md#AUTH0_ALLOW_DELETE) is enabled.
82
+
83
+ For non-set-based resource configuration like tenant, email provider and branding, the expected behavior when applying an explicitly empty configuration value will depend on the resource. The `tenant`, `branding`, `attackProtection`, and `guardianPhoneFactorSelectedProvider` resources cannot be deleted whereas the `emailProvider` resource can be deleted.
70
84
 
71
85
  #### Example of emptiness
72
86
 
73
87
  ```yaml
74
88
  hooks: [] # Empty hooks
75
89
  connections: [] # Empty connections
76
- tenant: {} # Effectively a no-op, emptiness does not apply to non-set resource config
90
+ tenant: {} # Effectively a no-op, cannot delete tenant
91
+ emailProvider: {} # Will delete email provider
77
92
  ```
78
93
 
79
94
  ---
@@ -44,3 +44,165 @@ prompts:
44
44
  pageTitle: 'Log in to ${clientName}'
45
45
  authenticatorNamesSMS: 'SMS'
46
46
  ```
47
+
48
+ ## Databases
49
+
50
+ When managing database connections, the values of `options.customScripts` point to specific javascript files relative to
51
+ the path of the output folder. Otherwise, the payload closely matches that of the [Management API](https://auth0.com/docs/api/management/v2#!/Connections/post_connections).
52
+
53
+ **YAML Example**
54
+
55
+ ```
56
+ Folder structure when in YAML mode.
57
+
58
+ ./databases/
59
+ /Username-Password-Authentication
60
+ /change_password.js
61
+ /create.js
62
+ /delete.js
63
+ /get_user.js
64
+ /login.js
65
+ /verify.js
66
+ ./tenant.yaml
67
+ ```
68
+
69
+ ```yaml
70
+ # Contents of ./tenant.yaml
71
+ databases:
72
+ - name: Username-Password-Authentication
73
+ # ...
74
+ options:
75
+ # ...
76
+ customScripts:
77
+ change_password: ./databases/Username-Password-Authentication/change_password.js
78
+ create: ./databases/Username-Password-Authentication/create.js
79
+ delete: ./databases/Username-Password-Authentication/delete.js
80
+ get_user: ./databases/Username-Password-Authentication/get_user.js
81
+ login: ./databases/Username-Password-Authentication/login.js
82
+ verify: ./databases/Username-Password-Authentication/verify.js
83
+ ```
84
+
85
+ **Directory Example**
86
+
87
+ ```
88
+ Folder structure when in directory mode.
89
+
90
+ ./database-connections/
91
+ ./Username-Password-Authentication/
92
+ ./change_password.js
93
+ ./create.js
94
+ ./database.json
95
+ ./delete.js
96
+ ./get_user.js
97
+ ./login.js
98
+ ./verify.js
99
+ ```
100
+
101
+
102
+ Contents of `database.json`
103
+ ```json
104
+ {
105
+ "options": {
106
+ "customScripts": {
107
+ "change_password": "./change_password.js",
108
+ "create": "./create.js",
109
+ "delete": "./delete.js",
110
+ "get_user": "./get_user.js",
111
+ "login": "./login.js",
112
+ "verify": "./verify.js"
113
+ }
114
+ }
115
+ }
116
+ ```
117
+
118
+ ## Universal Login
119
+
120
+ ### Pages
121
+
122
+ When overriding the Universal Login with custom HTML, the error, login, multi-factor authentication and password reset
123
+ contents are organized in specific HTML pages.
124
+
125
+ **YAML Example**
126
+
127
+ ```
128
+ Folder structure when in YAML mode.
129
+
130
+ ./pages/
131
+ /error_page.html
132
+ /guardian_multifactor.html
133
+ /login.html
134
+ /password_reset.html
135
+ ./tenant.yaml
136
+ ```
137
+
138
+ ```yaml
139
+ # Contents of ./tenant.yaml
140
+ pages:
141
+ - name: error_page
142
+ html: ./pages/error_page.html
143
+ show_log_link: false
144
+ url: https://mycompany.org/error
145
+ - name: guardian_multifactor
146
+ enabled: true
147
+ html: ./pages/guardian_multifactor.html
148
+ - name: login
149
+ enabled: false
150
+ html: ./pages/login.html
151
+ - name: password_reset
152
+ enabled: true
153
+ html: ./pages/password_reset.html
154
+ ```
155
+
156
+ **Directory Example**
157
+
158
+ ```
159
+ Folder structure when in directory mode.
160
+
161
+ ./pages/
162
+ ./error_page.html
163
+ ./error_page.json
164
+ ./guardian_multifactor.html
165
+ ./guardian_multifactor.json
166
+ ./login.html
167
+ ./login.json
168
+ ./password_reset.html
169
+ ./password_reset.json
170
+ ```
171
+
172
+
173
+ Contents of `login.json`
174
+ ```json
175
+ {
176
+ "name": "login",
177
+ "enabled": false,
178
+ "html": "./login.html"
179
+ }
180
+ ```
181
+
182
+ Contents of `error_page.json`
183
+ ```json
184
+ {
185
+ "html": "./error_page.html",
186
+ "show_log_link": false,
187
+ "url": "https://mycompany.org/error",
188
+ "name": "error_page"
189
+ }
190
+ ```
191
+
192
+ Contents of `guardian_multifactor.json`
193
+ ```json
194
+ {
195
+ "enabled": true,
196
+ "html": "./guardian_multifactor.html",
197
+ "name": "guardian_multifactor"
198
+ }
199
+ ```
200
+
201
+ Contents of `password_reset.json`
202
+ ```json
203
+ {
204
+ "enabled": true,
205
+ "html": "./password_reset.html",
206
+ "name": "password_reset"
207
+ }
208
+ ```
package/lib/args.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Config } from './types';
2
- declare type SharedParams = {
2
+ type SharedParams = {
3
3
  proxy_url?: string;
4
4
  debug?: boolean;
5
5
  config_file?: string;
@@ -8,17 +8,17 @@ declare type SharedParams = {
8
8
  base_path?: string;
9
9
  config?: Partial<Config>;
10
10
  };
11
- declare type ImportSpecificParams = {
11
+ type ImportSpecificParams = {
12
12
  input_file: string;
13
13
  };
14
- declare type ExportSpecificParams = {
14
+ type ExportSpecificParams = {
15
15
  format: 'yaml' | 'directory';
16
16
  output_folder: string;
17
17
  export_ids?: boolean;
18
18
  };
19
- export declare type ExportParams = ExportSpecificParams & SharedParams;
20
- export declare type ImportParams = ImportSpecificParams & SharedParams;
21
- export declare type CliParams = (ExportParams | ImportParams) & {
19
+ export type ExportParams = ExportSpecificParams & SharedParams;
20
+ export type ImportParams = ImportSpecificParams & SharedParams;
21
+ export type CliParams = (ExportParams | ImportParams) & {
22
22
  _: ['export' | 'import' | 'deploy' | 'dump'];
23
23
  };
24
24
  declare function getParams(): CliParams;
@@ -1,5 +1,5 @@
1
1
  import { Config } from './types';
2
- export declare type ConfigFunction = (arg0: keyof Config) => any;
2
+ export type ConfigFunction = (arg0: keyof Config) => any;
3
3
  export declare const configFactory: () => {
4
4
  (key: keyof Config): any;
5
5
  setProvider(providerFunction: ConfigFunction): void;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedActions = ParsedAsset<'actions', Asset[]>;
3
+ type ParsedActions = ParsedAsset<'actions', Asset[]>;
4
4
  declare const actionsHandler: DirectoryHandler<ParsedActions>;
5
5
  export default actionsHandler;
@@ -1,6 +1,6 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedAttackProtection = ParsedAsset<'attackProtection', {
3
+ type ParsedAttackProtection = ParsedAsset<'attackProtection', {
4
4
  breachedPasswordDetection: Asset;
5
5
  bruteForceProtection: Asset;
6
6
  suspiciousIpThrottling: Asset;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedBranding = ParsedAsset<'branding', Asset>;
3
+ type ParsedBranding = ParsedAsset<'branding', Asset>;
4
4
  declare const brandingHandler: DirectoryHandler<ParsedBranding>;
5
5
  export default brandingHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedClientGrants = ParsedAsset<'clientGrants', Asset[]>;
3
+ type ParsedClientGrants = ParsedAsset<'clientGrants', Asset[]>;
4
4
  declare const clientGrantsHandler: DirectoryHandler<ParsedClientGrants>;
5
5
  export default clientGrantsHandler;
@@ -38,9 +38,10 @@ function dump(context) {
38
38
  // Convert client_id to the client name for readability
39
39
  clientGrants.forEach((grant) => {
40
40
  const dumpGrant = Object.assign({}, grant);
41
- if (context.assets.clientsOrig)
41
+ if (context.assets.clientsOrig) {
42
42
  dumpGrant.client_id = (0, utils_1.convertClientIdToName)(dumpGrant.client_id, context.assets.clientsOrig);
43
- const name = (0, utils_1.sanitize)(`${dumpGrant.client_id} (${dumpGrant.audience})`);
43
+ }
44
+ const name = (0, utils_1.sanitize)(`${dumpGrant.client_id}`);
44
45
  const grantFile = path_1.default.join(grantsFolder, `${name}.json`);
45
46
  (0, utils_1.dumpJSON)(grantFile, dumpGrant);
46
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"clientGrants.js","sourceRoot":"","sources":["../../../../src/context/directory/handlers/clientGrants.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,0CAA2C;AAE3C,0CAOwB;AAOxB,SAAS,KAAK,CAAC,OAAyB;IACtC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAS,CAAC,wBAAwB,CAAC,CAAC;IACrF,IAAI,CAAC,IAAA,uBAAe,EAAC,YAAY,CAAC;QAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO;IAE1E,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,UAAU;SAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAEvE,OAAO;QACL,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAe,IAAI,CAAC,OAAyB;;QAC3C,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAExC,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,wBAAwB;QAEnD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAS,CAAC,wBAAwB,CAAC,CAAC;QACrF,kBAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAE/B,uDAAuD;QACvD,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,MAAM,SAAS,qBAAQ,KAAK,CAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW;gBAC5B,SAAS,CAAC,SAAS,GAAG,IAAA,6BAAqB,EAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAE/F,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;YAC1D,IAAA,gBAAQ,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAED,MAAM,mBAAmB,GAAyC;IAChE,KAAK;IACL,IAAI;CACL,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"clientGrants.js","sourceRoot":"","sources":["../../../../src/context/directory/handlers/clientGrants.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,0CAA2C;AAE3C,0CAOwB;AAOxB,SAAS,KAAK,CAAC,OAAyB;IACtC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAS,CAAC,wBAAwB,CAAC,CAAC;IACrF,IAAI,CAAC,IAAA,uBAAe,EAAC,YAAY,CAAC;QAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO;IAE1E,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,UAAU;SAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAEvE,OAAO;QACL,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAe,IAAI,CAAC,OAAyB;;QAC3C,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAExC,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,wBAAwB;QAEnD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAS,CAAC,wBAAwB,CAAC,CAAC;QACrF,kBAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAE/B,uDAAuD;QACvD,YAAY,CAAC,OAAO,CAAC,CAAC,KAAY,EAAE,EAAE;YACpC,MAAM,SAAS,qBAAQ,KAAK,CAAE,CAAC;YAE/B,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC9B,SAAS,CAAC,SAAS,GAAG,IAAA,6BAAqB,EAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;aAC9F;YAED,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;YAE1D,IAAA,gBAAQ,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAED,MAAM,mBAAmB,GAAyC;IAChE,KAAK;IACL,IAAI;CACL,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Asset, ParsedAsset } from '../../../types';
2
2
  import { DirectoryHandler } from '.';
3
- declare type ParsedClients = ParsedAsset<'clients', Asset[]>;
3
+ type ParsedClients = ParsedAsset<'clients', Asset[]>;
4
4
  declare const clientsHandler: DirectoryHandler<ParsedClients>;
5
5
  export default clientsHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedConnections = ParsedAsset<'connections', Asset[]>;
3
+ type ParsedConnections = ParsedAsset<'connections', Asset[]>;
4
4
  declare const connectionsHandler: DirectoryHandler<ParsedConnections>;
5
5
  export default connectionsHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedCustomDomains = ParsedAsset<'customDomains', Asset[]>;
3
+ type ParsedCustomDomains = ParsedAsset<'customDomains', Asset[]>;
4
4
  declare const customDomainsHandler: DirectoryHandler<ParsedCustomDomains>;
5
5
  export default customDomainsHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedDatabases = ParsedAsset<'databases', Asset[]>;
3
+ type ParsedDatabases = ParsedAsset<'databases', Asset[]>;
4
4
  declare const databasesHandler: DirectoryHandler<ParsedDatabases>;
5
5
  export default databasesHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedEmailProvider = ParsedAsset<'emailProvider', Asset>;
3
+ type ParsedEmailProvider = ParsedAsset<'emailProvider', Asset>;
4
4
  declare const emailProviderHandler: DirectoryHandler<ParsedEmailProvider>;
5
5
  export default emailProviderHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedEmailTemplates = ParsedAsset<'emailTemplates', Asset[]>;
3
+ type ParsedEmailTemplates = ParsedAsset<'emailTemplates', Asset[]>;
4
4
  declare const emailTemplatesHandler: DirectoryHandler<ParsedEmailTemplates>;
5
5
  export default emailTemplatesHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedGuardianFactorProviders = ParsedAsset<'guardianFactorProviders', Asset[]>;
3
+ type ParsedGuardianFactorProviders = ParsedAsset<'guardianFactorProviders', Asset[]>;
4
4
  declare const guardianFactorProvidersHandler: DirectoryHandler<ParsedGuardianFactorProviders>;
5
5
  export default guardianFactorProvidersHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedGuardianFactorTemplates = ParsedAsset<'guardianFactorTemplates', Asset[]>;
3
+ type ParsedGuardianFactorTemplates = ParsedAsset<'guardianFactorTemplates', Asset[]>;
4
4
  declare const guardianFactorTemplatesHandler: DirectoryHandler<ParsedGuardianFactorTemplates>;
5
5
  export default guardianFactorTemplatesHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedGuardianFactors = ParsedAsset<'guardianFactors', Asset[]>;
3
+ type ParsedGuardianFactors = ParsedAsset<'guardianFactors', Asset[]>;
4
4
  declare const guardianFactorsHandler: DirectoryHandler<ParsedGuardianFactors>;
5
5
  export default guardianFactorsHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedGuardianFactorMessageTypes = ParsedAsset<'guardianPhoneFactorMessageTypes', Asset>;
3
+ type ParsedGuardianFactorMessageTypes = ParsedAsset<'guardianPhoneFactorMessageTypes', Asset>;
4
4
  declare const guardianFactorMessageTypesHandler: DirectoryHandler<ParsedGuardianFactorMessageTypes>;
5
5
  export default guardianFactorMessageTypesHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedGuardianFactorSelectedProvider = ParsedAsset<'guardianPhoneFactorSelectedProvider', Asset>;
3
+ type ParsedGuardianFactorSelectedProvider = ParsedAsset<'guardianPhoneFactorSelectedProvider', Asset>;
4
4
  declare const guardianFactorSelectedProviderHandler: DirectoryHandler<ParsedGuardianFactorSelectedProvider>;
5
5
  export default guardianFactorSelectedProviderHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedGuardianPolicies = ParsedAsset<'guardianPolicies', Asset[]>;
3
+ type ParsedGuardianPolicies = ParsedAsset<'guardianPolicies', Asset[]>;
4
4
  declare const guardianPoliciesHandler: DirectoryHandler<ParsedGuardianPolicies>;
5
5
  export default guardianPoliciesHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedHooks = ParsedAsset<'hooks', Asset[]>;
3
+ type ParsedHooks = ParsedAsset<'hooks', Asset[]>;
4
4
  declare const hooksHandler: DirectoryHandler<ParsedHooks>;
5
5
  export default hooksHandler;
@@ -1,6 +1,6 @@
1
1
  import DirectoryContext from '..';
2
2
  import { AssetTypes, Asset } from '../../../types';
3
- export declare type DirectoryHandler<T> = {
3
+ export type DirectoryHandler<T> = {
4
4
  dump: (context: DirectoryContext) => void;
5
5
  parse: (context: DirectoryContext) => T;
6
6
  };
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedLogStreams = ParsedAsset<'logStreams', Asset[]>;
3
+ type ParsedLogStreams = ParsedAsset<'logStreams', Asset[]>;
4
4
  declare const logStreamsHandler: DirectoryHandler<ParsedLogStreams>;
5
5
  export default logStreamsHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedMigrations = ParsedAsset<'migrations', Asset[]>;
3
+ type ParsedMigrations = ParsedAsset<'migrations', Asset[]>;
4
4
  declare const migrationsHandler: DirectoryHandler<ParsedMigrations>;
5
5
  export default migrationsHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedOrganizations = ParsedAsset<'organizations', Asset[]>;
3
+ type ParsedOrganizations = ParsedAsset<'organizations', Asset[]>;
4
4
  declare const organizationsHandler: DirectoryHandler<ParsedOrganizations>;
5
5
  export default organizationsHandler;
@@ -1,6 +1,6 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { ParsedAsset } from '../../../types';
3
3
  import { Page } from '../../../tools/auth0/handlers/pages';
4
- declare type ParsedPages = ParsedAsset<'pages', Page[]>;
4
+ type ParsedPages = ParsedAsset<'pages', Page[]>;
5
5
  declare const pagesHandler: DirectoryHandler<ParsedPages>;
6
6
  export default pagesHandler;
@@ -1,6 +1,6 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { ParsedAsset } from '../../../types';
3
3
  import { Prompts } from '../../../tools/auth0/handlers/prompts';
4
- declare type ParsedPrompts = ParsedAsset<'prompts', Prompts>;
4
+ type ParsedPrompts = ParsedAsset<'prompts', Prompts>;
5
5
  declare const promptsHandler: DirectoryHandler<ParsedPrompts>;
6
6
  export default promptsHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedResourceServers = ParsedAsset<'resourceServers', Asset[]>;
3
+ type ParsedResourceServers = ParsedAsset<'resourceServers', Asset[]>;
4
4
  declare const resourceServersHandler: DirectoryHandler<ParsedResourceServers>;
5
5
  export default resourceServersHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedRoles = ParsedAsset<'roles', Asset[]>;
3
+ type ParsedRoles = ParsedAsset<'roles', Asset[]>;
4
4
  declare const rolesHandler: DirectoryHandler<ParsedRoles>;
5
5
  export default rolesHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from './index';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedRules = ParsedAsset<'rules', Asset[]>;
3
+ type ParsedRules = ParsedAsset<'rules', Asset[]>;
4
4
  declare const rulesHandler: DirectoryHandler<ParsedRules>;
5
5
  export default rulesHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedRulesConfigs = ParsedAsset<'rulesConfigs', Asset[]>;
3
+ type ParsedRulesConfigs = ParsedAsset<'rulesConfigs', Asset[]>;
4
4
  declare const rulesConfigsHandler: DirectoryHandler<ParsedRulesConfigs>;
5
5
  export default rulesConfigsHandler;
@@ -1,6 +1,6 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedTenant = ParsedAsset<'tenant', {
3
+ type ParsedTenant = ParsedAsset<'tenant', {
4
4
  session_lifetime: number;
5
5
  idle_session_lifetime: number;
6
6
  } & {
@@ -1,6 +1,6 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { ParsedAsset } from '../../../types';
3
3
  import { Theme } from '../../../tools/auth0/handlers/themes';
4
- declare type ParsedThemes = ParsedAsset<'themes', Theme[]>;
4
+ type ParsedThemes = ParsedAsset<'themes', Theme[]>;
5
5
  declare const themesHandler: DirectoryHandler<ParsedThemes>;
6
6
  export default themesHandler;
@@ -1,5 +1,5 @@
1
1
  import { DirectoryHandler } from '.';
2
2
  import { Asset, ParsedAsset } from '../../../types';
3
- declare type ParsedTriggers = ParsedAsset<'triggers', Asset[]>;
3
+ type ParsedTriggers = ParsedAsset<'triggers', Asset[]>;
4
4
  declare const triggersHandler: DirectoryHandler<ParsedTriggers>;
5
5
  export default triggersHandler;
@@ -1,5 +1,5 @@
1
1
  import { Assets, Auth0APIClient, Config } from '../../types';
2
- declare type KeywordMappings = {
2
+ type KeywordMappings = {
3
3
  [key: string]: (string | number)[] | string | number;
4
4
  };
5
5
  export default class DirectoryContext {
@@ -41,6 +41,7 @@ const readonly_1 = __importDefault(require("../../readonly"));
41
41
  const logger_1 = __importDefault(require("../../logger"));
42
42
  const handlers_1 = __importDefault(require("./handlers"));
43
43
  const utils_1 = require("../../utils");
44
+ const __1 = require("..");
44
45
  class DirectoryContext {
45
46
  constructor(config, mgmtClient) {
46
47
  this.filePath = config.AUTH0_INPUT_FILE;
@@ -78,6 +79,7 @@ class DirectoryContext {
78
79
  const excludedAssetTypes = this.config.AUTH0_EXCLUDED || [];
79
80
  return !excludedAssetTypes.includes(handlerName);
80
81
  })
82
+ .filter((0, __1.filterOnlyIncludedResourceTypes)(this.config.AUTH0_INCLUDED_ONLY))
81
83
  .forEach(([_name, handler]) => {
82
84
  const parsed = handler.parse(this);
83
85
  Object.entries(parsed).forEach(([k, v]) => {
@@ -110,6 +112,7 @@ class DirectoryContext {
110
112
  const excludedAssetTypes = this.config.AUTH0_EXCLUDED || [];
111
113
  return !excludedAssetTypes.includes(handlerName);
112
114
  })
115
+ .filter((0, __1.filterOnlyIncludedResourceTypes)(this.config.AUTH0_INCLUDED_ONLY))
113
116
  .map(([name, handler]) => __awaiter(this, void 0, void 0, function* () {
114
117
  try {
115
118
  yield handler.dump(this);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/directory/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,uCAAgE;AAEhE,8DAAyC;AACzC,0DAA+B;AAC/B,0DAAwD;AACxD,uCAAgF;AAKhF,MAAqB,gBAAgB;IAQnC,YAAY,MAAc,EAAE,UAA0B;QACpD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,8BAA8B,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,oBAAoB;QACpB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,qBAAqB;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG;YACpB,KAAK,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE;YACxC,OAAO,EAAE,MAAM,CAAC,sBAAsB,IAAI,EAAE;YAC5C,SAAS,EAAE,MAAM,CAAC,wBAAwB,IAAI,EAAE;YAChD,WAAW,EAAE,MAAM,CAAC,0BAA0B,IAAI,EAAE;YACpD,eAAe,EAAE,MAAM,CAAC,+BAA+B,IAAI,EAAE;YAC7D,QAAQ,EAAE,MAAM,CAAC,uBAAuB,IAAI,EAAE;SAC/C,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,CAAS,EAAE,MAAc;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAA,cAAM,EAAC,MAAM,CAAC,EAAE;YACnB,qCAAqC;YACrC,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,OAAO,IAAA,kCAA0B,EAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAEK,IAAI;;YACR,IAAI,IAAA,mBAAW,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC9B,iEAAiE;gBACjE,gBAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAElD,MAAM,CAAC,OAAO,CAAC,kBAAQ,CAAC;qBACrB,MAAM,CAAC,CAAC,CAAC,WAAW,CAAsC,EAAE,EAAE;oBAC7D,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;oBAC5D,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACnD,CAAC,CAAC;qBACD,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;oBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;wBACxC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACL,OAAO;aACR;YACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,QAAQ,8BAA8B,CAAC,CAAC;QAC5F,CAAC;KAAA;IAEK,IAAI;;YACR,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAA,kBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/E,gBAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAE3B,+BAA+B;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEpD,qFAAqF;YACrF,mFAAmF;YACnF,oEAAoE;YACpE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YAE3D,+BAA+B;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE;gBACzC,IAAI,CAAC,MAAM,GAAG,IAAA,wBAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aACpD;YAED,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,kBAAQ,CAAC;iBACrB,MAAM,CAAC,CAAC,CAAC,WAAW,CAAsC,EAAE,EAAE;gBAC7D,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;gBAC5D,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACnD,CAAC,CAAC;iBACD,GAAG,CAAC,CAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC7B,IAAI;oBACF,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC1B;gBAAC,OAAO,GAAG,EAAE;oBACZ,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;iBAC9C;YACH,CAAC,CAAA,CAAC,CACL,CAAC;QACJ,CAAC;KAAA;CACF;AA7FD,mCA6FC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/directory/index.ts"],"names":[],"mappings":"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"}